net.sf.morph.transform.TransformationException: Unable to perform graph transformation

Spring JIRA | Matthew Sgarlata | 1 decade ago
  1. 0

    Hessian automatically swallows errors and their stack traces, serializes the information, and sends it to the client. This makes it very difficult to tell whether an error is occuring on the server or on the remote client. The only solution I can think of to this problem is instead of passing the service specified by the user of the HessianServiceExporter unchanged to Hessian, pass a proxy that intercepts exceptions and logs them. Do you have any other ideas? Just to give you an idea of how insane it is to try to debug when Hessian swallows error messages, here is an example that cost me a few hours today: Exception reported in client applet: Error editing strategy map - net.sf.morph.transform.TransformationException: Unable to perform graph transformation net.sf.morph.transform.TransformationException: Unable to perform graph transformation at net.sf.morph.transform.transformers.DelegatingTransformer.transformGraph(DelegatingTransformer.java:383) at net.sf.morph.transform.copiers.PropertyNameMatchingCopier.copyImpl(PropertyNameMatchingCopier.java:85) at net.sf.morph.transform.transformers.BaseTransformer.copy(BaseTransformer.java:322) at net.sf.morph.transform.transformers.DelegatingTransformer.convertImpl(DelegatingTransformer.java:175) at net.sf.morph.transform.transformers.BaseTransformer.convert(BaseTransformer.java:225) at net.sf.morph.transform.transformers.BaseTransformer.convert(BaseTransformer.java:237) at com.spider.scoreboard.remote.RMIStrategyMapImpl.getPerformanceChart(RMIStrategyMapImpl.java:99) at com.spider.scoreboard.remote.RMIStrategyMapImpl$$FastClassByCGLIB$$95e564a5.invoke(<generated>) at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:149) at org.springframework.aop.framework.Cglib2AopProxy$CglibMethodInvocation.invokeJoinpoint(Cglib2AopProxy.java:661) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:122) at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:56) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:144) at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:56) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:144) at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:56) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:144) at org.springframework.aop.framework.Cglib2AopProxy$DynamicAdvisedInterceptor.intercept(Cglib2AopProxy.java:606) at com.spider.scoreboard.remote.RMIStrategyMapImpl$$EnhancerByCGLIB$$f90bf109.getPerformanceChart(<generated>) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:324) at com.caucho.hessian.server.HessianSkeleton.invoke(HessianSkeleton.java:141) at org.springframework.remoting.caucho.HessianServiceExporter.handleRequest(HessianServiceExporter.java:87) at com.spider.scoreboard.framework.ScoreboardServiceExporter.handleRequest(ScoreboardServiceExporter.java:18) at org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:44) at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:675) at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:623) at org.springframework.web.servlet.FrameworkServlet.serviceWrapper(FrameworkServlet.java:384) at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:353) at javax.servlet.http.HttpServlet.service(HttpServlet.java:709) at javax.servlet.http.HttpServlet.service(HttpServlet.java:802) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:237) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157) at com.spider.scoreboard.framework.springx.ScoreboardOpenSessionInViewFilter.doFilterInternal(ScoreboardOpenSessionInViewFilter.java:67) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:186) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157) at net.sf.morph.web.MorphFilter.doFilter(MorphFilter.java:43) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:186) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157) at com.spider.scoreboard.framework.RequestLogFilter.doFilter(RequestLogFilter.java:34) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:186) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214) at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520) at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:198) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:152) at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137) at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:118) at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929) at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705) at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577) at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683) at java.lang.Thread.run(Thread.java:534) Caused by: net.sf.morph.transform.TransformationException: Unable to perform graph transformation ... 67 more Caused by: net.sf.morph.transform.TransformationException: Unable to perform graph transformation ... 67 more Caused by: net.sf.morph.transform.TransformationException: Unable to perform graph transformation ... 67 more Caused by: net.sf.morph.transform.TransformationException: Unable to perform graph transformation ... 67 more Caused by: net.sf.morph.transform.TransformationException: Unable to perform graph transformation ... 67 more Caused by: net.sf.morph.transform.TransformationException: Unable to perform graph transformation ... 67 more Caused by: net.sf.morph.transform.TransformationException: Unable to perform graph transformation ... 67 more Caused by: net.sf.morph.transform.TransformationException: Unable to perform graph transformation ... 67 more Caused by: net.sf.morph.transform.TransformationException: Unable to perform graph transformation ... 67 more Caused by: net.sf.morph.transform.TransformationException: Unable to perform graph transformation ... 67 more Caused by: net.sf.morph.transform.TransformationException: Unable to perform graph transformation ... 67 more Caused by: net.sf.morph.transform.TransformationException: Unable to perform graph transformation ... 67 more Caused by: net.sf.morph.transform.TransformationException: Unable to perform graph transformation ... 67 more Caused by: net.sf.morph.transform.TransformationException: Unable to perform graph transformation ... 67 more Caused by: net.sf.morph.transform.TransformationException: Unable to perform graph transformation ... 67 more Caused by: net.sf.morph.transform.TransformationException: Unable to perform graph transformation ... 67 more Caused by: net.sf.morph.transform.TransformationException: Unable to perform graph transformation ... 67 more Caused by: net.sf.morph.transform.TransformationException: Unable to perform graph transformationjava.lang.StackOverflowError Here is the actual exception which happens when the code is run locally and not exported by Hessian: net.sf.morph.transform.TransformationException: Unable to perform graph transformation at net.sf.morph.transform.transformers.DelegatingTransformer.transformGraph(DelegatingTransformer.java:337) at net.sf.morph.transform.copiers.PropertyNameMatchingCopier.copyImpl(PropertyNameMatchingCopier.java:86) at net.sf.morph.transform.transformers.BaseTransformer.copy(BaseTransformer.java:345) at net.sf.morph.transform.transformers.DelegatingTransformer.convertImpl(DelegatingTransformer.java:178) at net.sf.morph.transform.transformers.BaseTransformer.convert(BaseTransformer.java:248) at net.sf.morph.transform.transformers.BaseTransformer.convert(BaseTransformer.java:260) at com.spider.scoreboard.remote.RMIStrategyMapImpl.getPerformanceChart(RMIStrategyMapImpl.java:96) at com.spider.scoreboard.remote.RMIStrategyMapImpl$$FastClassByCGLIB$$95e564a5.invoke(<generated>) at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:149) at org.springframework.aop.framework.Cglib2AopProxy$CglibMethodInvocation.invokeJoinpoint(Cglib2AopProxy.java:661) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:122) at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:57) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:144) at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:57) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:144) at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:57) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:144) at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:57) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:144) at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:57) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:144) at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:57) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:144) at org.springframework.aop.framework.Cglib2AopProxy$DynamicAdvisedInterceptor.intercept(Cglib2AopProxy.java:606) at com.spider.scoreboard.remote.RMIStrategyMapImpl$$EnhancerByCGLIB$$72777564.getPerformanceChart(<generated>) at com.spider.scoreboard.ScoreboardCommandlineLauncher.main(ScoreboardCommandlineLauncher.java:63) at com.spider.scoreboard.ScoreboardCommandlineLauncher$$FastClassByCGLIB$$fcbd33cd.invoke(<generated>) at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:149) at org.springframework.aop.framework.Cglib2AopProxy$CglibMethodInvocation.invokeJoinpoint(Cglib2AopProxy.java:661) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:122) at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:57) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:144) at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:57) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:144) at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:57) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:144) at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:57) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:144) at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:57) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:144) at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:57) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:144) at org.springframework.aop.framework.Cglib2AopProxy$DynamicAdvisedInterceptor.intercept(Cglib2AopProxy.java:606) at com.spider.scoreboard.ScoreboardCommandlineLauncher$$EnhancerByCGLIB$$474f134c.main(<generated>) at com.spider.scoreboard.framework.Launcher.launch(Launcher.java:58) at com.spider.scoreboard.ScoreboardCommandlineLauncher.main(ScoreboardCommandlineLauncher.java:67) Caused by: net.sf.morph.transform.TransformationException: Unable to perform graph transformation at net.sf.morph.transform.transformers.DelegatingTransformer.transformGraph(DelegatingTransformer.java:337) at net.sf.morph.transform.copiers.ContainerCopier.put(ContainerCopier.java:141) at net.sf.morph.transform.copiers.ContainerCopier.copyImpl(ContainerCopier.java:194) at net.sf.morph.transform.transformers.BaseTransformer.copy(BaseTransformer.java:345) at net.sf.morph.transform.transformers.DelegatingTransformer.convertImpl(DelegatingTransformer.java:178) at net.sf.morph.transform.transformers.DelegatingTransformer.transformGraph(DelegatingTransformer.java:334) ... 45 more Caused by: net.sf.morph.transform.TransformationException: Error copying source com.spider.scoreboard.hdao.impl.PerformanceChartEdgeHDao@198046 (class com.spider.scoreboard.hdao.impl.PerformanceChartEdgeHDao) to destination com.spider.scoreboard.hdao.impl.PerformanceChartEdgeHDao@1af1915 (class com.spider.scoreboard.hdao.impl.PerformanceChartEdgeHDao) at net.sf.morph.transform.transformers.BaseTransformer.copy(BaseTransformer.java:351) at net.sf.morph.transform.transformers.DelegatingTransformer.convertImpl(DelegatingTransformer.java:178) at net.sf.morph.transform.transformers.DelegatingTransformer.transformGraph(DelegatingTransformer.java:334) ... 50 more Caused by: net.sf.hibernate.LazyInitializationException: Exception initializing proxy: [com.spider.scoreboard.hdao.impl.PerformanceChartNodeHDao#6] at net.sf.hibernate.proxy.LazyInitializer.initializeWrapExceptions(LazyInitializer.java:64) at net.sf.hibernate.proxy.LazyInitializer.getImplementation(LazyInitializer.java:164) at net.sf.hibernate.proxy.CGLIBLazyInitializer.intercept(CGLIBLazyInitializer.java:108) at com.spider.scoreboard.hdao.IPerformanceChartNode$$EnhancerByCGLIB$$d8424119.toString(<generated>) at java.lang.String.valueOf(String.java:2131) at java.lang.StringBuffer.append(StringBuffer.java:370) at net.sf.composite.util.ObjectUtils.getObjectDescription(ObjectUtils.java:37) at net.sf.morph.transform.transformers.DelegatingTransformer.transformGraph(DelegatingTransformer.java:329) at net.sf.morph.transform.copiers.PropertyNameMatchingCopier.copyImpl(PropertyNameMatchingCopier.java:86) at net.sf.morph.transform.transformers.BaseTransformer.copy(BaseTransformer.java:345) ... 52 more Caused by: net.sf.hibernate.ObjectNotFoundException: No row with the given identifier exists: 6, of class: com.spider.scoreboard.hdao.impl.PerformanceChartNodeHDao at net.sf.hibernate.ObjectNotFoundException.throwIfNull(ObjectNotFoundException.java:24) at net.sf.hibernate.impl.SessionImpl.immediateLoad(SessionImpl.java:1946) at net.sf.hibernate.proxy.LazyInitializer.initialize(LazyInitializer.java:53) at net.sf.hibernate.proxy.LazyInitializer.initializeWrapExceptions(LazyInitializer.java:60) ... 61 more I have no idea how Hessian managed to do a StackOverflow, but as you can see, the two error messages don't seem to have any relation to each other. Confusing!!!

    Spring JIRA | 1 decade ago | Matthew Sgarlata
    net.sf.morph.transform.TransformationException: Unable to perform graph transformation
  2. 0

    Hessian automatically swallows errors and their stack traces, serializes the information, and sends it to the client. This makes it very difficult to tell whether an error is occuring on the server or on the remote client. The only solution I can think of to this problem is instead of passing the service specified by the user of the HessianServiceExporter unchanged to Hessian, pass a proxy that intercepts exceptions and logs them. Do you have any other ideas? Just to give you an idea of how insane it is to try to debug when Hessian swallows error messages, here is an example that cost me a few hours today: Exception reported in client applet: Error editing strategy map - net.sf.morph.transform.TransformationException: Unable to perform graph transformation net.sf.morph.transform.TransformationException: Unable to perform graph transformation at net.sf.morph.transform.transformers.DelegatingTransformer.transformGraph(DelegatingTransformer.java:383) at net.sf.morph.transform.copiers.PropertyNameMatchingCopier.copyImpl(PropertyNameMatchingCopier.java:85) at net.sf.morph.transform.transformers.BaseTransformer.copy(BaseTransformer.java:322) at net.sf.morph.transform.transformers.DelegatingTransformer.convertImpl(DelegatingTransformer.java:175) at net.sf.morph.transform.transformers.BaseTransformer.convert(BaseTransformer.java:225) at net.sf.morph.transform.transformers.BaseTransformer.convert(BaseTransformer.java:237) at com.spider.scoreboard.remote.RMIStrategyMapImpl.getPerformanceChart(RMIStrategyMapImpl.java:99) at com.spider.scoreboard.remote.RMIStrategyMapImpl$$FastClassByCGLIB$$95e564a5.invoke(<generated>) at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:149) at org.springframework.aop.framework.Cglib2AopProxy$CglibMethodInvocation.invokeJoinpoint(Cglib2AopProxy.java:661) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:122) at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:56) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:144) at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:56) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:144) at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:56) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:144) at org.springframework.aop.framework.Cglib2AopProxy$DynamicAdvisedInterceptor.intercept(Cglib2AopProxy.java:606) at com.spider.scoreboard.remote.RMIStrategyMapImpl$$EnhancerByCGLIB$$f90bf109.getPerformanceChart(<generated>) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:324) at com.caucho.hessian.server.HessianSkeleton.invoke(HessianSkeleton.java:141) at org.springframework.remoting.caucho.HessianServiceExporter.handleRequest(HessianServiceExporter.java:87) at com.spider.scoreboard.framework.ScoreboardServiceExporter.handleRequest(ScoreboardServiceExporter.java:18) at org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:44) at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:675) at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:623) at org.springframework.web.servlet.FrameworkServlet.serviceWrapper(FrameworkServlet.java:384) at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:353) at javax.servlet.http.HttpServlet.service(HttpServlet.java:709) at javax.servlet.http.HttpServlet.service(HttpServlet.java:802) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:237) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157) at com.spider.scoreboard.framework.springx.ScoreboardOpenSessionInViewFilter.doFilterInternal(ScoreboardOpenSessionInViewFilter.java:67) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:186) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157) at net.sf.morph.web.MorphFilter.doFilter(MorphFilter.java:43) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:186) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157) at com.spider.scoreboard.framework.RequestLogFilter.doFilter(RequestLogFilter.java:34) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:186) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214) at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520) at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:198) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:152) at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137) at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:118) at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929) at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705) at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577) at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683) at java.lang.Thread.run(Thread.java:534) Caused by: net.sf.morph.transform.TransformationException: Unable to perform graph transformation ... 67 more Caused by: net.sf.morph.transform.TransformationException: Unable to perform graph transformation ... 67 more Caused by: net.sf.morph.transform.TransformationException: Unable to perform graph transformation ... 67 more Caused by: net.sf.morph.transform.TransformationException: Unable to perform graph transformation ... 67 more Caused by: net.sf.morph.transform.TransformationException: Unable to perform graph transformation ... 67 more Caused by: net.sf.morph.transform.TransformationException: Unable to perform graph transformation ... 67 more Caused by: net.sf.morph.transform.TransformationException: Unable to perform graph transformation ... 67 more Caused by: net.sf.morph.transform.TransformationException: Unable to perform graph transformation ... 67 more Caused by: net.sf.morph.transform.TransformationException: Unable to perform graph transformation ... 67 more Caused by: net.sf.morph.transform.TransformationException: Unable to perform graph transformation ... 67 more Caused by: net.sf.morph.transform.TransformationException: Unable to perform graph transformation ... 67 more Caused by: net.sf.morph.transform.TransformationException: Unable to perform graph transformation ... 67 more Caused by: net.sf.morph.transform.TransformationException: Unable to perform graph transformation ... 67 more Caused by: net.sf.morph.transform.TransformationException: Unable to perform graph transformation ... 67 more Caused by: net.sf.morph.transform.TransformationException: Unable to perform graph transformation ... 67 more Caused by: net.sf.morph.transform.TransformationException: Unable to perform graph transformation ... 67 more Caused by: net.sf.morph.transform.TransformationException: Unable to perform graph transformation ... 67 more Caused by: net.sf.morph.transform.TransformationException: Unable to perform graph transformationjava.lang.StackOverflowError Here is the actual exception which happens when the code is run locally and not exported by Hessian: net.sf.morph.transform.TransformationException: Unable to perform graph transformation at net.sf.morph.transform.transformers.DelegatingTransformer.transformGraph(DelegatingTransformer.java:337) at net.sf.morph.transform.copiers.PropertyNameMatchingCopier.copyImpl(PropertyNameMatchingCopier.java:86) at net.sf.morph.transform.transformers.BaseTransformer.copy(BaseTransformer.java:345) at net.sf.morph.transform.transformers.DelegatingTransformer.convertImpl(DelegatingTransformer.java:178) at net.sf.morph.transform.transformers.BaseTransformer.convert(BaseTransformer.java:248) at net.sf.morph.transform.transformers.BaseTransformer.convert(BaseTransformer.java:260) at com.spider.scoreboard.remote.RMIStrategyMapImpl.getPerformanceChart(RMIStrategyMapImpl.java:96) at com.spider.scoreboard.remote.RMIStrategyMapImpl$$FastClassByCGLIB$$95e564a5.invoke(<generated>) at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:149) at org.springframework.aop.framework.Cglib2AopProxy$CglibMethodInvocation.invokeJoinpoint(Cglib2AopProxy.java:661) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:122) at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:57) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:144) at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:57) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:144) at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:57) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:144) at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:57) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:144) at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:57) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:144) at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:57) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:144) at org.springframework.aop.framework.Cglib2AopProxy$DynamicAdvisedInterceptor.intercept(Cglib2AopProxy.java:606) at com.spider.scoreboard.remote.RMIStrategyMapImpl$$EnhancerByCGLIB$$72777564.getPerformanceChart(<generated>) at com.spider.scoreboard.ScoreboardCommandlineLauncher.main(ScoreboardCommandlineLauncher.java:63) at com.spider.scoreboard.ScoreboardCommandlineLauncher$$FastClassByCGLIB$$fcbd33cd.invoke(<generated>) at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:149) at org.springframework.aop.framework.Cglib2AopProxy$CglibMethodInvocation.invokeJoinpoint(Cglib2AopProxy.java:661) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:122) at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:57) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:144) at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:57) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:144) at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:57) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:144) at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:57) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:144) at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:57) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:144) at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:57) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:144) at org.springframework.aop.framework.Cglib2AopProxy$DynamicAdvisedInterceptor.intercept(Cglib2AopProxy.java:606) at com.spider.scoreboard.ScoreboardCommandlineLauncher$$EnhancerByCGLIB$$474f134c.main(<generated>) at com.spider.scoreboard.framework.Launcher.launch(Launcher.java:58) at com.spider.scoreboard.ScoreboardCommandlineLauncher.main(ScoreboardCommandlineLauncher.java:67) Caused by: net.sf.morph.transform.TransformationException: Unable to perform graph transformation at net.sf.morph.transform.transformers.DelegatingTransformer.transformGraph(DelegatingTransformer.java:337) at net.sf.morph.transform.copiers.ContainerCopier.put(ContainerCopier.java:141) at net.sf.morph.transform.copiers.ContainerCopier.copyImpl(ContainerCopier.java:194) at net.sf.morph.transform.transformers.BaseTransformer.copy(BaseTransformer.java:345) at net.sf.morph.transform.transformers.DelegatingTransformer.convertImpl(DelegatingTransformer.java:178) at net.sf.morph.transform.transformers.DelegatingTransformer.transformGraph(DelegatingTransformer.java:334) ... 45 more Caused by: net.sf.morph.transform.TransformationException: Error copying source com.spider.scoreboard.hdao.impl.PerformanceChartEdgeHDao@198046 (class com.spider.scoreboard.hdao.impl.PerformanceChartEdgeHDao) to destination com.spider.scoreboard.hdao.impl.PerformanceChartEdgeHDao@1af1915 (class com.spider.scoreboard.hdao.impl.PerformanceChartEdgeHDao) at net.sf.morph.transform.transformers.BaseTransformer.copy(BaseTransformer.java:351) at net.sf.morph.transform.transformers.DelegatingTransformer.convertImpl(DelegatingTransformer.java:178) at net.sf.morph.transform.transformers.DelegatingTransformer.transformGraph(DelegatingTransformer.java:334) ... 50 more Caused by: net.sf.hibernate.LazyInitializationException: Exception initializing proxy: [com.spider.scoreboard.hdao.impl.PerformanceChartNodeHDao#6] at net.sf.hibernate.proxy.LazyInitializer.initializeWrapExceptions(LazyInitializer.java:64) at net.sf.hibernate.proxy.LazyInitializer.getImplementation(LazyInitializer.java:164) at net.sf.hibernate.proxy.CGLIBLazyInitializer.intercept(CGLIBLazyInitializer.java:108) at com.spider.scoreboard.hdao.IPerformanceChartNode$$EnhancerByCGLIB$$d8424119.toString(<generated>) at java.lang.String.valueOf(String.java:2131) at java.lang.StringBuffer.append(StringBuffer.java:370) at net.sf.composite.util.ObjectUtils.getObjectDescription(ObjectUtils.java:37) at net.sf.morph.transform.transformers.DelegatingTransformer.transformGraph(DelegatingTransformer.java:329) at net.sf.morph.transform.copiers.PropertyNameMatchingCopier.copyImpl(PropertyNameMatchingCopier.java:86) at net.sf.morph.transform.transformers.BaseTransformer.copy(BaseTransformer.java:345) ... 52 more Caused by: net.sf.hibernate.ObjectNotFoundException: No row with the given identifier exists: 6, of class: com.spider.scoreboard.hdao.impl.PerformanceChartNodeHDao at net.sf.hibernate.ObjectNotFoundException.throwIfNull(ObjectNotFoundException.java:24) at net.sf.hibernate.impl.SessionImpl.immediateLoad(SessionImpl.java:1946) at net.sf.hibernate.proxy.LazyInitializer.initialize(LazyInitializer.java:53) at net.sf.hibernate.proxy.LazyInitializer.initializeWrapExceptions(LazyInitializer.java:60) ... 61 more I have no idea how Hessian managed to do a StackOverflow, but as you can see, the two error messages don't seem to have any relation to each other. Confusing!!!

    Spring JIRA | 1 decade ago | Matthew Sgarlata
    net.sf.morph.transform.TransformationException: Unable to perform graph transformation

    Root Cause Analysis

    1. net.sf.morph.transform.TransformationException

      Unable to perform graph transformation

      at net.sf.morph.transform.transformers.DelegatingTransformer.transformGraph()
    2. net.sf.morph
      BaseTransformer.convert
      1. net.sf.morph.transform.transformers.DelegatingTransformer.transformGraph(DelegatingTransformer.java:383)
      2. net.sf.morph.transform.copiers.PropertyNameMatchingCopier.copyImpl(PropertyNameMatchingCopier.java:85)
      3. net.sf.morph.transform.transformers.BaseTransformer.copy(BaseTransformer.java:322)
      4. net.sf.morph.transform.transformers.DelegatingTransformer.convertImpl(DelegatingTransformer.java:175)
      5. net.sf.morph.transform.transformers.BaseTransformer.convert(BaseTransformer.java:225)
      6. net.sf.morph.transform.transformers.BaseTransformer.convert(BaseTransformer.java:237)
      6 frames
    3. com.spider.scoreboard
      RMIStrategyMapImpl$$FastClassByCGLIB$$95e564a5.invoke
      1. com.spider.scoreboard.remote.RMIStrategyMapImpl.getPerformanceChart(RMIStrategyMapImpl.java:99)
      2. com.spider.scoreboard.remote.RMIStrategyMapImpl$$FastClassByCGLIB$$95e564a5.invoke(<generated>)
      2 frames
    4. IDEA
      MethodProxy.invoke
      1. net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:149)
      1 frame
    5. Spring AOP
      ReflectiveMethodInvocation.proceed
      1. org.springframework.aop.framework.Cglib2AopProxy$CglibMethodInvocation.invokeJoinpoint(Cglib2AopProxy.java:661)
      2. org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:122)
      2 frames
    6. Spring Tx
      TransactionInterceptor.invoke
      1. org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:56)
      1 frame
    7. Spring AOP
      ReflectiveMethodInvocation.proceed
      1. org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:144)
      1 frame
    8. Spring Tx
      TransactionInterceptor.invoke
      1. org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:56)
      1 frame
    9. Spring AOP
      ReflectiveMethodInvocation.proceed
      1. org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:144)
      1 frame
    10. Spring Tx
      TransactionInterceptor.invoke
      1. org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:56)
      1 frame
    11. Spring AOP
      Cglib2AopProxy$DynamicAdvisedInterceptor.intercept
      1. org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:144)
      2. org.springframework.aop.framework.Cglib2AopProxy$DynamicAdvisedInterceptor.intercept(Cglib2AopProxy.java:606)
      2 frames
    12. com.spider.scoreboard
      RMIStrategyMapImpl$$EnhancerByCGLIB$$f90bf109.getPerformanceChart
      1. com.spider.scoreboard.remote.RMIStrategyMapImpl$$EnhancerByCGLIB$$f90bf109.getPerformanceChart(<generated>)
      1 frame
    13. Java RT
      Method.invoke
      1. sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      2. sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
      3. sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      4. java.lang.reflect.Method.invoke(Method.java:324)
      4 frames
    14. Hessian
      HessianSkeleton.invoke
      1. com.caucho.hessian.server.HessianSkeleton.invoke(HessianSkeleton.java:141)
      1 frame
    15. Spring
      HessianServiceExporter.handleRequest
      1. org.springframework.remoting.caucho.HessianServiceExporter.handleRequest(HessianServiceExporter.java:87)
      1 frame
    16. com.spider.scoreboard
      ScoreboardServiceExporter.handleRequest
      1. com.spider.scoreboard.framework.ScoreboardServiceExporter.handleRequest(ScoreboardServiceExporter.java:18)
      1 frame
    17. Spring MVC
      FrameworkServlet.doPost
      1. org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:44)
      2. org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:675)
      3. org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:623)
      4. org.springframework.web.servlet.FrameworkServlet.serviceWrapper(FrameworkServlet.java:384)
      5. org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:353)
      5 frames
    18. JavaServlet
      HttpServlet.service
      1. javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
      2. javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
      2 frames
    19. Glassfish Core
      ApplicationFilterChain.doFilter
      1. org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:237)
      2. org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
      2 frames
    20. com.spider.scoreboard
      ScoreboardOpenSessionInViewFilter.doFilterInternal
      1. com.spider.scoreboard.framework.springx.ScoreboardOpenSessionInViewFilter.doFilterInternal(ScoreboardOpenSessionInViewFilter.java:67)
      1 frame
    21. Spring
      OncePerRequestFilter.doFilter
      1. org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
      1 frame
    22. Glassfish Core
      ApplicationFilterChain.doFilter
      1. org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:186)
      2. org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
      2 frames
    23. net.sf.morph
      MorphFilter.doFilter
      1. net.sf.morph.web.MorphFilter.doFilter(MorphFilter.java:43)
      1 frame
    24. Glassfish Core
      ApplicationFilterChain.doFilter
      1. org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:186)
      2. org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
      2 frames
    25. com.spider.scoreboard
      RequestLogFilter.doFilter
      1. com.spider.scoreboard.framework.RequestLogFilter.doFilter(RequestLogFilter.java:34)
      1 frame
    26. Glassfish Core
      ContainerBase.invoke
      1. org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:186)
      2. org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
      3. org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214)
      4. org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
      5. org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
      6. org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:198)
      7. org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:152)
      8. org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
      9. org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
      10. org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137)
      11. org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
      12. org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:118)
      13. org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
      14. org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
      15. org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
      16. org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
      17. org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
      18. org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)
      18 frames
    27. org.apache.coyote
      CoyoteAdapter.service
      1. org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)
      1 frame
    28. Grizzly HTTP
      TcpWorkerThread.runIt
      1. org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799)
      2. org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705)
      3. org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577)
      3 frames
    29. Tomcat Util
      ThreadPool$ControlRunnable.run
      1. org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
      1 frame
    30. Java RT
      Thread.run
      1. java.lang.Thread.run(Thread.java:534)
      1 frame