java.io.NotSerializableException: org.apache.catalina.connector.Request". And now when I try to do it through a shared Terracotta root with a Map, I'm getting: Code: com.tc.exception.TCNonPortableObjectError: ******************************************************************************* Attempt to share an instance of a non-portable class referenced by a portable class. This unshareable class has a super-class that is uninstrumented. Subclasses of uninstrumented classes cannot be shared. For more information on this issue, please visit our Troubleshooting Guide at: http://terracotta.org/kit/troubleshooting Referring class : org.apache.catalina.connector.SessionRequest55 Referring field : org.apache.catalina.connector.Request.inputBuffer Non-portable field name : org.apache.catalina.connector.Request.inputBuffer Thread : http-8443-exec-2 JVM ID : VM(21) Unshareable class : org.apache.catalina.connector.InputBuffer Classes to add to boot jar: java.io.Reader Under most circumstances, you should only be adding classes for your application. If you are adding classes for frameworks or code not written by you, then you should consider finding a Terracotta Integration Module (TIM) that matches the framework you are using. As an example, if the non-portable class listed below is net.sf.ehcache.CacheManager, you should consider using the ehcache TIM. It is possible that some or all of the super classes above are truly non-portable, the solution is then to mark the referring field(s) as transient. Action to take: 1) Reconfigure to include the unshareable super-class(es) * edit your tc-config.xml file * locate the <dso> element * add this snippet inside the <dso> element <additional-boot-jar-classes> <include>java.io.Reader</include> </additional-boot-jar-classes> * if there is already an <additional-boot-jar-classes> element present, simply add the new includes inside it * Recreate the boot jar by running the 'make-boot-jar' tool in the bin/ directory *******************************************************************************

Searched on Google with the first line of a JAVA stack trace?

We can recommend more relevant solutions and speed up debugging when you paste your entire stack trace with the exception message. Try a sample exception.

Recommended solutions based on your search

Solutions on the web

via Terracotta by kjordan, 1 year ago
: ******************************************************************************* Attempt to share an instance of a non-portable class referenced by a portable class. This unshareable class has a super-class that is uninstrumented. Subclasses of uninstrumented classes cannot be shared. For more information on this issue
java.io.NotSerializableException: org.apache.catalina.connector.Request". And now when I try to do it through a shared Terracotta root with a Map, I'm getting: Code: com.tc.exception.TCNonPortableObjectError: ******************************************************************************* Attempt to share an instance of a non-portable class referenced by a portable class. This unshareable class has a super-class that is uninstrumented. Subclasses of uninstrumented classes cannot be shared. For more information on this issue, please visit our Troubleshooting Guide at: http://terracotta.org/kit/troubleshooting Referring class : org.apache.catalina.connector.SessionRequest55 Referring field : org.apache.catalina.connector.Request.inputBuffer Non-portable field name : org.apache.catalina.connector.Request.inputBuffer Thread : http-8443-exec-2 JVM ID : VM(21) Unshareable class : org.apache.catalina.connector.InputBuffer Classes to add to boot jar: java.io.Reader Under most circumstances, you should only be adding classes for your application. If you are adding classes for frameworks or code not written by you, then you should consider finding a Terracotta Integration Module (TIM) that matches the framework you are using. As an example, if the non-portable class listed below is net.sf.ehcache.CacheManager, you should consider using the ehcache TIM. It is possible that some or all of the super classes above are truly non-portable, the solution is then to mark the referring field(s) as transient. Action to take: 1) Reconfigure to include the unshareable super-class(es) * edit your tc-config.xml file * locate the <dso> element * add this snippet inside the <dso> element <additional-boot-jar-classes> <include>java.io.Reader</include> </additional-boot-jar-classes> * if there is already an <additional-boot-jar-classes> element present, simply add the new includes inside it * Recreate the boot jar by running the 'make-boot-jar' tool in the bin/ directory *******************************************************************************
at com.tc.object.ClientObjectManagerImpl.throwNonPortableException(ClientObjectManagerImpl.java:783)
at com.tc.object.ClientObjectManagerImpl.checkPortabilityOfTraversedReference(ClientObjectManagerImpl.java:673)
at com.tc.object.ClientObjectManagerImpl.access$700(ClientObjectManagerImpl.java:82)
at com.tc.object.ClientObjectManagerImpl$NewObjectTraverseTest.checkPortability(ClientObjectManagerImpl.java:1051)
at com.tc.object.Traverser.addReferencedObjects(Traverser.java:46)
at com.tc.object.Traverser.traverse(Traverser.java:87)
at com.tc.object.ClientObjectManagerImpl.traverse(ClientObjectManagerImpl.java:942)
at com.tc.object.ClientObjectManagerImpl.create(ClientObjectManagerImpl.java:299)
at com.tc.object.ClientObjectManagerImpl.lookupOrCreateIfNecesary(ClientObjectManagerImpl.java:340)
at com.tc.object.ClientObjectManagerImpl.lookupOrCreate(ClientObjectManagerImpl.java:327)
at com.tc.object.tx.ClientTransactionManagerImpl.logicalInvoke(ClientTransactionManagerImpl.java:509)
at com.tc.object.TCObjectLogical.logicalInvoke(TCObjectLogical.java:17)
at com.tc.object.bytecode.ManagerImpl.logicalInvoke(ManagerImpl.java:289)
at com.tc.object.bytecode.ManagerUtil.logicalInvoke(ManagerUtil.java:312)
at java.util.HashMap.put(Unknown Source)
at com.terracotta.session.HashMapAttributeStore.put(HashMapAttributeStore.java:23)
at com.terracotta.session.SessionData.bindAttribute(SessionData.java:376)
at com.terracotta.session.SessionData.__tc_wrapped_setAttributeReturnOld(SessionData.java:273)
at com.terracotta.session.SessionData.setAttributeReturnOld(SessionData.java)
at com.terracotta.session.SessionData.setAttribute(SessionData.java:265)
at org.apache.catalina.valves.CometConnectionManagerValve.invoke(Unknown Source)
at org.apache.catalina.core.StandardHostValve.invoke(Unknown Source)
at org.apache.catalina.valves.ErrorReportValve.invoke(Unknown Source)
at org.apache.catalina.core.StandardEngineValve.invoke(Unknown Source)
at org.terracotta.modules.tomcat.tomcat_5_5.SessionValve55.tcInvoke(SessionValve55.java:84)
at org.terracotta.modules.tomcat.tomcat_5_5.SessionValve55.invoke(SessionValve55.java:71)
at org.apache.coyote.http11.Http11NioProcessor.process(Unknown Source)
at org.apache.coyote.http11.Http11NioProtocol$Http11ConnectionHandler.process(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:619)

Users with the same issue

You are the first who have seen this exception.

Write tip

Know the solutions? Share your knowledge to help other developers to debug faster.