[jboss-jira] [JBoss JIRA] Assigned: (JBAS-7619) weld-numberguess example doesn't work with jboss-6.0.0.M1 in cluster

Brian Stansberry (JIRA) jira-events at lists.jboss.org
Tue Jan 19 15:05:47 EST 2010


     [ https://jira.jboss.org/jira/browse/JBAS-7619?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Brian Stansberry reassigned JBAS-7619:
--------------------------------------

    Assignee: Pete Muir  (was: Brian Stansberry)


Martin/Pete,

Sorry, seems moving this JIRA to JBAS was the wrong thing to do. The exception logging in this area is crappy; made it look like a problem I'd fixed last summer. But it's not; seems to be a Weld problem when the session attribute map is being deserialized. Here's more informative logging:

2010-01-19 13:47:17,053 WARN  [org.jboss.web.tomcat.service.session.distributedcache.impl.jbc.SessionBasedJBossCacheService] (http-127.0.0.1-8180-1) Problem accessing session data for session 9l****oJSQ__(class java.lang.NullPointerException) -- existing session cannot be used
2010-01-19 13:47:17,054 DEBUG [org.jboss.web.tomcat.service.session.distributedcache.impl.jbc.SessionBasedJBossCacheService] (http-127.0.0.1-8180-1) Details on problem accessing session data for 9l****oJSQ__
java.lang.NullPointerException
	at org.jboss.weld.introspector.ForwardingAnnotated.isAnnotationPresent(ForwardingAnnotated.java:50)
	at org.jboss.weld.injection.FieldInjectionPoint.<init>(FieldInjectionPoint.java:62)
	at org.jboss.weld.injection.FieldInjectionPoint.of(FieldInjectionPoint.java:55)
	at org.jboss.weld.injection.FieldInjectionPoint$SerializationProxy.readResolve(FieldInjectionPoint.java:169)
	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:597)
	at java.io.ObjectStreamClass.invokeReadResolve(ObjectStreamClass.java:1061)
	at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1762)
	at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
	at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1947)
	at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1871)
	at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1753)
	at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
	at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1947)
	at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1871)
	at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1753)
	at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
	at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351)
	at java.util.ArrayList.readObject(ArrayList.java:593)
	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:597)
	at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:974)
	at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1849)
	at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1753)
	at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
	at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1947)
	at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1871)
	at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1753)
	at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
	at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1947)
	at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1871)
	at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1753)
	at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
	at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1947)
	at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1871)
	at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1753)
	at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
	at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1947)
	at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1871)
	at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1753)
	at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
	at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351)
	at java.util.HashMap.readObject(HashMap.java:1030)
	at sun.reflect.GeneratedMethodAccessor295.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:974)
	at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1849)
	at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1753)
	at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
	at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351)
	at org.jboss.ha.framework.server.SimpleCachableMarshalledValue.get(SimpleCachableMarshalledValue.java:94)
	at org.jboss.web.tomcat.service.session.distributedcache.impl.jbc.AbstractJBossCacheService.getUnMarshalledValue(AbstractJBossCacheService.java:765)
	at org.jboss.web.tomcat.service.session.distributedcache.impl.jbc.SessionBasedJBossCacheService.getSessionAttributes(SessionBasedJBossCacheService.java:115)
	at org.jboss.web.tomcat.service.session.distributedcache.impl.jbc.AbstractJBossCacheService.getDistributableSessionData(AbstractJBossCacheService.java:677)
	at org.jboss.web.tomcat.service.session.distributedcache.impl.jbc.AbstractJBossCacheService.getSessionData(AbstractJBossCacheService.java:372)
	at org.jboss.web.tomcat.service.session.JBossCacheManager.loadSession(JBossCacheManager.java:2063)
	at org.jboss.web.tomcat.service.session.JBossCacheManager.findSession(JBossCacheManager.java:595)
	at org.jboss.web.tomcat.service.session.ClusteredSessionValve.handleRequest(ClusteredSessionValve.java:124)
	at org.jboss.web.tomcat.service.session.ClusteredSessionValve.invoke(ClusteredSessionValve.java:94)
	at org.jboss.web.tomcat.service.session.LockingValve.invoke(LockingValve.java:62)
	at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:95)
	at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.process(SecurityContextEstablishmentValve.java:126)
	at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.invoke(SecurityContextEstablishmentValve.java:70)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
	at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:158)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:330)
	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:829)
	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:598)
	at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
	at java.lang.Thread.run(Thread.java:619)


Pete, I'm assigning back to you; let me know if I can help.

> weld-numberguess example doesn't work with jboss-6.0.0.M1 in cluster
> --------------------------------------------------------------------
>
>                 Key: JBAS-7619
>                 URL: https://jira.jboss.org/jira/browse/JBAS-7619
>             Project: JBoss Application Server
>          Issue Type: Bug
>      Security Level: Public(Everyone can see) 
>          Components: Clustering
>    Affects Versions: JBossAS-6.0.0.M1
>            Reporter: Martin Gencur
>            Assignee: Pete Muir
>
> Trying to continue with the same session id on different jboss instance and web browser leads to the following exception on the instance's console:
> 12:41:21,767 WARN  [SessionBasedJBossCacheService] Problem accessing session data : class java.lang.NullPointerException null
> Steps to reproduce:
> 1) download jboss-6.0.0.M1 (for example from http://reports.qa.atl.jboss.com/release_tests/binaries/JBossAS/jboss-6.0.0.M1.zip)
> 2) unzip it twice to different folders
> 3) run the first instance from its bin directory: ./run.sh -c all -g DocsPartition -u 239.255.101.101 -b localhost -Djboss.messaging.ServerPeerID=1 -Djboss.service.binding.set=ports-default
> 4) run the second instance from its bin directory: ./run.sh -c all -g DocsPartition -u 239.255.101.101 -b localhost -Djboss.messaging.ServerPeerID=2 -Djboss.service.binding.set=ports-01
> (after a while both instances know about one another ( All Members of cluster = 2))
> 5) edit examples/jsf/numberguess/src/main/webapp-jboss5/WEB-INF/web.xml   (add <distributable/> as its first tag so that the application.....is enabled for a cluster environment ( !!! I don't know for sure if it is enough, maybe this is the problem !!!)
> 6) run mvn package in examples/jsf/numberguess
> 7) copy resulting war file (weld-numberguess.war) from numberguess/target/  directory  to serve/all/farm directory at first jbossAS instance
> 8) remove cookies for "localhost" domain from web browser, disable cookies
> 9) go to http://localhost:8080/weld-numberguess/home.jsf, play for 2-3 times with application (try to guess a number)
> 10) copy&paste the url (for example "http://localhost:8080/weld-numberguess/home.jsf;jsessionid=VBobYX3Itd9fUI-qXhcucw__") into another window with cookies disabled, change port number from 8080 to 8180 and go to the page
> 11) now you can see the exception in the second jboss instance's console and the application behaves like it doesn't know this session and starts from scratch

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        



More information about the jboss-jira mailing list