Author |
Message |
08/03/2007 11:27:41
|
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)
|
|
|
08/03/2007 13:21:04
|
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! |
|
|
08/04/2007 06:29:32
|
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));
}
|
|
|
08/04/2007 09:03:43
|
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! |
|
|
08/06/2007 11:25:27
|
narendra
neo
Joined: 07/30/2007 12:51:51
Messages: 6
Offline
|
i am using 2.4 version.
Regards
-Narendra
|
|
|
08/06/2007 12:31:37
|
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 |
|
|
08/08/2007 11:58:54
|
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 |
|
|
|