[jcifs] java deadlock

Dirk Becker dbecker at pironet-ndh.com
Fri Aug 11 08:07:49 GMT 2006


Hi Mike,

i encountered some problems on an IAS cluster (doing SSO via NTLM), no requests have been processed and a script did
a full thread dump. I do not know (yet) the cause, but a deadlock has been detected in the jcifs-library (1.2.8, build with  Java 1.4.2).
As far as i can see the stacktrace points to the correct lines in 1.2.9 source. Maybe this is an issue? 

regards,
   Dirk Becker

P.S. output of script:


--------
06/08/09 14:40:10 Event script: prestop
--------

=---===----======---=-----=-----=------======----===---=
=---===----===== PRE-STOP EVENT SCRIPT =====----===---=
=---===----======---=-----=-----=------======----===---=
timeStamp=1155127210
instanceName=<snip/>
componentId=OC4J
processType=cms
processSet=default_island
processIndex=1
stderr=/oracle/product/ias904/opmn/logs/OC4J~cms~default_island~1
stdout=/oracle/product/ias904/opmn/logs/OC4J~cms~default_island~1
reason=http_request
pid=1126
startTime=1155105816412
Sending kill -3 signal before stopping the OC4J Container
Full thread dump Java HotSpot(TM) Server VM (1.4.2_07-b05 mixed mode):

<snip/>

Found one Java-level deadlock:
=============================
"AJPRequestHandler-ApplicationServerThread-80":
  waiting to lock monitor 0x08b93854 (object 0x60d5d0a0, a java.lang.Object),
  which is held by "AJPRequestHandler-ApplicationServerThread-77"
"AJPRequestHandler-ApplicationServerThread-77":
  waiting to lock monitor 0x08b9381c (object 0x60360c98, a jcifs.smb.SmbTransport),
  which is held by "AJPRequestHandler-ApplicationServerThread-80"

Java stack information for the threads listed above:
===================================================
"AJPRequestHandler-ApplicationServerThread-80":
    at jcifs.smb.SmbTree.treeConnect(SmbTree.java:121)
    - waiting to lock <0x60d5d0a0> (a java.lang.Object)
    at jcifs.smb.SmbTree.send(SmbTree.java:57)
    at jcifs.smb.SmbTree.treeDisconnect(SmbTree.java:161)
    - locked <0x60360c98> (a jcifs.smb.SmbTransport)
    at jcifs.smb.SmbSession.logoff(SmbSession.java:293)
    - locked <0x60360c98> (a jcifs.smb.SmbTransport)
    at jcifs.smb.SmbTransport.getSmbSession(SmbTransport.java:138)
    - locked <0x60360c98> (a jcifs.smb.SmbTransport)
    at jcifs.smb.SmbSession.logon(SmbSession.java:159)
    at jcifs.smb.SmbSession.logon(SmbSession.java:154)
    at com.pironet.pbng.principal.authentication.filter.NtlmAuthenticationFilter.doFilter(NtlmAuthenticationFilter.java:536)
    at com.evermind.server.http.EvermindFilterChain.doFilter(EvermindFilterChain.java:16)
    at com.pironet.pbng.cms.servletfilter.SessionFilter.doFilter(SessionFilter.java:75)
    at com.evermind.server.http.EvermindFilterChain.doFilter(EvermindFilterChain.java:20)
    at com.pironet.pbng.prj.cms.web.common.EncodingFilter.doFilter(EncodingFilter.java:95)
    at com.evermind.server.http.FileRequestDispatcher.handleWithFilter(FileRequestDispatcher.java:116)
    at com.evermind.server.http.FileRequestDispatcher.forwardInternal(FileRequestDispatcher.java:192)
    at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:788)
    at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:208)
    at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:125)
    at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:192)
    at java.lang.Thread.run(Thread.java:534)
"AJPRequestHandler-ApplicationServerThread-77":
    at jcifs.smb.SmbTree.treeConnect(SmbTree.java:123)
    - waiting to lock <0x60360c98> (a jcifs.smb.SmbTransport)
    - locked <0x60d5d0a0> (a java.lang.Object)
    at jcifs.smb.SmbSession.logon(SmbSession.java:161)
    at jcifs.smb.SmbSession.logon(SmbSession.java:154)
    at com.pironet.pbng.principal.authentication.filter.NtlmAuthenticationFilter.doFilter(NtlmAuthenticationFilter.java:536)
    at com.evermind.server.http.EvermindFilterChain.doFilter(EvermindFilterChain.java:16)
    at com.pironet.pbng.cms.servletfilter.SessionFilter.doFilter(SessionFilter.java:75)
    at com.evermind.server.http.EvermindFilterChain.doFilter(EvermindFilterChain.java:20)
    at com.pironet.pbng.prj.cms.web.common.EncodingFilter.doFilter(EncodingFilter.java:95)
    at com.evermind.server.http.FileRequestDispatcher.handleWithFilter(FileRequestDispatcher.java:116)
    at com.evermind.server.http.FileRequestDispatcher.forwardInternal(FileRequestDispatcher.java:192)
    at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:788)
    at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:208)
    at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:125)
    at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:192)
    at java.lang.Thread.run(Thread.java:534)

Found 1 deadlock.



-------------- next part --------------
HTML attachment scrubbed and removed


More information about the jcifs mailing list