[JBoss JIRA] (AS7-4932) CLONE - Using session passivation results in WeldListener: java.lang.NullPointerException on normal operation
by RH Bugzilla Integration (JIRA)
[ https://issues.jboss.org/browse/AS7-4932?page=com.atlassian.jira.plugin.s... ]
RH Bugzilla Integration commented on AS7-4932:
----------------------------------------------
Jitka Kudrnacova <jkudrnac(a)redhat.com> made a comment on [bug 900549|https://bugzilla.redhat.com/show_bug.cgi?id=900549]
The issue is still present in ER6.
Link to job (note: this is the first job run today with ER6 where this issue was seen again. If you need to verify if this is present in any other test configuration, please let us know):
https://jenkins.mw.lab.eng.bos.redhat.com/hudson/job/eap-6x-failover-http...
Link to server logs:
https://jenkins.mw.lab.eng.bos.redhat.com/hudson/job/eap-6x-failover-http...
> CLONE - Using session passivation results in WeldListener: java.lang.NullPointerException on normal operation
> -------------------------------------------------------------------------------------------------------------
>
> Key: AS7-4932
> URL: https://issues.jboss.org/browse/AS7-4932
> Project: Application Server 7
> Issue Type: Bug
> Components: Clustering
> Affects Versions: 7.1.2.Final (EAP)
> Reporter: Radoslav Husar
> Assignee: Paul Ferraro
> Priority: Blocker
> Labels: as713tracking
> Fix For: 7.1.3.Final (EAP)
>
>
> NPE is thrown in roughly 0.36% of HTTP session request processing in the test.
> This results in response code 503 returned to the client with the exception.
> The test is using passivation-enabled WAR of clusterbench
> https://github.com/rhusar/clusterbench
> Here is a shorter soak test run that uncovered the issue
> https://hudson.qa.jboss.com/hudson/view/EAP6/view/EAP6-Clustering-Soak/jo...
> {noformat}
> [JBossINF] 19:52:10,113 ERROR [org.apache.catalina.core.ContainerBase.[jboss.web].[default-host]] (ajp-perf20/10.16.90.58:8009-2570) Exception sending request initialized lifecycle event to listener instance of class org.jboss.weld.servlet.WeldListener: java.lang.NullPointerException
> [JBossINF] at org.jboss.as.web.session.ClusteredSession.update(ClusteredSession.java:972) [jboss-as-web-7.1.2.Final-redhat-1.jar:7.1.2.Final-redhat-1]
> [JBossINF] at org.jboss.as.web.session.DistributableSessionManager.loadSession(DistributableSessionManager.java:1377) [jboss-as-web-7.1.2.Final-redhat-1.jar:7.1.2.Final-redhat-1]
> [JBossINF] at org.jboss.as.web.session.DistributableSessionManager.findSession(DistributableSessionManager.java:673) [jboss-as-web-7.1.2.Final-redhat-1.jar:7.1.2.Final-redhat-1]
> [JBossINF] at org.jboss.as.web.session.DistributableSessionManager.findSession(DistributableSessionManager.java:84) [jboss-as-web-7.1.2.Final-redhat-1.jar:7.1.2.Final-redhat-1]
> [JBossINF] at org.apache.catalina.connector.Request.doGetSession(Request.java:2618) [jbossweb-7.0.16.Final-redhat-1.jar:]
> [JBossINF] at org.apache.catalina.connector.Request.getSession(Request.java:2375) [jbossweb-7.0.16.Final-redhat-1.jar:]
> [JBossINF] at org.apache.catalina.connector.RequestFacade.getSession(RequestFacade.java:841) [jbossweb-7.0.16.Final-redhat-1.jar:]
> [JBossINF] at org.jboss.weld.context.beanstore.http.LazySessionBeanStore.getSession(LazySessionBeanStore.java:72) [weld-core-1.1.8.Final-redhat-1.jar:1.1.8.Final-redhat-1]
> [JBossINF] at org.jboss.weld.context.beanstore.http.LazySessionBeanStore.<init>(LazySessionBeanStore.java:58) [weld-core-1.1.8.Final-redhat-1.jar:1.1.8.Final-redhat-1]
> [JBossINF] at org.jboss.weld.context.http.HttpSessionContextImpl.associate(HttpSessionContextImpl.java:31) [weld-core-1.1.8.Final-redhat-1.jar:1.1.8.Final-redhat-1]
> [JBossINF] at org.jboss.weld.context.http.HttpSessionContextImpl.associate(HttpSessionContextImpl.java:16) [weld-core-1.1.8.Final-redhat-1.jar:1.1.8.Final-redhat-1]
> [JBossINF] at org.jboss.weld.servlet.WeldListener.requestInitialized(WeldListener.java:134) [weld-core-1.1.8.Final-redhat-1.jar:1.1.8.Final-redhat-1]
> [JBossINF] at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) [jbossweb-7.0.16.Final-redhat-1.jar:]
> [JBossINF] at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) [jbossweb-7.0.16.Final-redhat-1.jar:]
> [JBossINF] at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) [jbossweb-7.0.16.Final-redhat-1.jar:]
> [JBossINF] at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:368) [jbossweb-7.0.16.Final-redhat-1.jar:]
> [JBossINF] at org.apache.coyote.ajp.AjpProcessor.process(AjpProcessor.java:505) [jbossweb-7.0.16.Final-redhat-1.jar:]
> [JBossINF] at org.apache.coyote.ajp.AjpProtocol$AjpConnectionHandler.process(AjpProtocol.java:452) [jbossweb-7.0.16.Final-redhat-1.jar:]
> [JBossINF] at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:931) [jbossweb-7.0.16.Final-redhat-1.jar:]
> [JBossINF] at java.lang.Thread.run(Thread.java:662) [rt.jar:1.6.0_30]
> {noformat}
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
13 years, 2 months
[JBoss JIRA] (JBDEPLOY-278) DefaultStructureCache uses unescaped path as regex
by James Livingston (JIRA)
[ https://issues.jboss.org/browse/JBDEPLOY-278?page=com.atlassian.jira.plug... ]
James Livingston updated JBDEPLOY-278:
--------------------------------------
Attachment: JBDEPLOY-278-3.patch
> DefaultStructureCache uses unescaped path as regex
> --------------------------------------------------
>
> Key: JBDEPLOY-278
> URL: https://issues.jboss.org/browse/JBDEPLOY-278
> Project: JBoss Deployers
> Issue Type: Bug
> Components: vfs
> Affects Versions: JBDEPLOY-2.0.10.GA
> Reporter: James Livingston
> Attachments: JBDEPLOY-278-3.patch, JBDEPLOY-278.diff, JBDEPLOY-278.patch
>
>
> DefaultStructureCache.getLeaves() takes an unescaped pathName and then uses it as part of a regular expression. This could cause problems if pathName contained any characters that have special meaning in regexps.
> The method also creates a new Pattern object on each call which is relatively expensive.
> It could be fixed and the regex creation dropped by using the following:
> bool matches = key.startsWith(pathName) && (key.charAt(pathName.length) == '/') && (key.substring(pathName.length + 1).indexOf('/') == -1)
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
13 years, 2 months
[JBoss JIRA] (JBSER-128) Unable to deserialize Vector when using JDK 7
by Brad Maxwell (JIRA)
[ https://issues.jboss.org/browse/JBSER-128?page=com.atlassian.jira.plugin.... ]
Brad Maxwell commented on JBSER-128:
------------------------------------
I tested the ones that were failing in JDK 7, and they are working now
> Unable to deserialize Vector when using JDK 7
> ---------------------------------------------
>
> Key: JBSER-128
> URL: https://issues.jboss.org/browse/JBSER-128
> Project: JBoss Serialization
> Issue Type: Bug
> Affects Versions: 1.0.5.FINAL
> Environment: JBoss EAP 5.2 on JDK 7
> Reporter: Brad Maxwell
> Assignee: Brad Maxwell
>
> JDK 7 changed the writeObject of Vector,
> ObjectOutputStreamProxy.writeFields is being called, which write the fields out not as a FinalContainer , writeMyself checks the type and for non FinalContainer it just writes the object in metho FieldsContainer.writeField as:
> out.writeByte(DataContainerConstants.OBJECTREF);
> out.writeObject(value);
> When reading, RegularObjectPersister is expecting all FinalContainer.
> So it looks like either FinalContainer.writeField may need to wrap the objects in a FinalContainer or on the reading side it needs to read the non wrapped fields before reading the wrapped fields.
> public void writeFields() throws IOException {
> if (currentContainer!=null)
> {
> currentContainer.writeMyself(this);
> currentContainer=null;
> }
> JDK 6
> --------------------------------------------------------------------------
> public class Vector<E>
> extends AbstractList<E>
> private synchronized void writeObject(java.io.ObjectOutputStream s)
> throws java.io.IOException
> {
> s.defaultWriteObject();
> }
> JDK 7
> --------------------------------------------------------------------------
> private void writeObject(java.io.ObjectOutputStream s)
> throws java.io.IOException {
> final java.io.ObjectOutputStream.PutField fields = s.putFields();
> final Object[] data;
> synchronized (this) {
> fields.put("capacityIncrement", capacityIncrement);
> fields.put("elementCount", elementCount);
> data = elementData.clone();
> }
> fields.put("elementData", data);
> s.writeFields();
> }
> org.jboss.serial.exception.SerializationException: Excepted to be int
> at org.jboss.serial.objectmetamodel.DataContainer$DataContainerInput.readInt(DataContainer.java:1050)
> at org.jboss.serial.persister.RegularObjectPersister.readSlotWithFields(RegularObjectPersister.java:333)
> at org.jboss.serial.persister.RegularObjectPersister.defaultRead(RegularObjectPersister.java:290)
> at org.jboss.serial.persister.RegularObjectPersister.readData(RegularObjectPersister.java:258)
> at org.jboss.serial.objectmetamodel.ObjectDescriptorFactory.readObjectDescriptionFromStreaming(ObjectDescriptorFactory.java:412)
> at org.jboss.serial.objectmetamodel.ObjectDescriptorFactory.objectFromDescription(ObjectDescriptorFactory.java:82)
> at org.jboss.serial.objectmetamodel.DataContainer$DataContainerInput.readObject(DataContainer.java:847)
> at test.Serial.main(Serial.java:28)
> Caused by: java.lang.ClassCastException: java.lang.Integer cannot be cast to org.jboss.serial.finalcontainers.IntegerContainer
> at org.jboss.serial.objectmetamodel.DataContainer$DataContainerInput.readInt(DataContainer.java:1046)
> ... 7 more
> java.io.EOFException
> at java.io.DataInputStream.readFully(DataInputStream.java:197)
> at org.jboss.serial.util.StringUtil.pullDataToBuffer(StringUtil.java:191)
> at org.jboss.serial.util.StringUtil.readString(StringUtil.java:238)
> at org.jboss.serial.objectmetamodel.DataContainer$DataContainerDirectInput.readUTF(DataContainer.java:757)
> at org.jboss.serial.persister.RegularObjectPersister.readSlotWithFields(RegularObjectPersister.java:322)
> at org.jboss.serial.persister.RegularObjectPersister.defaultRead(RegularObjectPersister.java:290)
> at org.jboss.serial.persister.RegularObjectPersister.readData(RegularObjectPersister.java:258)
> at org.jboss.serial.objectmetamodel.ObjectDescriptorFactory.readObjectDescriptionFromStreaming(ObjectDescriptorFactory.java:412)
> at org.jboss.serial.objectmetamodel.ObjectDescriptorFactory.objectFromDescription(ObjectDescriptorFactory.java:82)
> at org.jboss.serial.objectmetamodel.DataContainer$DataContainerDirectInput.readObject(DataContainer.java:643)
> at org.jboss.serial.io.JBossObjectInputStream.readObjectOverride(JBossObjectInputStream.java:163)
> at java.io.ObjectInputStream.readObject(ObjectInputStream.java:363)
> at test.Serial.main(Serial.java:48)
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
13 years, 2 months
[JBoss JIRA] (WFLY-1168) MDB is looking up UserTransaction even if it isn't Bean Managed
by Stuart Douglas (JIRA)
[ https://issues.jboss.org/browse/WFLY-1168?page=com.atlassian.jira.plugin.... ]
Stuart Douglas reassigned WFLY-1168:
------------------------------------
Assignee: Eduardo Martins (was: Stuart Douglas)
Eduardo, can you look into this?
> MDB is looking up UserTransaction even if it isn't Bean Managed
> ---------------------------------------------------------------
>
> Key: WFLY-1168
> URL: https://issues.jboss.org/browse/WFLY-1168
> Project: WildFly
> Issue Type: Feature Request
> Reporter: Stefano Maestri
> Assignee: Eduardo Martins
>
> Investigating on a use case I've seen that MDB comes to org.jboss.jca.adapters.jdbc.WrapperDataSource looking up for UT. It fails with this exception
> javax.naming.NamingException: JBAS014237: Only session and message-driven beans with bean-managed transaction demarcation are allowed to access UserTransaction [Root exception is java.lang.IllegalStateException: JBAS014237: Only session and message-driven beans with bean-managed transaction demarcation are allowed to access UserTransaction]
> the problem is exposed running
> org.jboss.as.test.integration.ejb.mdb.MDBTestCase
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
13 years, 2 months
[JBoss JIRA] (JBSER-128) Unable to deserialize Vector when using JDK 7
by Clebert Suconic (JIRA)
[ https://issues.jboss.org/browse/JBSER-128?page=com.atlassian.jira.plugin.... ]
Clebert Suconic updated JBSER-128:
----------------------------------
Assignee: Brad Maxwell (was: Clebert Suconic)
> Unable to deserialize Vector when using JDK 7
> ---------------------------------------------
>
> Key: JBSER-128
> URL: https://issues.jboss.org/browse/JBSER-128
> Project: JBoss Serialization
> Issue Type: Bug
> Affects Versions: 1.0.5.FINAL
> Environment: JBoss EAP 5.2 on JDK 7
> Reporter: Brad Maxwell
> Assignee: Brad Maxwell
>
> JDK 7 changed the writeObject of Vector,
> ObjectOutputStreamProxy.writeFields is being called, which write the fields out not as a FinalContainer , writeMyself checks the type and for non FinalContainer it just writes the object in metho FieldsContainer.writeField as:
> out.writeByte(DataContainerConstants.OBJECTREF);
> out.writeObject(value);
> When reading, RegularObjectPersister is expecting all FinalContainer.
> So it looks like either FinalContainer.writeField may need to wrap the objects in a FinalContainer or on the reading side it needs to read the non wrapped fields before reading the wrapped fields.
> public void writeFields() throws IOException {
> if (currentContainer!=null)
> {
> currentContainer.writeMyself(this);
> currentContainer=null;
> }
> JDK 6
> --------------------------------------------------------------------------
> public class Vector<E>
> extends AbstractList<E>
> private synchronized void writeObject(java.io.ObjectOutputStream s)
> throws java.io.IOException
> {
> s.defaultWriteObject();
> }
> JDK 7
> --------------------------------------------------------------------------
> private void writeObject(java.io.ObjectOutputStream s)
> throws java.io.IOException {
> final java.io.ObjectOutputStream.PutField fields = s.putFields();
> final Object[] data;
> synchronized (this) {
> fields.put("capacityIncrement", capacityIncrement);
> fields.put("elementCount", elementCount);
> data = elementData.clone();
> }
> fields.put("elementData", data);
> s.writeFields();
> }
> org.jboss.serial.exception.SerializationException: Excepted to be int
> at org.jboss.serial.objectmetamodel.DataContainer$DataContainerInput.readInt(DataContainer.java:1050)
> at org.jboss.serial.persister.RegularObjectPersister.readSlotWithFields(RegularObjectPersister.java:333)
> at org.jboss.serial.persister.RegularObjectPersister.defaultRead(RegularObjectPersister.java:290)
> at org.jboss.serial.persister.RegularObjectPersister.readData(RegularObjectPersister.java:258)
> at org.jboss.serial.objectmetamodel.ObjectDescriptorFactory.readObjectDescriptionFromStreaming(ObjectDescriptorFactory.java:412)
> at org.jboss.serial.objectmetamodel.ObjectDescriptorFactory.objectFromDescription(ObjectDescriptorFactory.java:82)
> at org.jboss.serial.objectmetamodel.DataContainer$DataContainerInput.readObject(DataContainer.java:847)
> at test.Serial.main(Serial.java:28)
> Caused by: java.lang.ClassCastException: java.lang.Integer cannot be cast to org.jboss.serial.finalcontainers.IntegerContainer
> at org.jboss.serial.objectmetamodel.DataContainer$DataContainerInput.readInt(DataContainer.java:1046)
> ... 7 more
> java.io.EOFException
> at java.io.DataInputStream.readFully(DataInputStream.java:197)
> at org.jboss.serial.util.StringUtil.pullDataToBuffer(StringUtil.java:191)
> at org.jboss.serial.util.StringUtil.readString(StringUtil.java:238)
> at org.jboss.serial.objectmetamodel.DataContainer$DataContainerDirectInput.readUTF(DataContainer.java:757)
> at org.jboss.serial.persister.RegularObjectPersister.readSlotWithFields(RegularObjectPersister.java:322)
> at org.jboss.serial.persister.RegularObjectPersister.defaultRead(RegularObjectPersister.java:290)
> at org.jboss.serial.persister.RegularObjectPersister.readData(RegularObjectPersister.java:258)
> at org.jboss.serial.objectmetamodel.ObjectDescriptorFactory.readObjectDescriptionFromStreaming(ObjectDescriptorFactory.java:412)
> at org.jboss.serial.objectmetamodel.ObjectDescriptorFactory.objectFromDescription(ObjectDescriptorFactory.java:82)
> at org.jboss.serial.objectmetamodel.DataContainer$DataContainerDirectInput.readObject(DataContainer.java:643)
> at org.jboss.serial.io.JBossObjectInputStream.readObjectOverride(JBossObjectInputStream.java:163)
> at java.io.ObjectInputStream.readObject(ObjectInputStream.java:363)
> at test.Serial.main(Serial.java:48)
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
13 years, 2 months