[JBoss JIRA] Created: (JBMICROCONT-145) Serialization of ManagedPropertyImpl map results in NPE due to circular reference
by Scott M Stark (JIRA)
Serialization of ManagedPropertyImpl map results in NPE due to circular reference
---------------------------------------------------------------------------------
Key: JBMICROCONT-145
URL: http://jira.jboss.com/jira/browse/JBMICROCONT-145
Project: JBoss MicroContainer
Issue Type: Bug
Affects Versions: JBossMC_2_0_0 Beta
Reporter: Scott M Stark
Assigned To: Scott M Stark
Fix For: JBossMC_2_0_0_CR1
If one serializes a Map of ManagedProperties associated with a ManagedObject, the following NPE results when trying to unserialize the Map:
java.lang.NullPointerException
at org.jboss.managed.plugins.ManagedPropertyImpl.hashCode(ManagedPropertyImpl.java:259)
at java.util.HashMap.put(HashMap.java:418)
at java.util.HashSet.readObject(HashSet.java:279)
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:585)
at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:946)
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1809)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1719)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1305)
at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1908)
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1832)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1719)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1305)
at java.io.ObjectInputStream.access$300(ObjectInputStream.java:185)
at java.io.ObjectInputStream$GetFieldImpl.readFields(ObjectInputStream.java:2069)
at java.io.ObjectInputStream.readFields(ObjectInputStream.java:518)
at org.jboss.managed.plugins.ManagedPropertyImpl.readObject(ManagedPropertyImpl.java:304)
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:585)
at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:946)
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1809)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1719)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1305)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:348)
at AOPContainerProxy$1.readObject(AOPContainerProxy$1.java)
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:585)
at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:946)
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1809)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1719)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1305)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:348)
at java.util.HashMap.readObject(HashMap.java:1067)
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:585)
at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:946)
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1809)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1719)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1305)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:348)
at org.jboss.test.AbstractTestCase.deserialize(AbstractTestCase.java:235)
at org.jboss.test.managed.mock.MockTest.testManagedPropertyMapSerialization(MockTest.java:135)
The problem is that following relationship results:
Map -> ManagedProperty@1 -> MangedObject -> Set<ManagedProperty> -> ManagedProperty(a)1.hashCode()
A ManagedProperty that is in its readObject is deserializing its MangedObject, which deserializes its Set<ManagedProperty> properties. The ManagedProperty instance in its readObject method is seen to be already deserialized, and when its added to the Set its hashCode is called, but since the name field has not been retrieved, the NPE results.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
19 years, 2 months
[JBoss JIRA] Created: (JBAS-4107) New init script for Red Hat Enterprise Linux (and variants)
by Scott McBrien (JIRA)
New init script for Red Hat Enterprise Linux (and variants)
-----------------------------------------------------------
Key: JBAS-4107
URL: http://jira.jboss.com/jira/browse/JBAS-4107
Project: JBoss Application Server
Issue Type: Patch
Security Level: Public (Everyone can see)
Components: Other
Affects Versions: JBossAS-4.0.5.GA
Environment: RHEL 4 - Update4
Reporter: Scott McBrien
Priority: Minor
Attachments: jboss-4.0.5.GA
A replacement init script to include in the JBoss App server archive.
Features include:
* version awaredness, so you can run multiple instances of the JBoss Appserver with different versionized init scripts!
* re-introduction of chkconfig compatability, this was in the init script shipped with 4.0.1SP1, but seems to have vanished in the most recent version.
* cleaned up variable definitions
* warns when root is used to run the App Server
* has support for init functions like success() and failure() for fantasic colorized OK and FAILED messages.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
19 years, 2 months
[JBoss JIRA] Created: (JBAS-4060) NPE in StandardSession.endAccess()
by Brian Stansberry (JIRA)
NPE in StandardSession.endAccess()
----------------------------------
Key: JBAS-4060
URL: http://jira.jboss.com/jira/browse/JBAS-4060
Project: JBoss Application Server
Issue Type: Bug
Security Level: Public (Everyone can see)
Components: Web (Tomcat) service
Reporter: Brian Stansberry
Assigned To: Remy Maucherat
Fix For: JBossAS-4.2.0.CR1
In the jbossweb embedded in Branch_4_2, there is a race between a webapp undeployment and the cleanup of the last Request(s) the app handled that can lead to an NPE in StandardSession. Following server side logging from org.jboss.test.classloader.leak.test.ClassloaderLeakUnitTestCase shows the issue:
2007-02-04 15:15:11,283 INFO [WEBAPP] WEBAPP is here
2007-02-04 15:15:11,673 DEBUG [org.jboss.deployment.MainDeployer] Undeploying file:/C:/dev/jboss/jboss-4.2/testsuite/output/lib/classloader-leak-in-war.war, isShutdown=false
2007-02-04 15:15:11,673 DEBUG [org.jboss.system.ServiceController] stopping service: jboss.web.deployment:war=classloader-leak-in-war.war,id=1522768662
2007-02-04 15:15:11,673 DEBUG [org.jboss.system.ServiceController] stopping dependent services for: jboss.web.deployment:war=classloader-leak-in-war.war,id=1522768662 dependent services are: []
2007-02-04 15:15:11,673 DEBUG [org.jboss.web.WebModule] Stopping jboss.web.deployment:war=classloader-leak-in-war.war,id=1522768662
2007-02-04 15:15:11,673 INFO [org.jboss.web.tomcat.service.TomcatDeployer] undeploy, ctxPath=/classloader-leak, warUrl=.../tmp/deploy/tmp12161classloader-leak-in-war-exp.war/
2007-02-04 15:15:11,689 ERROR [org.apache.coyote.http11.Http11Processor] Error processing request
java.lang.NullPointerException
at org.apache.catalina.session.StandardSession.endAccess(StandardSession.java:638)
at org.apache.catalina.connector.Request.recycle(Request.java:419)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:239)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:624)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:445)
at java.lang.Thread.run(Thread.java:595)
The test
1) executes a web request against a JSP (JSP does the first INFO logging above)
2) executes an RMIAdaptor request telling the AS to undeploy the webapp
Apparently, the recycle processing from the web request is still ongoing as the webapp is being undeployed. Looks like the undeployment's StandardManager.stop() --> StandardSession.recycle() is nulling out the StandardSession.accessCount field. This leads to the NPE in Request.recycle() --> StandardSession.endAccess().
The test class executes several different tests like this, deploying different wars/ears. The wars all use the same context-root. It seems that after this failure happens on one test, the next test deploys its war OK, but the first web request gets a 503. So it seems the NPE has some lasting effect on the server. There is no server-side logging explaining the 503.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
19 years, 2 months
[JBoss JIRA] Updated: (JGRP-236) Combine join and state transfer
by Vladimir Blagojevic (JIRA)
[ http://jira.jboss.com/jira/browse/JGRP-236?page=all ]
Vladimir Blagojevic updated JGRP-236:
-------------------------------------
Fix Version/s: 2.6
(was: 2.5)
> Combine join and state transfer
> -------------------------------
>
> Key: JGRP-236
> URL: http://jira.jboss.com/jira/browse/JGRP-236
> Project: JGroups
> Issue Type: Feature Request
> Affects Versions: 2.2.8, 2.2.9, 2.3, 2.2.9.1, 2.2.9.2
> Reporter: Bela Ban
> Assigned To: Vladimir Blagojevic
> Fix For: 2.6
>
>
> Add an additional connect(String group_name, boolean fetch_state, String state_id) method to Channel, so that we can combine joining and state transfer into 1 operation. This also requires only 1 FLUSH phase.
> The state would be returned either via pulling with Channel.receive() or pushing the setState() method in a registered Receiver/MessageListener.
> - The JOIN_REQ contains the boolean
> - The algorithm in GMS is the same as the two described above, except that before multicasting the new view and sending
> the JOIN_RSPs and LEAVE_RSPs, we ask the application for its state (GET_APPLSTATE) and when received (GET_APPLSTATE_OK),
> we send it back to the joining member(s), and the RESUME sending messages
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
19 years, 2 months