[Bug] Deadlock in shark occurs
David Delbecq <[email protected]> Wed, 7 Sep 2005 15:59:33 +0200
| Newsgroups | gmane.comp.java.enhydra.shark |
|---|---|
| Organization | Institut Royal Météorologique |
| Message-ID | <[email protected]> |
Hello
While running some unit testing to use the shark corba api, i noticed a test was taking
quite a big amount of time to finish. In fact, it didn't seem keen on finishing.
I suspended the whole test using the eclipse debug interface.
The client part is stuck in a call to get_next_object():
WfAssignmentIterator iterator = resource.get_iterator_work_item(); // specs
iterator.set_query_expression("activityId.equals(\""+activity+"\")");
return iterator.get_next_object();
This is not called in a loop nor is it reproducable after stopping / rerunning unit test.
The unit test always start on a fresh new hsql database, so environnemental conditions
of test are well controlled and always the same. As this test non finishing is random, this is
why i think this can be a deadlock somewhere.
Complete stack trace of all threads present in process follows.
Please also note the shark client and server are both in same process (separate threads) for
the purpose of unit testing.
Am providing full stacktrace as i think this might interest the shark devels.
(Code of unit test can also be provided to shark devels on demand but i won't send it to mailing list)
Wish you a good headache :)
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner at localhost:33033 (Suspended)
System Thread [Finalizer] (Suspended)
Object.wait(long) line: not available [native method]
ReferenceQueue.remove(long) line: 111
ReferenceQueue.remove() line: 127
Finalizer$FinalizerThread.run() line: 159
System Thread [Reference Handler] (Suspended)
Object.wait(long) line: not available [native method]
Reference$Lock(Object).wait() line: 429
Reference$ReferenceHandler.run() line: 115
Thread [main] (Suspended)
Object.wait(long) line: not available [native method]
Object.wait() line: 429
IIOPConnection.getResponse(boolean, int) line: 646
ClientRequestImpl(IIOPOutputStream).invoke(boolean) line: 121
ClientRequestImpl.invoke() line: 76
ClientDelegate.invoke(ClientRequest) line: 235
ClientDelegate.invoke(Object, OutputStream) line: 282
_WfAssignmentIteratorStub(ObjectImpl)._invoke(OutputStream) line: 457
_WfAssignmentIteratorStub.get_next_object() line: 19
WorkflowTaskTest.getAssignment(WfResource, String) line: 210
WorkflowTaskTest.testManageValues() line: 224
NativeMethodAccessorImpl.invoke0(Method, Object, Object[]) line: not available [native method]
NativeMethodAccessorImpl.invoke(Object, Object[]) line: 39
DelegatingMethodAccessorImpl.invoke(Object, Object[]) line: 25
Method.invoke(Object, Object[]) line: 324
WorkflowTaskTest(TestCase).runTest() line: 154
WorkflowTaskTest(TestCase).runBare() line: 127
TestResult$1.protect() line: 106
TestResult.runProtected(Test, Protectable) line: 124
TestResult.run(TestCase) line: 109
WorkflowTaskTest(TestCase).run(TestResult) line: 118
TestSuite.runTest(Test, TestResult) line: 208
TestSuite.run(TestResult) line: 203
TestHelper$1(TestDecorator).basicRun(TestResult) line: 22
TestSetup$1.protect() line: 19
TestResult.runProtected(Test, Protectable) line: 124
TestHelper$1(TestSetup).run(TestResult) line: 23
RemoteTestRunner.runTests(String[], String) line: 421
RemoteTestRunner.run() line: 305
RemoteTestRunner.main(String[]) line: 186
System Thread [Signal Dispatcher] (Suspended)
Thread [ReaderThread] (Suspended)
SocketInputStream.socketRead0(FileDescriptor, byte[], int, int, int) line: not available [native method]
SocketInputStream.read(byte[], int, int) line: 129
StreamDecoder$CharsetSD.readBytes() line: 408
StreamDecoder$CharsetSD.implRead(char[], int, int) line: 450
StreamDecoder$CharsetSD(StreamDecoder).read(char[], int, int) line: 182
InputStreamReader.read(char[], int, int) line: 167
BufferedReader.fill() line: 136
BufferedReader.readLine(boolean) line: 299
BufferedReader.readLine() line: 362
RemoteTestRunner$ReaderThread.run() line: 139
Thread [HSQLDB Timer @e183e9] (Suspended)
Object.wait(long) line: not available [native method]
HsqlTimer.nextTask() line: not available
HsqlTimer$TaskRunner.run() line: not available
Thread.run() line: 534
Thread [Thread-3] (Suspended)
Object.wait(long) line: not available [native method]
Object.wait() line: 429
PIORB(ORB).run() line: 2521
SharkCORBAServer.startCORBAServer() line: 141
TestHelper$ServerThread.run() line: 49
System Thread [JavaIDL Reader for localhost:10123] (Suspended)
SocketInputStream.socketRead0(FileDescriptor, byte[], int, int, int) line: not available [native method]
SocketInputStream.read(byte[], int, int) line: 129
MessageBase.readFully(InputStream, byte[], int, int) line: 518
MessageBase.createFromStream(ORB, InputStream) line: 55
MessageMediator.processRequest() line: 107
IIOPConnection.processInput() line: 336
ReaderThread.run() line: 60
System Thread [JavaIDL Reader for 193.190.249.120:10123] (Suspended)
SocketInputStream.socketRead0(FileDescriptor, byte[], int, int, int) line: not available [native method]
SocketInputStream.read(byte[], int, int) line: 129
MessageBase.readFully(InputStream, byte[], int, int) line: 518
MessageBase.createFromStream(ORB, InputStream) line: 55
MessageMediator.processRequest() line: 107
IIOPConnection.processInput() line: 336
ReaderThread.run() line: 60
System Thread [JavaIDL Listener] (Suspended)
PlainSocketImpl.socketAccept(SocketImpl) line: not available [native method]
PlainSocketImpl.accept(SocketImpl) line: 353
ServerSocket.implAccept(Socket) line: 448
ServerSocket.accept() line: 419
ListenerThread.run() line: 58
System Thread [JavaIDL Listener] (Suspended)
PlainSocketImpl.socketAccept(SocketImpl) line: not available [native method]
PlainSocketImpl.accept(SocketImpl) line: 353
ServerSocket.implAccept(Socket) line: 448
ServerSocket.accept() line: 419
ListenerThread.run() line: 58
System Thread [JavaIDL Reader for localhost:10123] (Suspended)
SocketInputStream.socketRead0(FileDescriptor, byte[], int, int, int) line: not available [native method]
SocketInputStream.read(byte[], int, int) line: 129
MessageBase.readFully(InputStream, byte[], int, int) line: 518
MessageBase.createFromStream(ORB, InputStream) line: 55
MessageMediator.processRequest() line: 107
IIOPConnection.processInput() line: 336
ReaderThread.run() line: 60
System Thread [JavaIDL Reader for 193.190.249.120:10123] (Suspended)
SocketInputStream.socketRead0(FileDescriptor, byte[], int, int, int) line: not available [native method]
SocketInputStream.read(byte[], int, int) line: 129
MessageBase.readFully(InputStream, byte[], int, int) line: 518
MessageBase.createFromStream(ORB, InputStream) line: 55
MessageMediator.processRequest() line: 107
IIOPConnection.processInput() line: 336
ReaderThread.run() line: 60
System Thread [JavaIDL Reader for 193.190.249.120:33038] (Suspended)
SocketInputStream.socketRead0(FileDescriptor, byte[], int, int, int) line: not available [native method]
SocketInputStream.read(byte[], int, int) line: 129
MessageBase.readFully(InputStream, byte[], int, int) line: 518
MessageBase.createFromStream(ORB, InputStream) line: 55
MessageMediator.processRequest() line: 107
IIOPConnection.processInput() line: 336
ReaderThread.run() line: 60
System Thread [JavaIDL Reader for CAL-12.oma.be:33042] (Suspended)
SocketInputStream.socketRead0(FileDescriptor, byte[], int, int, int) line: not available [native method]
SocketInputStream.read(byte[], int, int) line: 129
MessageBase.readFully(InputStream, byte[], int, int) line: 518
MessageBase.createFromStream(ORB, InputStream) line: 55
MessageMediator.processRequest() line: 107
IIOPConnection.processInput() line: 336
ReaderThread.run() line: 60
System Thread [RequestProcessor[0]] (Suspended)
Parser.jj_scan_token(int) line: not available
Parser.jj_3R_40() line: not available
Parser.jj_3_22() line: not available
Parser.jj_3R_45() line: not available
Parser.jj_3_28() line: not available
Parser.jj_2_28(int) line: not available
Parser.BlockStatement() line: not available
Parser.Line() line: not available
Interpreter.Line() line: not available
Interpreter.eval(Reader, NameSpace, String) line: not available
Interpreter.eval(String, NameSpace) line: not available
Interpreter.eval(String) line: not available
BshEvaluator.evaluateExpression(SharkTransaction, String, Map, Class) line: 67
BshEvaluator.evaluateCondition(SharkTransaction, String, Map) line: 40
WfAssignmentIteratorWrapper.fillObjectList(SharkTransaction) line: 189
WfAssignmentIteratorWrapper(BaseIteratorWrapper).getNextObject(SharkTransaction) line: 223
WfAssignmentIteratorWrapper.get_next_object(SharkTransaction) line: 60
WfAssignmentIteratorWrapper.get_next_object() line: 44
WfAssignmentIteratorCORBA.get_next_object() line: 110
WfAssignmentIteratorCORBA(_WfAssignmentIteratorImplBase)._invoke(String, InputStream, ResponseHandler) line: 53
ServerDelegate.dispatch(ServerRequest) line: 353
PIORB(ORB).process(ServerRequest) line: 280
RequestProcessor.process() line: 81
ThreadPool$PooledThread.run() line: 106
System Thread [JavaIDL Listener] (Suspended)
PlainSocketImpl.socketAccept(SocketImpl) line: not available [native method]
PlainSocketImpl.accept(SocketImpl) line: 353
ServerSocket.implAccept(Socket) line: 448
ServerSocket.accept() line: 419
ListenerThread.run() line: 58
System Thread [JavaIDL Reader for localhost:10123] (Suspended)
SocketInputStream.socketRead0(FileDescriptor, byte[], int, int, int) line: not available [native method]
SocketInputStream.read(byte[], int, int) line: 129
MessageBase.readFully(InputStream, byte[], int, int) line: 518
MessageBase.createFromStream(ORB, InputStream) line: 55
MessageMediator.processRequest() line: 107
IIOPConnection.processInput() line: 336
ReaderThread.run() line: 60
System Thread [JavaIDL Reader for 193.190.249.120:10123] (Suspended)
SocketInputStream.socketRead0(FileDescriptor, byte[], int, int, int) line: not available [native method]
SocketInputStream.read(byte[], int, int) line: 129
MessageBase.readFully(InputStream, byte[], int, int) line: 518
MessageBase.createFromStream(ORB, InputStream) line: 55
MessageMediator.processRequest() line: 107
IIOPConnection.processInput() line: 336
ReaderThread.run() line: 60
System Thread [JavaIDL Reader for 193.190.249.120:33038] (Suspended)
SocketInputStream.socketRead0(FileDescriptor, byte[], int, int, int) line: not available [native method]
SocketInputStream.read(byte[], int, int) line: 129
MessageBase.readFully(InputStream, byte[], int, int) line: 518
MessageBase.createFromStream(ORB, InputStream) line: 55
MessageMediator.processRequest() line: 107
IIOPConnection.processInput() line: 336
ReaderThread.run() line: 60
System Thread [JavaIDL Reader for CAL-12.oma.be:33046] (Suspended)
SocketInputStream.socketRead0(FileDescriptor, byte[], int, int, int) line: not available [native method]
SocketInputStream.read(byte[], int, int) line: 129
MessageBase.readFully(InputStream, byte[], int, int) line: 518
MessageBase.createFromStream(ORB, InputStream) line: 55
MessageMediator.processRequest() line: 107
IIOPConnection.processInput() line: 336
ReaderThread.run() line: 60
System Thread [JavaIDL Listener] (Suspended)
PlainSocketImpl.socketAccept(SocketImpl) line: not available [native method]
PlainSocketImpl.accept(SocketImpl) line: 353
ServerSocket.implAccept(Socket) line: 448
ServerSocket.accept() line: 419
ListenerThread.run() line: 58
System Thread [JavaIDL Reader for localhost:10123] (Suspended)
SocketInputStream.socketRead0(FileDescriptor, byte[], int, int, int) line: not available [native method]
SocketInputStream.read(byte[], int, int) line: 129
MessageBase.readFully(InputStream, byte[], int, int) line: 518
MessageBase.createFromStream(ORB, InputStream) line: 55
MessageMediator.processRequest() line: 107
IIOPConnection.processInput() line: 336
ReaderThread.run() line: 60
System Thread [JavaIDL Reader for 193.190.249.120:10123] (Suspended)
SocketInputStream.socketRead0(FileDescriptor, byte[], int, int, int) line: not available [native method]
SocketInputStream.read(byte[], int, int) line: 129
MessageBase.readFully(InputStream, byte[], int, int) line: 518
MessageBase.createFromStream(ORB, InputStream) line: 55
MessageMediator.processRequest() line: 107
IIOPConnection.processInput() line: 336
ReaderThread.run() line: 60
System Thread [JavaIDL Reader for 193.190.249.120:33038] (Suspended)
SocketInputStream.socketRead0(FileDescriptor, byte[], int, int, int) line: not available [native method]
SocketInputStream.read(byte[], int, int) line: 129
MessageBase.readFully(InputStream, byte[], int, int) line: 518
MessageBase.createFromStream(ORB, InputStream) line: 55
MessageMediator.processRequest() line: 107
IIOPConnection.processInput() line: 336
ReaderThread.run() line: 60
System Thread [JavaIDL Reader for CAL-12.oma.be:33050] (Suspended)
SocketInputStream.socketRead0(FileDescriptor, byte[], int, int, int) line: not available [native method]
SocketInputStream.read(byte[], int, int) line: 129
MessageBase.readFully(InputStream, byte[], int, int) line: 518
MessageBase.createFromStream(ORB, InputStream) line: 55
MessageMediator.processRequest() line: 107
IIOPConnection.processInput() line: 336
ReaderThread.run() line: 60
System Thread [JavaIDL Listener] (Suspended)
PlainSocketImpl.socketAccept(SocketImpl) line: not available [native method]
PlainSocketImpl.accept(SocketImpl) line: 353
ServerSocket.implAccept(Socket) line: 448
ServerSocket.accept() line: 419
ListenerThread.run() line: 58
System Thread [JavaIDL Reader for localhost:10123] (Suspended)
SocketInputStream.socketRead0(FileDescriptor, byte[], int, int, int) line: not available [native method]
SocketInputStream.read(byte[], int, int) line: 129
MessageBase.readFully(InputStream, byte[], int, int) line: 518
MessageBase.createFromStream(ORB, InputStream) line: 55
MessageMediator.processRequest() line: 107
IIOPConnection.processInput() line: 336
ReaderThread.run() line: 60
System Thread [JavaIDL Reader for 193.190.249.120:10123] (Suspended)
SocketInputStream.socketRead0(FileDescriptor, byte[], int, int, int) line: not available [native method]
SocketInputStream.read(byte[], int, int) line: 129
MessageBase.readFully(InputStream, byte[], int, int) line: 518
MessageBase.createFromStream(ORB, InputStream) line: 55
MessageMediator.processRequest() line: 107
IIOPConnection.processInput() line: 336
ReaderThread.run() line: 60
System Thread [JavaIDL Reader for 193.190.249.120:33038] (Suspended)
SocketInputStream.socketRead0(FileDescriptor, byte[], int, int, int) line: not available [native method]
SocketInputStream.read(byte[], int, int) line: 129
MessageBase.readFully(InputStream, byte[], int, int) line: 518
MessageBase.createFromStream(ORB, InputStream) line: 55
MessageMediator.processRequest() line: 107
IIOPConnection.processInput() line: 336
ReaderThread.run() line: 60
System Thread [JavaIDL Reader for CAL-12.oma.be:33054] (Suspended)
SocketInputStream.socketRead0(FileDescriptor, byte[], int, int, int) line: not available [native method]
SocketInputStream.read(byte[], int, int) line: 129
MessageBase.readFully(InputStream, byte[], int, int) line: 518
MessageBase.createFromStream(ORB, InputStream) line: 55
MessageMediator.processRequest() line: 107
IIOPConnection.processInput() line: 336
ReaderThread.run() line: 60
--
David Delbecq
Royal Meteorological Institute of Belgium
-
Is there life after /sbin/halt -p?
message-footer.txt
(text/plain, 271 B)
-- You receive this message as a subscriber of the [email protected] mailing list. To unsubscribe: mailto:[email protected] For general help: mailto:[email protected]?subject=help ObjectWeb mailing lists service home page: http://www.objectweb.org/wws