[
http://jira.jboss.com/jira/browse/JBCACHE-694?page=comments#action_12339576 ]
Manik Surtani commented on JBCACHE-694:
---------------------------------------
Wow - and it's recursive too. The stack traces keep on rolling, until the stack
overflows.
Looks like something with the aop collection proxy or one of the related interceptors.
Collection added to itself causes stack explosion in toString()
---------------------------------------------------------------
Key: JBCACHE-694
URL:
http://jira.jboss.com/jira/browse/JBCACHE-694
Project: JBoss Cache
Issue Type: Bug
Security Level: Public(Everyone can see)
Components: PojoCache
Affects Versions: 1.3.0.SP1, 1.3.0.SP2, 1.3.0, 1.4.0, 1.2.4SP2, 1.2.4SP1, 1.2.4,
1.2.4beta, 1.2.3, 1.2.2, 1.2.1, 1.2
Reporter: Bela Ban
Assigned To: Manik Surtani
This works in plain Java.
How to reproduce:
- runShellDemo.sh/bat
sourceRelative("aopWithTx.bsh");
tree.putObject("list", new ArrayList());
list=tree.getObject("list");
list.add(list);
list.toString();
BOOOM
Some of the exception trace:
java.lang.StackOverflowError
at org.jboss.cache.Fqn.get(Fqn.java:257)
at org.jboss.cache.TreeCache.findNode(TreeCache.java:5606)
at org.jboss.cache.TreeCache.findNode(TreeCache.java:5577)
at org.jboss.cache.TreeCache._get(TreeCache.java:3457)
at org.jboss.cache.aop.InternalDelegate.get(InternalDelegate.java:126)
at
org.jboss.cache.aop.InternalDelegate.getAopInstanceWithGravitation(InternalDelegate.java:78)
at
org.jboss.cache.aop.InternalDelegate.getPojoWithGravitation(InternalDelegate.java:231)
at org.jboss.cache.aop.TreeCacheAopDelegate._getObject(TreeCacheAopDelegate.java:74)
at org.jboss.cache.aop.PojoCache._getObject(PojoCache.java:722)
at org.jboss.cache.aop.PojoCache.getObject(PojoCache.java:416)
at org.jboss.cache.aop.collection.CachedListImpl.get(CachedListImpl.java:56)
at
org.jboss.cache.aop.collection.CachedListAbstract.toString(CachedListAbstract.java:155)
at sun.reflect.GeneratedMethodAccessor9.invoke(Unknown Source)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at
org.jboss.cache.aop.collection.CollectionInterceptorUtil.invoke(CollectionInterceptorUtil.java:124)
at
org.jboss.cache.aop.collection.CachedListInterceptor.invoke(CachedListInterceptor.java:132)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:98)
at AOPClassProxy$0.toString(AOPClassProxy$0.java)
at java.lang.String.valueOf(String.java:2615)
at java.lang.StringBuffer.append(StringBuffer.java:220)
at
org.jboss.cache.aop.collection.CachedListAbstract.toString(CachedListAbstract.java:156)
at sun.reflect.GeneratedMethodAccessor9.invoke(Unknown Source)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at
org.jboss.cache.aop.collection.CollectionInterceptorUtil.invoke(CollectionInterceptorUtil.java:124)
at
org.jboss.cache.aop.collection.CachedListInterceptor.invoke(CachedListInterceptor.java:132)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:98)
at AOPClassProxy$0.toString(AOPClassProxy$0.java)
at java.lang.String.valueOf(String.java:2615)
at java.lang.StringBuffer.append(StringBuffer.java:220)
at
org.jboss.cache.aop.collection.CachedListAbstract.toString(CachedListAbstract.java:156)
at sun.reflect.GeneratedMethodAccessor9.invoke(Unknown Source)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at
org.jboss.cache.aop.collection.CollectionInterceptorUtil.invoke(CollectionInterceptorUtil.java:124)
at
org.jboss.cache.aop.collection.CachedListInterceptor.invoke(CachedListInterceptor.java:132)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:98)
at AOPClassProxy$0.toString(AOPClassProxy$0.java)
at java.lang.String.valueOf(String.java:2615)
at java.lang.StringBuffer.append(StringBuffer.java:220)
at
org.jboss.cache.aop.collection.CachedListAbstract.toString(CachedListAbstract.java:156)
at sun.reflect.GeneratedMethodAccessor9.invoke(Unknown Source)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at
org.jboss.cache.aop.collection.CollectionInterceptorUtil.invoke(CollectionInterceptorUtil.java:124)
at
org.jboss.cache.aop.collection.CachedListInterceptor.invoke(CachedListInterceptor.java:132)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:98)
at AOPClassProxy$0.toString(AOPClassProxy$0.java)
at java.lang.String.valueOf(String.java:2615)
at java.lang.StringBuffer.append(StringBuffer.java:220)
at
org.jboss.cache.aop.collection.CachedListAbstract.toString(CachedListAbstract.java:156)
at sun.reflect.GeneratedMethodAccessor9.invoke(Unknown Source)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at
org.jboss.cache.aop.collection.CollectionInterceptorUtil.invoke(CollectionInterceptorUtil.java:124)
at
org.jboss.cache.aop.collection.CachedListInterceptor.invoke(CachedListInterceptor.java:132)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:98)
at AOPClassProxy$0.toString(AOPClassProxy$0.java)
at java.lang.String.valueOf(String.java:2615)
at java.lang.StringBuffer.append(StringBuffer.java:220)
at
org.jboss.cache.aop.collection.CachedListAbstract.toString(CachedListAbstract.java:156)
at sun.reflect.GeneratedMethodAccessor9.invoke(Unknown Source)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at
org.jboss.cache.aop.collection.CollectionInterceptorUtil.invoke(CollectionInterceptorUtil.java:124)
at
org.jboss.cache.aop.collection.CachedListInterceptor.invoke(CachedListInterceptor.java:132)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:98)
at AOPClassProxy$0.toString(AOPClassProxy$0.java)
at java.lang.String.valueOf(String.java:2615)
at java.lang.StringBuffer.append(StringBuffer.java:220)
at
org.jboss.cache.aop.collection.CachedListAbstract.toString(CachedListAbstract.java:156)
at sun.reflect.GeneratedMethodAccessor9.invoke(Unknown Source)
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira