[Logo] Terracotta Discussion Forums (LEGACY READ-ONLY ARCHIVE)
  [Search] Search   [Recent Topics] Recent Topics   [Members]  Member Listing   [Groups] Back to home page 
[Register] Register / 
[Login] Login 
[Expert]
java.lang.StackOverflowError  XML
Forum Index -> Terracotta for Web Sessions
Author Message
narendra

neo

Joined: 07/30/2007 12:51:51
Messages: 6
Offline

hi,

i am clustering my application httpsession using session cofigurator.
when i click edit on somepage, below exception is thrown.
plz help me.

regards
-narendra



java.lang.StackOverflowError
at com.tc.util.Util.printLogAndMaybeRethrowError(Util.java:51)
at com.tc.util.Util.printLogAndRethrowError(Util.java:42)
at com.tc.object.bytecode.ManagerImpl.lookupExistingOrNull(ManagerImpl.java:603)
at com.tc.object.bytecode.ManagerUtil.lookupExistingOrNull(ManagerUtil.java:130)
at java.util.concurrent.ConcurrentHashMap.__tc_isDsoHashRequired(ConcurrentHashMap.java:639)
at java.util.concurrent.ConcurrentHashMap.get(ConcurrentHashMap.java)
at java.io.ObjectStreamClass.lookup(ObjectStreamClass.java:255)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1035)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:302)
at javax.swing.tree.DefaultMutableTreeNode.writeObject(DefaultMutableTreeNode.java:1272)
kbhasin

consul

Joined: 12/04/2006 13:08:21
Messages: 340
Offline

Hello narendra,

Which container are you running this application under? Is this is web-application? I wanted to make sure since I saw references to Java Swing library in the stack trace.

Regards,

Kunal Bhasin,
Terracotta, Inc.

Be a part of the Terracotta community: Join now!
narendra

neo

Joined: 07/30/2007 12:51:51
Messages: 6
Offline

Hi,

i am using apache-tomcat-5.5.23 server.
my application is build upon springmcv,spring,hibernate.

it is not a swingbased application.

i increase the heap size aslo.

still it is giving me the error.

in below method it is throwing error at this statement
request.getSession().setAttribute("oscDemoQuestionSet", oscMagazineInfo.getOscDemoQuestionses());

Regards
-narendra
==============================================


protected void initinder(HttpServletRequest request, ServletRequestDataBinder binder) throws Exception {

super.initBinder(request, binder);
ArrayList list = (ArrayList)getServletContext().getAttribute("catOscCybersourceMerchants");
if(list!=null){
request.setAttribute("cybersourceMerchantsList", list);
}

ArrayList fullFillmentList =(ArrayList)getServletContext().getAttribute("catOscFulfillmentHouse");
if(fullFillmentList !=null){
request.setAttribute("fullfillmenthouse", fullFillmentList);
}

ArrayList storeCategoryList =(ArrayList)getServletContext().getAttribute("catOscStoreCategories");

if(storeCategoryList !=null){
request.setAttribute("storeCategoryList", storeCategoryList);
}

ArrayList activeCsOptionList=(ArrayList)getServletContext().getAttribute("catOscActiveCsOptions");
if(activeCsOptionList !=null){
request.setAttribute("activeCsOptionList",activeCsOptionList);
}

if(oscMagazineInfo.getOscMagazineTermses()!=null){
request.setAttribute("termList", oscMagazineInfo.getOscMagazineTermses());

}else{
request.setAttribute("termList", (ArrayList)getUniOfferTerms());
}


ArrayList payList=(ArrayList)getServletContext().getAttribute("catOscPaymentTypes");
if(payList!=null && payList.size()>0){
request.setAttribute("oscPayTypeList",payList);
}



request.setAttribute("demoQuestionList", oscMagazineInfo.getOscDemoQuestionses());


request.setAttribute("setActiveCsOption",(ArrayList)MagazineUtil.createActiveCsOptionsList(oscMagazineInfo));


List acceptPayementTypeList= MagazineUtil.createAcceptedPaymentsTypesList(oscMagazineInfo);
if(acceptPayementTypeList!=null){
request.setAttribute("accepted",acceptPayementTypeList);
}

//Putting Demoquestion in session
request.getSession().setAttribute("oscDemoQuestionSet", oscMagazineInfo.getOscDemoQuestionses());
//Putting Magazine terms set in session
request.getSession().setAttribute("oscMagazineTermsSet",oscMagazineInfo.getOscMagazineTermses());

binder.registerCustomEditor(Integer.class, new CustomNumberEditor(Integer.class, true));

}
kbhasin

consul

Joined: 12/04/2006 13:08:21
Messages: 340
Offline

Hi Narendra,

Can you please post the version of Terracotta you are using? Thanks!

Regards,

Kunal Bhasin,
Terracotta, Inc.

Be a part of the Terracotta community: Join now!
narendra

neo

Joined: 07/30/2007 12:51:51
Messages: 6
Offline

i am using 2.4 version.

Regards
-Narendra
gkeim

ophanim

Joined: 12/05/2006 10:22:37
Messages: 685
Location: Terracotta, Inc.
Offline

What is happening is that the Session Configurator is trying to show you a dialog that displays the object graph of your oscDemoQuestionSet because there are some objects in that graph that are not portable.

Here is an example of the dialog from the online docs:

http://www.terracotta.org/confluence/display/docdraft/Sessions+Configurator+Reference+Guide#SessionsConfiguratorReferenceGuide-SessionsProblemFeedback

Either there is a very large set of non-portable objects in that graph or there is a bug in the handling of that graph, such an infinite-loop.

By default, the non-portable object graph is also printed to your client logs. Look in the logs for the printed graph and post it here. It will help pinpoint the problem.


Gary Keim (terracotta developer) Want to post to this forum? Join the Terracotta Community
gkeim

ophanim

Joined: 12/05/2006 10:22:37
Messages: 685
Location: Terracotta, Inc.
Offline

One more thing you do is limit the depth of the non-portable object graph that will be displayed by passing the Java system property org.terracotta.non-portable.max-walk-depth to your client:

-Dorg.terracotta.non-portable.max-walk-depth=2

This will limit the graph depth to 2 levels.

Gary Keim (terracotta developer) Want to post to this forum? Join the Terracotta Community
 
Forum Index -> Terracotta for Web Sessions
Go to:   
Powered by JForum 2.1.7 © JForum Team