-
Bug
-
Resolution: Won't Do
-
Major
-
None
-
None
[from Bryce Alcock]
JGroups Users:
I am getting what appears to me on the surface to be a dead lock.
Here is the stack trace:
"**************BLA-STUCK THREAD*********************" prio=1 tid=0x08448ed8 nid=0x78dc in Object.wait() [0xb0c10000..0
xb0c110b0]
at java.lang.Object.wait(Native Method)
- waiting on <0x88f500c8> (a org.jgroups.util.Promise)
at org.jgroups.util.Promise.doWait(Promise.java:104)
at org.jgroups.util.Promise._getResultWithTimeout(Promise.java:60)
at org.jgroups.util.Promise.getResultWithTimeout(Promise.java:28) - locked <0x88f500c8> (a org.jgroups.util.Promise)
at org.jgroups.mux.Multiplexer.fetchServiceInformation(Multiplexer.java:196)
at org.jgroups.JChannelFactory.connect(JChannelFactory.java:355) - locked <0x88f37fe0> (a org.jgroups.JChannelFactory$Entry)
at org.jgroups.mux.MuxChannel.connect(MuxChannel.java:126) - locked <0x88f63740> (a org.jgroups.mux.MuxChannel)
at scheduledtaskexecuteframework.group.GenericMultiplexer.connect(GenericMultiplexer.java:83)
at scheduledtaskexecuteframework.schedule.test.MainTest$1.run(MainTest.java:60)
i?
The Senarios is easily reproduced in my system:
I have 2 members of a MuxChannel join and do some work.
I then have a 3rd join.
then I have the second member quit.
wait about 5 mins and have the second member join.
the second member will get stuck like this.
However,
If I dont have the 3rd member join, and just have the second member leave wait five mins and come back
things work fine every time.
here is the line of code that is both holding the mutex and asking for it (apperently in different threads)
byte[] state=(byte[])service_state_promise.getResultWithTimeout(2000);
I am more then willing to give more details about the situation, however,
I am looking for Ideas on how to debug this.
I am using java 1.5.0_11
I am using JGroups-2.4.1-sp3
Bryce