[jcifs] mysterious timeout
Michael B Allen
ioplex at gmail.com
Fri Dec 12 20:33:05 GMT 2008
It's trying to resolve DFS domains but for some reason it cannot
contact the DC. Try setting:
jcifs.smb.client.dfs.disabled=true
Mike
On Fri, Dec 12, 2008 at 3:04 PM, Newell, Gary <gary.newell at intel.com> wrote:
> Hi -
>
> I'm getting a timeout error and I'm looking for help understanding what is
> going on. The code in question is running in a servlet (in tomcat on a
> windows server 2003) and as each new user initially accesses the WEB site
> the code attempts to open a series of files with ACL's attached using the
> users NTLM credentials. The files are in a local share and are referenced
> via address 127.0.0.1. The set of openable files determines which datasets
> this user is allowed access. Specifically, I use SmbFile.isDirectory() to
> 'touch' each privilege file. This methodology has worked fine for about 2
> months.
>
> Recently, I'm now getting timeout errors with each file access. I get the
> correct result (file access denied vs. file access okay), but I now wait ~1
> minute per file access (ie I don't get my answer until after the timeout
> occurs). It appears to try the file access twice.
>
> The WEB site is located behind a firewall, but the firewall
> administrators have verified that ports 139 and 445 are not blocked.
>
> Any pointers would be greatly appreciated.
>
> Thank you!
>
> Gary
>
>
> There is a sample trace-back:
> jcifs.smb.SmbException: Connection timeout
> jcifs.util.transport.TransportException: Connection timeout
> at jcifs.util.transport.Transport.connect(Transport.java:178)
> at jcifs.smb.SmbTransport.connect(SmbTransport.java:293)
> at jcifs.smb.SmbTree.treeConnect(SmbTree.java:139)
> at jcifs.smb.SmbTree.send(SmbTree.java:64)
> at jcifs.smb.SmbTransport.getDfsReferrals(SmbTransport.java:669)
> at jcifs.smb.Dfs.getTrustedDomains(Dfs.java:64)
> at jcifs.smb.Dfs.resolve(Dfs.java:146)
> at jcifs.smb.SmbFile.doConnect(SmbFile.java:841)
> at jcifs.smb.SmbFile.connect(SmbFile.java:893)
> at jcifs.smb.SmbFile.connect0(SmbFile.java:819)
> at jcifs.smb.SmbFile.queryPath(SmbFile.java:1272)
> at jcifs.smb.SmbFile.exists(SmbFile.java:1354)
> at jcifs.smb.SmbFile.isDirectory(SmbFile.java:1427)
> at
> com.intel.f11litho.WQT300mmReg.WQT300mmRegPrivilegeChecker.doGet(WQT300mmRegPrivilegeChecker.java:489)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
> at
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
> at
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
> at
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
> at
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
> at
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
> at
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)
> at
> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:874)
> at
> org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
> at
> org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
> at
> org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
> at
> org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
> at java.lang.Thread.run(Unknown Source)
>
> at jcifs.smb.SmbTransport.connect(SmbTransport.java:295)
> at jcifs.smb.SmbTree.treeConnect(SmbTree.java:139)
> at jcifs.smb.SmbTree.send(SmbTree.java:64)
> at jcifs.smb.SmbTransport.getDfsReferrals(SmbTransport.java:669)
> at jcifs.smb.Dfs.getTrustedDomains(Dfs.java:64)
> at jcifs.smb.Dfs.resolve(Dfs.java:146)
> at jcifs.smb.SmbFile.doConnect(SmbFile.java:841)
> at jcifs.smb.SmbFile.connect(SmbFile.java:893)
> at jcifs.smb.SmbFile.connect0(SmbFile.java:819)
> at jcifs.smb.SmbFile.queryPath(SmbFile.java:1272)
> at jcifs.smb.SmbFile.exists(SmbFile.java:1354)
> at jcifs.smb.SmbFile.isDirectory(SmbFile.java:1427)
> at
> com.intel.f11litho.WQT300mmReg.WQT300mmRegPrivilegeChecker.doGet(WQT300mmRegPrivilegeChecker.java:489)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
> at
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
> at
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
> at
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
> at
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
> at
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
> at
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)
> at
> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:874)
> at
> org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
> at
> org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
> at
> org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
> at
> org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
> at java.lang.Thread.run(Unknown Source)
> doConnect: 0.0.0.0<00>/127.0.0.1
> queryPath: \Priv AMR\empty.txt
> java.net.ConnectException: Connection timed out: connect
> at java.net.PlainSocketImpl.socketConnect(Native Method)
> at java.net.PlainSocketImpl.doConnect(Unknown Source)
> at java.net.PlainSocketImpl.connectToAddress(Unknown Source)
> at java.net.PlainSocketImpl.connect(Unknown Source)
> at java.net.SocksSocketImpl.connect(Unknown Source)
> at java.net.Socket.connect(Unknown Source)
> at java.net.Socket.connect(Unknown Source)
> at java.net.Socket.<init>(Unknown Source)
> at java.net.Socket.<init>(Unknown Source)
> at jcifs.smb.SmbTransport.ssn139(SmbTransport.java:181)
> at jcifs.smb.SmbTransport.negotiate(SmbTransport.java:243)
> at jcifs.smb.SmbTransport.doConnect(SmbTransport.java:308)
> at jcifs.util.transport.Transport.run(Transport.java:240)
> at java.lang.Thread.run(Unknown Source)
> jcifs.smb.SmbException: Connection timeout
> jcifs.util.transport.TransportException: Connection timeout
> at jcifs.util.transport.Transport.connect(Transport.java:178)
> at jcifs.smb.SmbTransport.connect(SmbTransport.java:293)
> at jcifs.smb.SmbTree.treeConnect(SmbTree.java:139)
> at jcifs.smb.SmbTree.send(SmbTree.java:64)
> at jcifs.smb.SmbTransport.getDfsReferrals(SmbTransport.java:669)
> at jcifs.smb.Dfs.getTrustedDomains(Dfs.java:64)
> at jcifs.smb.Dfs.resolve(Dfs.java:146)
> at jcifs.smb.SmbFile.resolveDfs(SmbFile.java:667)
> at jcifs.smb.SmbFile.send(SmbFile.java:719)
> at jcifs.smb.SmbFile.queryPath(SmbFile.java:1300)
> at jcifs.smb.SmbFile.exists(SmbFile.java:1354)
> at jcifs.smb.SmbFile.isDirectory(SmbFile.java:1427)
> at
> com.intel.f11litho.WQT300mmReg.WQT300mmRegPrivilegeChecker.doGet(WQT300mmRegPrivilegeChecker.java:489)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
> at
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
> at
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
> at
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
> at
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
> at
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
> at
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)
> at
> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:874)
> at
> org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
> at
> org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
> at
> org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
> at
> org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
> at java.lang.Thread.run(Unknown Source)
>
> at jcifs.smb.SmbTransport.connect(SmbTransport.java:295)
> at jcifs.smb.SmbTree.treeConnect(SmbTree.java:139)
> at jcifs.smb.SmbTree.send(SmbTree.java:64)
> at jcifs.smb.SmbTransport.getDfsReferrals(SmbTransport.java:669)
> at jcifs.smb.Dfs.getTrustedDomains(Dfs.java:64)
> at jcifs.smb.Dfs.resolve(Dfs.java:146)
> at jcifs.smb.SmbFile.resolveDfs(SmbFile.java:667)
> at jcifs.smb.SmbFile.send(SmbFile.java:719)
> at jcifs.smb.SmbFile.queryPath(SmbFile.java:1300)
> at jcifs.smb.SmbFile.exists(SmbFile.java:1354)
> at jcifs.smb.SmbFile.isDirectory(SmbFile.java:1427)
> at
> com.intel.f11litho.WQT300mmReg.WQT300mmRegPrivilegeChecker.doGet(WQT300mmRegPrivilegeChecker.java:489)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
> at
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
> at
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
> at
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
> at
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
> at
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
> at
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)
> at
> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:874)
> at
> org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
> at
> org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
> at
> org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
> at
> org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
> at java.lang.Thread.run(Unknown Source)
> Trans2QueryPathInformation[command=SMB_COM_TRANSACTION2,received=false,errorCode=0,flags=0x0018,flags2=0xC003,signSeq=0,tid=12295,pid=40083,uid=20483,mid=133,wordCount=15,byteCount=47,totalParameterCount=46,totalDataCount=0,maxParameterCount=2,maxDataCount=40,maxSetupCount=0,flags=0x00,timeout=0,parameterCount=46,parameterOffset=66,parameterDisplacement=0,dataCount=0,dataOffset=112,dataDisplacement=0,setupCount=1,pad=1,pad1=0,informationLevel=0x101,filename=\Priv
> AMR\empty.txt]
> New data read: Transport2[0.0.0.0<00>/127.0.0.1:445]
> 00000: FF 53 4D 42 32 00 00 00 00 98 03 C0 00 00 00 00 |ÿSMB2......À....|
> 00010: 00 00 00 00 00 00 00 00 07 30 93 9C 03 50 85 00 |.........0...P..|
>
> Trans2QueryPathInformationResponse[command=SMB_COM_TRANSACTION2,received=false,errorCode=0,flags=0x0098,flags2=0xC003,signSeq=0,tid=12295,pid=40083,uid=20483,mid=133,wordCount=10,byteCount=45,totalParameterCount=2,totalDataCount=40,parameterCount=2,parameterOffset=56,parameterDisplacement=0,dataCount=40,dataOffset=60,dataDisplacement=0,setupCount=0,pad=1,pad1=2]
>
>
>
--
Michael B Allen
PHP Active Directory SPNEGO SSO
http://www.ioplex.com/
More information about the jcifs
mailing list