to give some details it happens when an interceptor is not serializable (see last method of https://svn.apache.org/repos/asf/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/intercept/DefaultInterceptorHandler.java)
it should be easy to debug this method to see just the level upper which bean you deserialize and then identify the missing interceptor. can you try it? Romain Manni-Bucau Twitter: @rmannibucau Blog: http://rmannibucau.wordpress.com/ LinkedIn: http://fr.linkedin.com/in/rmannibucau Github: https://github.com/rmannibucau 2013/10/30 Romain Manni-Bucau <[email protected]>: > Hi > > In a war no idea, maybe active tomcat FINE logs > > Le 30 oct. 2013 19:14, <[email protected]> a écrit : > >> Hi! >> >> I have just tested replication in tomee-1.6.0-20131030.065404-219. OWB Bug >> seems to be fixed, but there is new one. >> The First replication works perfect, but after session migration to >> another node I've got following exeception: >> >> java.io.NotSerializableException: null is not serializable >> at >> org.apache.webbeans.intercept.DefaultInterceptorHandler.serializeInterceptor(DefaultInterceptorHandler.java:266) >> at >> org.apache.webbeans.intercept.DefaultInterceptorHandler.writeExternal(DefaultInterceptorHandler.java:183) >> at >> java.io.ObjectOutputStream.writeExternalData(ObjectOutputStream.java:1443) >> at >> java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1414) >> at >> java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174) >> at >> java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1528) >> at >> java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1493) >> at >> java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1416) >> at >> java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174) >> at >> java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:346) >> at >> org.apache.catalina.ha.session.DeltaRequest$AttributeInfo.writeExternal(DeltaRequest.java:392) >> at >> org.apache.catalina.ha.session.DeltaRequest.writeExternal(DeltaRequest.java:285) >> at >> org.apache.catalina.ha.session.DeltaRequest.serialize(DeltaRequest.java:299) >> at >> org.apache.catalina.ha.session.DeltaSession.getDiff(DeltaSession.java:143) >> at >> org.apache.catalina.tribes.tipis.AbstractReplicatedMap.replicate(AbstractReplicatedMap.java:426) >> at >> org.apache.catalina.ha.session.BackupManager.requestCompleted(BackupManager.java:121) >> at >> org.apache.catalina.ha.tcp.ReplicationValve.send(ReplicationValve.java:539) >> at >> org.apache.catalina.ha.tcp.ReplicationValve.sendMessage(ReplicationValve.java:526) >> at >> org.apache.catalina.ha.tcp.ReplicationValve.sendSessionReplicationMessage(ReplicationValve.java:508) >> at >> org.apache.catalina.ha.tcp.ReplicationValve.sendReplicationMessage(ReplicationValve.java:421) >> at >> org.apache.catalina.ha.tcp.ReplicationValve.invoke(ReplicationValve.java:345) >> at >> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408) >> at >> org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1041) >> at >> org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:603) >> at >> org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312) >> at >> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) >> at >> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) >> at java.lang.Thread.run(Thread.java:722) >> >> After that session replication stops working at all. Unfortunately I can't >> reproduce the issue with my sample application. Could you give me a clue how >> to reproduce this in simple app? >> >> Regards, >> Dmitry Volkov. >> >> -----Ursprüngliche Nachricht----- >> Von: Romain Manni-Bucau [mailto:[email protected]] >> Gesendet: Dienstag, 6. August 2013 12:18 >> An: [email protected] >> Betreff: Re: Session replication in TomEE 1.6.0-SNAPSHOT >> >> Hi, >> >> that's an OWB issue (no link with clustering) >> >> i'll push it over OWB list. Thanks for the report. >> >> *Romain Manni-Bucau* >> *Twitter: @rmannibucau <https://twitter.com/rmannibucau>* >> *Blog: >> **http://rmannibucau.wordpress.com/*<http://rmannibucau.wordpress.com/> >> *LinkedIn: **http://fr.linkedin.com/in/rmannibucau* >> *Github: https://github.com/rmannibucau* >> >> >> >> 2013/8/6 <[email protected]> >> >> > Hi >> > >> > There is the sample app: https://github.com/eiskonzept/tomee >> > Package the application and start two tomee instances with tomee maven >> > plugin (maven profiles "node1" and "node2"). Then open /index.xhtml >> > from application root. >> > >> > The issue can be reproduced when replicated CDI bean is intercepted by >> > CDI interceptor. >> > >> > >> > >> > -----Ursprüngliche Nachricht----- >> > Von: Romain Manni-Bucau [mailto:[email protected]] >> > Gesendet: Montag, 5. August 2013 10:10 >> > An: [email protected] >> > Betreff: Re: Session replication in TomEE 1.6.0-SNAPSHOT >> > >> > Hi >> > >> > can you reproduce it in a sample? >> > >> > *Romain Manni-Bucau* >> > *Twitter: @rmannibucau <https://twitter.com/rmannibucau>* >> > *Blog: **http://rmannibucau.wordpress.com/*< >> > http://rmannibucau.wordpress.com/> >> > *LinkedIn: **http://fr.linkedin.com/in/rmannibucau* >> > *Github: https://github.com/rmannibucau* >> > >> > >> > >> > 2013/8/5 <[email protected]> >> > >> > > I have tested replication with last 1.6.0-SNAPSHOT and got following >> > > exception: >> > > >> > > java.io.NotSerializableException: >> > > org.apache.webbeans.intercept.DefaultInterceptorHandler >> > > at >> > > java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1180) >> > > at >> > > >> > java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java: >> > 1528) >> > > at >> > > >> > > java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1493) >> > > at >> > > >> > java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java >> > :1416) >> > > at >> > > java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174) >> > > at >> > > java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:346) >> > > at >> > > >> > org.apache.catalina.ha.session.DeltaRequest$AttributeInfo.writeExterna >> > l(DeltaRequest.java:392) >> > > at >> > > >> > org.apache.catalina.ha.session.DeltaRequest.writeExternal(DeltaRequest >> > .java:285) >> > > at >> > > >> > org.apache.catalina.ha.session.DeltaRequest.serialize(DeltaRequest.jav >> > a:299) >> > > at >> > > >> > org.apache.catalina.ha.session.DeltaSession.getDiff(DeltaSession.java: >> > 143) >> > > at >> > > >> > org.apache.catalina.tribes.tipis.AbstractReplicatedMap.replicate(Abstr >> > actReplicatedMap.java:424) >> > > at >> > > >> > org.apache.catalina.ha.session.BackupManager.requestCompleted(BackupMa >> > nager.java:104) >> > > at >> > > >> > org.apache.catalina.ha.tcp.ReplicationValve.send(ReplicationValve.java >> > :539) >> > > at >> > > >> > org.apache.catalina.ha.tcp.ReplicationValve.sendMessage(ReplicationVal >> > ve.java:526) >> > > at >> > > >> > org.apache.catalina.ha.tcp.ReplicationValve.sendSessionReplicationMess >> > age(ReplicationValve.java:508) >> > > at >> > > >> > org.apache.catalina.ha.tcp.ReplicationValve.sendReplicationMessage(Rep >> > licationValve.java:421) >> > > at >> > > >> > org.apache.catalina.ha.tcp.ReplicationValve.invoke(ReplicationValve.ja >> > va:345) >> > > at >> > > >> > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java >> > :408) >> > > at >> > > >> > org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp1 >> > 1Processor.java:1023) >> > > at >> > > >> > org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(A >> > bstractProtocol.java:589) >> > > at >> > > >> > org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint >> > .java:312) >> > > at >> > > >> > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.j >> > ava:1110) >> > > at >> > > >> > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor. >> > java:603) >> > > at java.lang.Thread.run(Thread.java:722) >> > > >> > > -----Ursprüngliche Nachricht----- >> > > Von: Romain Manni-Bucau [mailto:[email protected]] >> > > Gesendet: Freitag, 2. August 2013 16:15 >> > > An: [email protected] >> > > Betreff: Re: Session replication in TomEE 1.6.0-SNAPSHOT >> > > >> > > Hi, >> > > >> > > just commited sthg about it, not sure it is linked but i think so. >> > > >> > > *Romain Manni-Bucau* >> > > *Twitter: @rmannibucau <https://twitter.com/rmannibucau>* >> > > *Blog: **http://rmannibucau.wordpress.com/*< >> > > http://rmannibucau.wordpress.com/> >> > > *LinkedIn: **http://fr.linkedin.com/in/rmannibucau* >> > > *Github: https://github.com/rmannibucau* >> > > >> > > >> > > >> > > 2013/8/2 <[email protected]> >> > > >> > > > Hi! >> > > > >> > > > I have just tested session replication in TomEE 1.6.0-SNAPSHOT and >> > > > got following exception: >> > > > >> > > > java.io.NotSerializableException: >> > > > org.apache.tomee.catalina.cdi.SessionNormalScopeBeanHandler$1 >> > > > at >> > > > >> > > > java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1180) >> > > > at >> > > > >> > > java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java: >> > > 1528) >> > > > at >> > > > >> > java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:149 >> > 3) >> > > > at >> > > > >> > > java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.ja >> > > va >> > > :1416) >> > > > at >> > > > >> > > > java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174) >> > > > at >> > > > >> > > java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java: >> > > 1528) >> > > > at >> > > > >> > java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:149 >> > 3) >> > > > at >> > > > >> > > java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.ja >> > > va >> > > :1416) >> > > > at >> > > > >> > > > java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174) >> > > > at >> > > > >> > > java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java: >> > > 1528) >> > > > at >> > > > >> > java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:149 >> > 3) >> > > > at >> > > > >> > > java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.ja >> > > va >> > > :1416) >> > > > at >> > > > >> > > > java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174) >> > > > at >> > > > java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:346) >> > > > at >> > > > >> > > org.apache.catalina.ha.session.DeltaRequest$AttributeInfo.writeExter >> > > na >> > > l(DeltaRequest.java:392) >> > > > at >> > > > >> > > org.apache.catalina.ha.session.DeltaRequest.writeExternal(DeltaReque >> > > st >> > > .java:285) >> > > > at >> > > > >> > > org.apache.catalina.ha.session.DeltaRequest.serialize(DeltaRequest.j >> > > av >> > > a:299) >> > > > at >> > > > >> > > org.apache.catalina.ha.session.DeltaSession.getDiff(DeltaSession.java: >> > > 143) >> > > > at >> > > > >> > > org.apache.catalina.tribes.tipis.AbstractReplicatedMap.replicate(Abs >> > > tr >> > > actReplicatedMap.java:424) >> > > > at >> > > > >> > > org.apache.catalina.ha.session.BackupManager.requestCompleted(Backup >> > > Ma >> > > nager.java:104) >> > > > at >> > > > >> > > org.apache.catalina.ha.tcp.ReplicationValve.send(ReplicationValve.ja >> > > va >> > > :539) >> > > > at >> > > > >> > > org.apache.catalina.ha.tcp.ReplicationValve.sendMessage(ReplicationV >> > > al >> > > ve.java:526) >> > > > at >> > > > >> > > org.apache.catalina.ha.tcp.ReplicationValve.sendSessionReplicationMe >> > > ss >> > > age(ReplicationValve.java:508) >> > > > at >> > > > >> > > org.apache.catalina.ha.tcp.ReplicationValve.sendReplicationMessage(R >> > > ep >> > > licationValve.java:421) >> > > > at >> > > > >> > > org.apache.catalina.ha.tcp.ReplicationValve.invoke(ReplicationValve. >> > > ja >> > > va:345) >> > > > at >> > > > >> > > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.ja >> > > va >> > > :408) >> > > > at >> > > > >> > > org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHtt >> > > p1 >> > > 1Processor.java:1023) >> > > > at >> > > > >> > > org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process >> > > (A >> > > bstractProtocol.java:589) >> > > > at >> > > > >> > > org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoi >> > > nt >> > > .java:310) >> > > > at >> > > > >> > > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor >> > > .j >> > > ava:1110) >> > > > at >> > > > >> > > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor. >> > > java:603) >> > > > at java.lang.Thread.run(Thread.java:722) >> > > > >> > > > Tested application uses CDI, CODI and EJB 3.0 Stateless beans. >> > > > >> > > > Best regards, >> > > > Dmitry Volkov >> > > > >> > > > >> > > > >> > > >> >
