[
https://jira.jboss.org/jira/browse/JBAS-7619?page=com.atlassian.jira.plug...
]
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....)
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