[Design of Messaging on JBoss (Messaging/JBoss)] - Re: Configure a queue to be ordering aware
by gozilla
Hi,
WRT to where to specify the option to order message (actually, it is more general than this option), I support Howard in that it should be configurable on the Destination as well as the CF.
Why on the Destination:
- the option can be activated without any code change.
- this can be seen as a Destination characteristic after all.
- it wouldn't force the sending application to use different CF to send the messages.
Why on the CF:
- like Tim said, so the same destination can be used with and without ordering.
Bottom line, it all depends on the usage scenario.
Actually, I like the ability to "add" characteristics to messages using the objects through which they pass:
- producer
- CF
- transport channel(s)
- router(s)
- destination
By characteristics, I mean all the properties that a message can have, such as:
- ordering group,
- TTL,
- size constraints,
- priority,
- actually any message property,
- message filters,
...
Cheers,
Francois
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4206585#4206585
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4206585
15 years, 2 months
[Design of POJO Server] - Re: Strange classloading behavior -- thread stuck
by adrian@jboss.org
"bstansberry(a)jboss.com" wrote : "adrian(a)jboss.org" wrote :
| | anonymous wrote :
| | | I don't think your second guess is correct? The one about the remove
| | | being outside the synchronized block. The code is the same as JBoss4.x
| |
| | That was more something I noticed that just looked wrong in general -- mutating an unguarded object. If it caused a problem though I'd expect it to be an IndexOutOfBoundsException because a thread lost a race to remove the last item.
|
| I don't think there is a problem there (not just because it is the same as JBoss4 :-).
|
| The list is a SynchronizedList and you only get to that code if you own the lock
| and there is something to execute (notice the return inside the synchronized block
| if the list is empty).
|
| So other people can add to the list, but you can be sure there is at least one element
| in it when you do the remove().
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4206582#4206582
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4206582
15 years, 2 months
[Design of POJO Server] - Re: Strange classloading behavior -- thread stuck
by bela@jboss.com
Howdy, folks, I concur with Brian's assertion that the offending code seems to be looping. I'll enable TRACE for the org.jboss.classloader package, hopefully today, and post the findings. I'll past 4 (partial) stack traces of the offending Incoming-2 thread, each taken a few seconds apart, below. You can see that the code seems to loop indeed:
Name: Incoming-2,192.168.1.9:49336
State: RUNNABLE
Total blocked: 22 Total waited: 1,719
Stack trace:
java.util.Collections$SynchronizedList.add(Collections.java:1822)
- locked java.util.Collections$SynchronizedList@28ad5127
org.jboss.classloader.spi.base.ClassLoaderManager.unregisterLoaderThread(ClassLoaderManager.java:125)
- locked java.util.Collections$SynchronizedList@28ad5127
- locked java.util.Collections$SynchronizedList@28ad5127
org.jboss.classloader.spi.base.BaseClassLoader.unlock(BaseClassLoader.java:1011)
- locked org.jboss.classloader.spi.base.BaseClassLoader@783cdf2d
org.jboss.classloader.spi.base.BaseClassLoader.unlock(BaseClassLoader.java:894)
org.jboss.classloader.spi.base.ClassLoaderManager.nextTask(ClassLoaderManager.java:289)
org.jboss.classloader.spi.base.ClassLoaderManager.process(ClassLoaderManager.java:148)
org.jboss.classloader.spi.base.BaseClassLoaderDomain.loadClass(BaseClassLoaderDomain.java:256)
org.jboss.classloader.spi.base.BaseClassLoaderDomain.loadClass(BaseClassLoaderDomain.java:1099)
org.jboss.classloader.spi.base.BaseClassLoader.loadClassFromDomain(BaseClassLoader.java:735)
org.jboss.classloader.spi.base.BaseClassLoader.loadClass(BaseClassLoader.java:378)
- locked org.jboss.classloader.spi.base.BaseClassLoader@5f14a3c6
java.lang.ClassLoader.loadClass(ClassLoader.java:252)
java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
- locked org.jboss.classloader.spi.base.BaseClassLoader@5f14a3c6
java.lang.ClassLoader.defineClass1(Native Method)
java.lang.ClassLoader.defineClass(ClassLoader.java:621)
org.jboss.classloader.spi.base.BaseClassLoader.access$200(BaseClassLoader.java:62)
org.jboss.classloader.spi.base.BaseClassLoader$2.run(BaseClassLoader.java:509)
org.jboss.classloader.spi.base.BaseClassLoader$2.run(BaseClassLoader.java:469)
java.security.AccessController.doPrivileged(Native Method)
org.jboss.classloader.spi.base.BaseClassLoader.loadClassLocally(BaseClassLoader.java:467)
- locked org.jboss.classloader.spi.base.BaseClassLoader@5f14a3c6
org.jboss.classloader.spi.base.BaseClassLoader.loadClassLocally(BaseClassLoader.java:444)
org.jboss.classloader.spi.base.BaseDelegateLoader.loadClass(BaseDelegateLoader.java:134)
org.jboss.classloader.spi.filter.FilteredDelegateLoader.loadClass(FilteredDelegateLoader.java:131)
org.jboss.classloader.spi.base.ClassLoadingTask$ThreadTask.run(ClassLoadingTask.java:452)
org.jboss.classloader.spi.base.ClassLoaderManager.nextTask(ClassLoaderManager.java:254)
org.jboss.classloader.spi.base.ClassLoaderManager.process(ClassLoaderManager.java:148)
org.jboss.classloader.spi.base.BaseClassLoaderDomain.loadClass(BaseClassLoaderDomain.java:256)
org.jboss.classloader.spi.base.BaseClassLoaderDomain.loadClass(BaseClassLoaderDomain.java:1099)
org.jboss.classloader.spi.base.BaseClassLoader.loadClassFromDomain(BaseClassLoader.java:735)
org.jboss.classloader.spi.base.BaseClassLoader.loadClass(BaseClassLoader.java:378)
- locked org.jboss.classloader.spi.base.BaseClassLoader@5f14a3c6
java.lang.ClassLoader.loadClass(ClassLoader.java:252)
org.jboss.invocation.MarshalledValueInputStream.resolveClass(MarshalledValueInputStream.java:101)
java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1575)
java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1496)
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1732)
java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
java.io.ObjectInputStream.readObject(ObjectInputStream.java:351)
java.util.HashSet.readObject(HashSet.java:291)
sun.reflect.GeneratedMethodAccessor219.invoke(Unknown Source)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
java.lang.reflect.Method.invoke(Method.java:597)
java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:974)
java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1849)
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1753)
java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
java.io.ObjectInputStream.readArray(ObjectInputStream.java:1667)
java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1323)
java.io.ObjectInputStream.readObject(ObjectInputStream.java:351)
org.jgroups.blocks.MethodCall.readExternal(MethodCall.java:488)
java.io.ObjectInputStream.readExternalData(ObjectInputStream.java:1792)
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1751)
java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
java.io.ObjectInputStream.readObject(ObjectInputStream.java:351)
org.jboss.ha.framework.server.ClusterPartition.objectFromByteBufferInternal(ClusterPartition.java:1852)
org.jboss.ha.framework.server.ClusterPartition$RpcHandler.handle(ClusterPartition.java:2218)
org.jgroups.blocks.RequestCorrelator.handleRequest(RequestCorrelator.java:637)
org.jgroups.blocks.RequestCorrelator.receiveMessage(RequestCorrelator.java:545)
org.jgroups.blocks.RequestCorrelator.receive(RequestCorrelator.java:368)
org.jgroups.blocks.MessageDispatcher$ProtocolAdapter.up(MessageDispatcher.java:775)
org.jgroups.JChannel.up(JChannel.java:1274)
org.jgroups.stack.ProtocolStack.up(ProtocolStack.java:462)
org.jgroups.protocols.pbcast.FLUSH.up(FLUSH.java:443)
org.jgroups.protocols.pbcast.STATE_TRANSFER.up(STATE_TRANSFER.java:144)
org.jgroups.protocols.FRAG2.up(FRAG2.java:192)
org.jgroups.protocols.FC.up(FC.java:468)
org.jgroups.protocols.pbcast.GMS.up(GMS.java:796)
org.jgroups.protocols.pbcast.STABLE.up(STABLE.java:233)
org.jgroups.protocols.UNICAST.up(UNICAST.java:299)
org.jgroups.protocols.pbcast.NAKACK.handleMessage(NAKACK.java:873)
org.jgroups.protocols.pbcast.NAKACK.up(NAKACK.java:705)
org.jgroups.protocols.VERIFY_SUSPECT.up(VERIFY_SUSPECT.java:167)
org.jgroups.protocols.FD.up(FD.java:284)
org.jgroups.protocols.FD_SOCK.up(FD_SOCK.java:308)
org.jgroups.protocols.MERGE2.up(MERGE2.java:144)
org.jgroups.protocols.Discovery.up(Discovery.java:263)
org.jgroups.protocols.PING.up(PING.java:270)
org.jgroups.protocols.TP$ProtocolAdapter.up(TP.java:2319)
org.jgroups.protocols.TP.passMessageUp(TP.java:1253)
org.jgroups.protocols.TP.access$100(TP.java:49)
org.jgroups.protocols.TP$IncomingPacket.handleMyMessage(TP.java:1830)
org.jgroups.protocols.TP$IncomingPacket.run(TP.java:1809)
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
java.lang.Thread.run(Thread.java:619)
Name: Incoming-2,192.168.1.9:49336
State: RUNNABLE
Total blocked: 22 Total waited: 1,719
Stack trace:
org.jboss.classloader.spi.base.ClassLoaderManager.unregisterLoaderThread(ClassLoaderManager.java:123)
- locked java.util.Collections$SynchronizedList@28ad5127
- locked java.util.Collections$SynchronizedList@28ad5127
org.jboss.classloader.spi.base.BaseClassLoader.unlock(BaseClassLoader.java:1011)
- locked org.jboss.classloader.spi.base.BaseClassLoader@783cdf2d
org.jboss.classloader.spi.base.BaseClassLoader.unlock(BaseClassLoader.java:894)
org.jboss.classloader.spi.base.ClassLoaderManager.nextTask(ClassLoaderManager.java:289)
org.jboss.classloader.spi.base.ClassLoaderManager.process(ClassLoaderManager.java:148)
org.jboss.classloader.spi.base.BaseClassLoaderDomain.loadClass(BaseClassLoaderDomain.java:256)
org.jboss.classloader.spi.base.BaseClassLoaderDomain.loadClass(BaseClassLoaderDomain.java:1099)
org.jboss.classloader.spi.base.BaseClassLoader.loadClassFromDomain(BaseClassLoader.java:735)
org.jboss.classloader.spi.base.BaseClassLoader.loadClass(BaseClassLoader.java:378)
- locked org.jboss.classloader.spi.base.BaseClassLoader@5f14a3c6
java.lang.ClassLoader.loadClass(ClassLoader.java:252)
java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
- locked org.jboss.classloader.spi.base.BaseClassLoader@5f14a3c6
java.lang.ClassLoader.defineClass1(Native Method)
java.lang.ClassLoader.defineClass(ClassLoader.java:621)
org.jboss.classloader.spi.base.BaseClassLoader.access$200(BaseClassLoader.java:62)
org.jboss.classloader.spi.base.BaseClassLoader$2.run(BaseClassLoader.java:509)
org.jboss.classloader.spi.base.BaseClassLoader$2.run(BaseClassLoader.java:469)
java.security.AccessController.doPrivileged(Native Method)
org.jboss.classloader.spi.base.BaseClassLoader.loadClassLocally(BaseClassLoader.java:467)
- locked org.jboss.classloader.spi.base.BaseClassLoader@5f14a3c6
org.jboss.classloader.spi.base.BaseClassLoader.loadClassLocally(BaseClassLoader.java:444)
org.jboss.classloader.spi.base.BaseDelegateLoader.loadClass(BaseDelegateLoader.java:134)
org.jboss.classloader.spi.filter.FilteredDelegateLoader.loadClass(FilteredDelegateLoader.java:131)
org.jboss.classloader.spi.base.ClassLoadingTask$ThreadTask.run(ClassLoadingTask.java:452)
org.jboss.classloader.spi.base.ClassLoaderManager.nextTask(ClassLoaderManager.java:254)
org.jboss.classloader.spi.base.ClassLoaderManager.process(ClassLoaderManager.java:148)
org.jboss.classloader.spi.base.BaseClassLoaderDomain.loadClass(BaseClassLoaderDomain.java:256)
org.jboss.classloader.spi.base.BaseClassLoaderDomain.loadClass(BaseClassLoaderDomain.java:1099)
org.jboss.classloader.spi.base.BaseClassLoader.loadClassFromDomain(BaseClassLoader.java:735)
org.jboss.classloader.spi.base.BaseClassLoader.loadClass(BaseClassLoader.java:378)
- locked org.jboss.classloader.spi.base.BaseClassLoader@5f14a3c6
java.lang.ClassLoader.loadClass(ClassLoader.java:252)
org.jboss.invocation.MarshalledValueInputStream.resolveClass(MarshalledValueInputStream.java:101)
java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1575)
java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1496)
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1732)
java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
java.io.ObjectInputStream.readObject(ObjectInputStream.java:351)
java.util.HashSet.readObject(HashSet.java:291)
Stack trace:
java.util.Collections$SynchronizedList.add(Collections.java:1822)
- locked java.util.Collections$SynchronizedList@28ad5127
org.jboss.classloader.spi.base.ClassLoaderManager.unregisterLoaderThread(ClassLoaderManager.java:125)
- locked java.util.Collections$SynchronizedList@28ad5127
- locked java.util.Collections$SynchronizedList@28ad5127
org.jboss.classloader.spi.base.BaseClassLoader.unlock(BaseClassLoader.java:1011)
- locked org.jboss.classloader.spi.base.BaseClassLoader@783cdf2d
org.jboss.classloader.spi.base.BaseClassLoader.unlock(BaseClassLoader.java:894)
org.jboss.classloader.spi.base.ClassLoaderManager.nextTask(ClassLoaderManager.java:289)
org.jboss.classloader.spi.base.ClassLoaderManager.process(ClassLoaderManager.java:148)
org.jboss.classloader.spi.base.BaseClassLoaderDomain.loadClass(BaseClassLoaderDomain.java:256)
org.jboss.classloader.spi.base.BaseClassLoaderDomain.loadClass(BaseClassLoaderDomain.java:1099)
org.jboss.classloader.spi.base.BaseClassLoader.loadClassFromDomain(BaseClassLoader.java:735)
org.jboss.classloader.spi.base.BaseClassLoader.loadClass(BaseClassLoader.java:378)
- locked org.jboss.classloader.spi.base.BaseClassLoader@5f14a3c6
java.lang.ClassLoader.loadClass(ClassLoader.java:252)
java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
- locked org.jboss.classloader.spi.base.BaseClassLoader@5f14a3c6
java.lang.ClassLoader.defineClass1(Native Method)
java.lang.ClassLoader.defineClass(ClassLoader.java:621)
org.jboss.classloader.spi.base.BaseClassLoader.access$200(BaseClassLoader.java:62)
org.jboss.classloader.spi.base.BaseClassLoader$2.run(BaseClassLoader.java:509)
org.jboss.classloader.spi.base.BaseClassLoader$2.run(BaseClassLoader.java:469)
java.security.AccessController.doPrivileged(Native Method)
org.jboss.classloader.spi.base.BaseClassLoader.loadClassLocally(BaseClassLoader.java:467)
- locked org.jboss.classloader.spi.base.BaseClassLoader@5f14a3c6
org.jboss.classloader.spi.base.BaseClassLoader.loadClassLocally(BaseClassLoader.java:444)
org.jboss.classloader.spi.base.BaseDelegateLoader.loadClass(BaseDelegateLoader.java:134)
org.jboss.classloader.spi.filter.FilteredDelegateLoader.loadClass(FilteredDelegateLoader.java:131)
org.jboss.classloader.spi.base.ClassLoadingTask$ThreadTask.run(ClassLoadingTask.java:452)
org.jboss.classloader.spi.base.ClassLoaderManager.nextTask(ClassLoaderManager.java:254)
org.jboss.classloader.spi.base.ClassLoaderManager.process(ClassLoaderManager.java:148)
org.jboss.classloader.spi.base.BaseClassLoaderDomain.loadClass(BaseClassLoaderDomain.java:256)
org.jboss.classloader.spi.base.BaseClassLoaderDomain.loadClass(BaseClassLoaderDomain.java:1099)
org.jboss.classloader.spi.base.BaseClassLoader.loadClassFromDomain(BaseClassLoader.java:735)
org.jboss.classloader.spi.base.BaseClassLoader.loadClass(BaseClassLoader.java:378)
- locked org.jboss.classloader.spi.base.BaseClassLoader@5f14a3c6
java.lang.ClassLoader.loadClass(ClassLoader.java:252)
org.jboss.invocation.MarshalledValueInputStream.resolveClass(MarshalledValueInputStream.java:101)
java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1575)
java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1496)
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1732)
java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
java.io.ObjectInputStream.readObject(ObjectInputStream.java:351)
java.util.HashSet.readObject(HashSet.java:291)
sun.reflect.GeneratedMethodAccessor219.invoke(Unknown Source)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
java.lang.reflect.Method.invoke(Method.java:597)
java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:974)
java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1849)
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1753)
java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
java.io.ObjectInputStream.readArray(ObjectInputStream.java:1667)
java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1323)
java.io.ObjectInputStream.readObject(ObjectInputStream.java:351)
org.jgroups.blocks.MethodCall.readExternal(MethodCall.java:488)
java.io.ObjectInputStream.readExternalData(ObjectInputStream.java:1792)
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1751)
java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
java.io.ObjectInputStream.readObject(ObjectInputStream.java:351)
Name: Incoming-2,192.168.1.9:49336
State: RUNNABLE
Total blocked: 22 Total waited: 1,719
Stack trace:
org.jboss.classloader.spi.base.ClassLoaderManager.unregisterLoaderThread(ClassLoaderManager.java:115)
- locked java.util.Collections$SynchronizedList@28ad5127
org.jboss.classloader.spi.base.BaseClassLoader.unlock(BaseClassLoader.java:1011)
- locked org.jboss.classloader.spi.base.BaseClassLoader@783cdf2d
org.jboss.classloader.spi.base.BaseClassLoader.unlock(BaseClassLoader.java:894)
org.jboss.classloader.spi.base.ClassLoaderManager.nextTask(ClassLoaderManager.java:289)
org.jboss.classloader.spi.base.ClassLoaderManager.process(ClassLoaderManager.java:148)
org.jboss.classloader.spi.base.BaseClassLoaderDomain.loadClass(BaseClassLoaderDomain.java:256)
org.jboss.classloader.spi.base.BaseClassLoaderDomain.loadClass(BaseClassLoaderDomain.java:1099)
org.jboss.classloader.spi.base.BaseClassLoader.loadClassFromDomain(BaseClassLoader.java:735)
org.jboss.classloader.spi.base.BaseClassLoader.loadClass(BaseClassLoader.java:378)
- locked org.jboss.classloader.spi.base.BaseClassLoader@5f14a3c6
java.lang.ClassLoader.loadClass(ClassLoader.java:252)
java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
- locked org.jboss.classloader.spi.base.BaseClassLoader@5f14a3c6
java.lang.ClassLoader.defineClass1(Native Method)
java.lang.ClassLoader.defineClass(ClassLoader.java:621)
org.jboss.classloader.spi.base.BaseClassLoader.access$200(BaseClassLoader.java:62)
org.jboss.classloader.spi.base.BaseClassLoader$2.run(BaseClassLoader.java:509)
org.jboss.classloader.spi.base.BaseClassLoader$2.run(BaseClassLoader.java:469)
java.security.AccessController.doPrivileged(Native Method)
org.jboss.classloader.spi.base.BaseClassLoader.loadClassLocally(BaseClassLoader.java:467)
- locked org.jboss.classloader.spi.base.BaseClassLoader@5f14a3c6
org.jboss.classloader.spi.base.BaseClassLoader.loadClassLocally(BaseClassLoader.java:444)
org.jboss.classloader.spi.base.BaseDelegateLoader.loadClass(BaseDelegateLoader.java:134)
org.jboss.classloader.spi.filter.FilteredDelegateLoader.loadClass(FilteredDelegateLoader.java:131)
org.jboss.classloader.spi.base.ClassLoadingTask$ThreadTask.run(ClassLoadingTask.java:452)
org.jboss.classloader.spi.base.ClassLoaderManager.nextTask(ClassLoaderManager.java:254)
org.jboss.classloader.spi.base.ClassLoaderManager.process(ClassLoaderManager.java:148)
org.jboss.classloader.spi.base.BaseClassLoaderDomain.loadClass(BaseClassLoaderDomain.java:256)
org.jboss.classloader.spi.base.BaseClassLoaderDomain.loadClass(BaseClassLoaderDomain.java:1099)
org.jboss.classloader.spi.base.BaseClassLoader.loadClassFromDomain(BaseClassLoader.java:735)
org.jboss.classloader.spi.base.BaseClassLoader.loadClass(BaseClassLoader.java:378)
- locked org.jboss.classloader.spi.base.BaseClassLoader@5f14a3c6
java.lang.ClassLoader.loadClass(ClassLoader.java:252)
org.jboss.invocation.MarshalledValueInputStream.resolveClass(MarshalledValueInputStream.java:101)
java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1575)
java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1496)
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1732)
java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
java.io.ObjectInputStream.readObject(ObjectInputStream.java:351)
java.util.HashSet.readObject(HashSet.java:291)
sun.reflect.GeneratedMethodAccessor219.invoke(Unknown Source)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
java.lang.reflect.Method.invoke(Method.java:597)
java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:974)
java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1849)
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1753)
java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
java.io.ObjectInputStream.readArray(ObjectInputStream.java:1667)
java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1323)
java.io.ObjectInputStream.readObject(ObjectInputStream.java:351)
org.jgroups.blocks.MethodCall.readExternal(MethodCall.java:488)
java.io.ObjectInputStream.readExternalData(ObjectInputStream.java:1792)
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1751)
java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
java.io.ObjectInputStream.readObject(ObjectInputStream.java:351)
org.jboss.ha.framework.server.ClusterPartition.objectFromByteBufferInternal(ClusterPartition.java:1852)
Name: Incoming-2,192.168.1.9:49336
State: RUNNABLE
Total blocked: 22 Total waited: 1,719
Stack trace:
java.util.Collections$SynchronizedList.remove(Collections.java:1825)
- locked java.util.Collections$SynchronizedList@28ad5127
org.jboss.classloader.spi.base.ClassLoaderManager.unregisterLoaderThread(ClassLoaderManager.java:115)
- locked java.util.Collections$SynchronizedList@28ad5127
org.jboss.classloader.spi.base.BaseClassLoader.unlock(BaseClassLoader.java:1011)
- locked org.jboss.classloader.spi.base.BaseClassLoader@783cdf2d
org.jboss.classloader.spi.base.BaseClassLoader.unlock(BaseClassLoader.java:894)
org.jboss.classloader.spi.base.ClassLoaderManager.nextTask(ClassLoaderManager.java:289)
org.jboss.classloader.spi.base.ClassLoaderManager.process(ClassLoaderManager.java:148)
org.jboss.classloader.spi.base.BaseClassLoaderDomain.loadClass(BaseClassLoaderDomain.java:256)
org.jboss.classloader.spi.base.BaseClassLoaderDomain.loadClass(BaseClassLoaderDomain.java:1099)
org.jboss.classloader.spi.base.BaseClassLoader.loadClassFromDomain(BaseClassLoader.java:735)
org.jboss.classloader.spi.base.BaseClassLoader.loadClass(BaseClassLoader.java:378)
- locked org.jboss.classloader.spi.base.BaseClassLoader@5f14a3c6
java.lang.ClassLoader.loadClass(ClassLoader.java:252)
java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
- locked org.jboss.classloader.spi.base.BaseClassLoader@5f14a3c6
java.lang.ClassLoader.defineClass1(Native Method)
java.lang.ClassLoader.defineClass(ClassLoader.java:621)
org.jboss.classloader.spi.base.BaseClassLoader.access$200(BaseClassLoader.java:62)
org.jboss.classloader.spi.base.BaseClassLoader$2.run(BaseClassLoader.java:509)
org.jboss.classloader.spi.base.BaseClassLoader$2.run(BaseClassLoader.java:469)
java.security.AccessController.doPrivileged(Native Method)
org.jboss.classloader.spi.base.BaseClassLoader.loadClassLocally(BaseClassLoader.java:467)
- locked org.jboss.classloader.spi.base.BaseClassLoader@5f14a3c6
org.jboss.classloader.spi.base.BaseClassLoader.loadClassLocally(BaseClassLoader.java:444)
org.jboss.classloader.spi.base.BaseDelegateLoader.loadClass(BaseDelegateLoader.java:134)
org.jboss.classloader.spi.filter.FilteredDelegateLoader.loadClass(FilteredDelegateLoader.java:131)
org.jboss.classloader.spi.base.ClassLoadingTask$ThreadTask.run(ClassLoadingTask.java:452)
org.jboss.classloader.spi.base.ClassLoaderManager.nextTask(ClassLoaderManager.java:254)
org.jboss.classloader.spi.base.ClassLoaderManager.process(ClassLoaderManager.java:148)
org.jboss.classloader.spi.base.BaseClassLoaderDomain.loadClass(BaseClassLoaderDomain.java:256)
org.jboss.classloader.spi.base.BaseClassLoaderDomain.loadClass(BaseClassLoaderDomain.java:1099)
org.jboss.classloader.spi.base.BaseClassLoader.loadClassFromDomain(BaseClassLoader.java:735)
org.jboss.classloader.spi.base.BaseClassLoader.loadClass(BaseClassLoader.java:378)
- locked org.jboss.classloader.spi.base.BaseClassLoader@5f14a3c6
java.lang.ClassLoader.loadClass(ClassLoader.java:252)
org.jboss.invocation.MarshalledValueInputStream.resolveClass(MarshalledValueInputStream.java:101)
java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1575)
java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1496)
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1732)
java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
java.io.ObjectInputStream.readObject(ObjectInputStream.java:351)
java.util.HashSet.readObject(HashSet.java:291)
sun.reflect.GeneratedMethodAccessor219.invoke(Unknown Source)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
java.lang.reflect.Method.invoke(Method.java:597)
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4206571#4206571
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4206571
15 years, 2 months
[Design of POJO Server] - Re: Strange classloading behavior -- thread stuck
by bstansberry@jboss.com
"adrian(a)jboss.org" wrote :
| So the issue is to try to figure out how that could happen.
|
| If you know how to reproduce the problem, enabling TRACE logging
| for org.jboss.classloader would help greatly. ;-)
Bela seems able to reproduce easily enough; I've asked him to add TRACE logging.
He sent me another message this AM with a bunch of stack traces from the problem thread. All showed the thread in different places inside the while (taskList.isEmpty() == false) loop.
anonymous wrote :
| I don't think your second guess is correct? The one about the remove
| being outside the synchronized block. The code is the same as JBoss4.x
That was more something I noticed that just looked wrong in general -- mutating an unguarded object. If it caused a problem though I'd expect it to be an IndexOutOfBoundsException because a thread lost a race to remove the last item.
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4206570#4206570
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4206570
15 years, 2 months