[JBoss JIRA] Created: (JGRP-752) JGroups leaks thread context classloader to internal threads
by Brian Stansberry (JIRA)
JGroups leaks thread context classloader to internal threads
------------------------------------------------------------
Key: JGRP-752
URL: http://jira.jboss.com/jira/browse/JGRP-752
Project: JGroups
Issue Type: Bug
Affects Versions: 2.6.2
Reporter: Brian Stansberry
Assigned To: Bela Ban
Attachments: classloader-leak.patch
Follow-up to discussion on the jgroups-dev list of issue where threads created by JGroups, particularly pool threads, inherit their TCCL from whatever thread triggers their creation. This can leak application classloaders in an environment where different applications share JGroups resources.
Attached is a patch for this, against the 2.6 branch. We can use this to discuss whether this is worth fixing in JGroups. I have a fix in JBoss AS, although I'm concerned it could prove fragile over time.
The patch is pretty simple, except for TCLAction, an abstraction used to deal with the presence or absence of a SecurityManager. I also tried to handle a J2ME case where SecurityManager, or even the ClassLoader class, don't exist. Not sure if that will work, just an effort.
Patch includes a unit test based on the one in JBoss AS. Hasn't really been properly adapted to all the stuff going on in the JGroups test environment, but it works.
--
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
18 years, 2 months
[JBoss JIRA] Created: (EJBTHREE-1223) Valid Constructs Occassionally Result in Compilation Errors in Maven
by Andrew Lee Rubinger (JIRA)
Valid Constructs Occassionally Result in Compilation Errors in Maven
--------------------------------------------------------------------
Key: EJBTHREE-1223
URL: http://jira.jboss.com/jira/browse/EJBTHREE-1223
Project: EJB 3.0
Issue Type: Bug
Components: build
Environment: Maven Builds; javac and Eclipse are fine
Reporter: Andrew Lee Rubinger
Assigned To: Andrew Lee Rubinger
Fix For: AS 5.0.0.CR1
When running "mvn install", the following is occasionally encountered:
C:\alrubinger\business\jboss\wc\jbossas\projects\ejb3\core\src\test\java\org\jbo
ss\ejb3\test\ejbthree963\MyStatefulBean.java:[44,47] cannot find symbol
symbol : variable JNDI_NAME
location: interface org.jboss.ejb3.test.ejbthree963.MyStatefulHome
C:\alrubinger\business\jboss\wc\jbossas\projects\ejb3\core\src\test\java\org\jbo
ss\ejb3\test\ejbthree1127\Test21WithNoRemoteInterfaceDefinedBean.java:[40,47] ca
nnot find symbol
symbol : variable JNDI_NAME
location: interface org.jboss.ejb3.test.ejbthree1127.TestRemoteHome
C:\alrubinger\business\jboss\wc\jbossas\projects\ejb3\core\src\test\java\org\jbo
ss\ejb3\test\ejbthree1071\StatefulRemoteBean.java:[23,43] cannot find symbol
symbol : variable JNDI_NAME_REMOTE
location: interface org.jboss.ejb3.test.ejbthree1071.StatefulRemote
...these are valid constructs that should be visible to the compiler.
--
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
18 years, 2 months
[JBoss JIRA] Created: (EJBTHREE-1301) org.jboss.proxy.Interceptor missing in jbossall-client.jar
by Kabir Khan (JIRA)
org.jboss.proxy.Interceptor missing in jbossall-client.jar
----------------------------------------------------------
Key: EJBTHREE-1301
URL: http://jira.jboss.com/jira/browse/EJBTHREE-1301
Project: EJB 3.0
Issue Type: Bug
Reporter: Kabir Khan
Assigned To: Carlo de Wolf
Fix For: AS 5.0.0.CR1
Kabir@KabirDell ~/sourcecontrol/jboss-ejb3/core
$ ant -f build-test.xml test -Dtest=interceptors3
Buildfile: build-test.xml
init:
test:
test-with-jvmargs:
[delete] Deleting: C:\cygwin\home\Kabir\sourcecontrol\jboss-ejb3\core\target\log\test.log
[junit] Running org.jboss.ejb3.test.interceptors3.unit.InterceptorsTestCase
[junit] Tests run: 0, Failures: 0, Errors: 1, Time elapsed: 0.297 sec
[junit] Test org.jboss.ejb3.test.interceptors3.unit.InterceptorsTestCase FAILED
BUILD SUCCESSFUL
Total time: 2 seconds
Kabir@KabirDell ~/sourcecontrol/jboss-ejb3/core
$ more target/reports/TEST-org.jboss.ejb3.test.interceptors3.unit.InterceptorsTestCase.txt
Testsuite: org.jboss.ejb3.test.interceptors3.unit.InterceptorsTestCase
Tests run: 0, Failures: 0, Errors: 1, Time elapsed: 0.297 sec
Testcase: unknown took 0 sec
Caused an ERROR
org/jboss/proxy/Interceptor
java.lang.NoClassDefFoundError: org/jboss/proxy/Interceptor
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:620)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:260)
at java.net.URLClassLoader.access$100(URLClassLoader.java:56)
at java.net.URLClassLoader$1.run(URLClassLoader.java:195)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:268)
at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:242)
at sun.rmi.server.LoaderHandler.loadClass(LoaderHandler.java:154)
at java.rmi.server.RMIClassLoader$2.loadClass(RMIClassLoader.java:620)
at java.rmi.server.RMIClassLoader.loadClass(RMIClassLoader.java:247)
at sun.rmi.server.MarshalInputStream.resolveClass(MarshalInputStream.java:197)
at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1544)
at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1466)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1699)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1305)
at java.io.ObjectInputStream.skipCustomData(ObjectInputStream.java:1873)
at java.io.ObjectInputStream.readExternalData(ObjectInputStream.java:1767)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1717)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1305)
at java.io.ObjectInputStream.skipCustomData(ObjectInputStream.java:1873)
at java.io.ObjectInputStream.readExternalData(ObjectInputStream.java:1767)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1717)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1305)
at java.io.ObjectInputStream.skipCustomData(ObjectInputStream.java:1873)
at java.io.ObjectInputStream.readExternalData(ObjectInputStream.java:1767)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1717)
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.readObject(ObjectInputStream.java:348)
at java.rmi.MarshalledObject.get(MarshalledObject.java:135)
at org.jnp.interfaces.MarshalledValuePair.get(MarshalledValuePair.java:72)
at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:712)
at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:629)
at javax.naming.InitialContext.lookup(InitialContext.java:351)
at org.jboss.test.JBossTestServices.getServer(JBossTestServices.java:154)
at org.jboss.test.JBossTestServices.invoke(JBossTestServices.java:228)
at org.jboss.test.JBossTestServices.redeploy(JBossTestServices.java:302)
at org.jboss.test.JBossTestSetup.redeploy(JBossTestSetup.java:185)
at org.jboss.test.JBossTestCase$1.setUp(JBossTestCase.java:310)
at junit.extensions.TestSetup$1.protect(TestSetup.java:22)
at junit.extensions.TestSetup.run(TestSetup.java:27)
--
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
18 years, 2 months