[jcifs] Deadlock Problem using JCIFS and weblogic.

Kandaswami, Subramaniam [ALZUS Non-J&J] SKANDASW at alzus.jnj.com
Tue Dec 16 20:31:25 GMT 2003


Hi,

I am using jcifs-0.7.3 with weblogic 6.1 sp4 on win2k. I am using the NTLM
HTTP Authentication Filter  for authentication. The NTLM authentication
works great but after a while I get a deadlock problem. This causes my
weblogic server to stop responding to requests. I have posted the stack
trace.

I would also like to add that I have observed this problem only in the
production environment under load. I have not faced this problem in the
development environment. Also, is there any good load testing tool capable
of handling NTLM ? I tried using OpenSTA but was unsuccessful.

Any help would be highly appreciated.

Thanks in advance,
Subu

FOUND A JAVA LEVEL DEADLOCK:
----------------------------
"ExecuteThread: '35' for queue: 'default'":
  waiting to lock monitor 0x34dfaca4 (object 0x3f46398, a
jcifs.smb.SmbSession),
  which is locked by "ExecuteThread: '34' for queue: 'default'"
"ExecuteThread: '34' for queue: 'default'":
  waiting to lock monitor 0x34c50c9c (object 0x3ea4338, a
jcifs.smb.SmbSession),
  which is locked by "ExecuteThread: '35' for queue: 'default'"

JAVA STACK INFORMATION FOR THREADS LISTED ABOVE:
------------------------------------------------
Java Stack for "ExecuteThread: '35' for queue: 'default'":
==========
	at jcifs.smb.SmbSession.logoff(SmbSession.java:132)
	- waiting to lock <3f46398> (a jcifs.smb.SmbSession)
	at jcifs.smb.SmbTransport.tryClose(SmbTransport.java:278)
	at jcifs.smb.SmbTransport.send(SmbTransport.java:483)
	at jcifs.smb.SmbSession.sessionSetup(SmbSession.java:126)
	- locked <3ea4338> (a jcifs.smb.SmbSession)
	at jcifs.smb.SmbSession.send(SmbSession.java:102)
	at jcifs.smb.SmbTree.treeConnect(SmbTree.java:132)
	- locked <3ea7970> (a jcifs.smb.SmbTree)
	- locked <3ea4338> (a jcifs.smb.SmbSession)
	at jcifs.smb.SmbSession.logon(SmbSession.java:56)
	at jcifs.http.NtlmHttpFilter.doFilter(NtlmHttpFilter.java:93)
	at
weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:27)
	at
weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletCo
ntext.java:2643)
	at
weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java
:2359)
	at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
	at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
Java Stack for "ExecuteThread: '34' for queue: 'default'":
==========
	at jcifs.smb.SmbSession.logoff(SmbSession.java:132)
	- waiting to lock <3ea4338> (a jcifs.smb.SmbSession)
	at jcifs.smb.SmbTransport.tryClose(SmbTransport.java:278)
	at jcifs.smb.SmbTransport.send(SmbTransport.java:483)
	at jcifs.smb.SmbSession.sessionSetup(SmbSession.java:126)
	- locked <3f46398> (a jcifs.smb.SmbSession)
	at jcifs.smb.SmbSession.send(SmbSession.java:102)
	at jcifs.smb.SmbTree.treeConnect(SmbTree.java:132)
	- locked <3f4dca8> (a jcifs.smb.SmbTree)
	- locked <3f46398> (a jcifs.smb.SmbSession)
	at jcifs.smb.SmbSession.logon(SmbSession.java:56)
	at jcifs.http.NtlmHttpFilter.doFilter(NtlmHttpFilter.java:93)
	at
weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:27)
	at
weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletCo
ntext.java:2643)
	at
weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java
:2359)
	at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
	at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)

Found 1 deadlock.


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


More information about the jcifs mailing list