[jcifs] ConcurrentModification exception from SmbTransport us ing examples/SmbCrawler

Gary Rambo c-grambo at aventail.com
Tue Sep 30 09:54:29 EST 2003


Thanks for the response. I'm now getting an IOException: unverifiable 
signature. I've attached a new ethereal capture, which looks, at the 
summary level, to be the same as the earlier. I've also just made the 
same SmbCrawler test with 0.7.12, successfully.


java -cp ../../jcifs-0.7.13.jar:. SmbCrawler smb://W2K3/ 2

Exception in thread "main" jcifs.smb.SmbException: Timeout waiting for 
response from server. W2K3<1D>/
        at jcifs.smb.SmbTransport.send(SmbTransport.java:636)
        at jcifs.smb.SmbSession.sessionSetup(SmbSession.java:135)
        at jcifs.smb.SmbSession.send(SmbSession.java:102)
        at jcifs.smb.SmbTree.treeConnect(SmbTree.java:124)
        at jcifs.smb.SmbFile.connect(SmbFile.java:587)
        at jcifs.smb.SmbFile.connect0(SmbFile.java:549)
        at jcifs.smb.SmbFile.sendTransaction(SmbFile.java:525)
        at jcifs.smb.SmbFile.listFiles(SmbFile.java:1370)
        at jcifs.smb.SmbFile.listFiles(SmbFile.java:1303)
        at SmbCrawler.traverse(SmbCrawler.java:21)
        at SmbCrawler.main(SmbCrawler.java:41)
Sep 29 16:46:16.054 - exception reading from socket input: 
java.io.IOException: Unverifiable signature.
        at jcifs.smb.SmbTransport.verify(SmbTransport.java:544)
        at jcifs.smb.SmbTransport.run(SmbTransport.java:423)
        at java.lang.Thread.run(Thread.java:534)

Eric wrote:

>>       at 
>>       at java.util.LinkedList$ListItr.next(LinkedList.java:488)
>>       at jcifs.smb.SmbTransport.tryClose(SmbTransport.java:310)
>>       at jcifs.smb.SmbTransport.run(SmbTransport.java:440)
>>       at java.lang.Thread.run(Thread.java:534)
>Try the attached; access to the sessions list in getSmbSession is 
>synchronized on the SmbTransport instance, but the iteration in the 
>tryClose method is unsynchronized.  If getSmbSession is called by one 
>thread while the iteration in tryClose is open, the linked list will 
>detect and throw this exception (Iterators are fail-fast).  The attached
>synchronizes the access to the sessions list in tryClose on the 
>SmbTransport object.  Previously (in jCIFS 0.7.10 at least), the 
>sessions list was implemented as a Vector and used the elements 
>enumeration, which isn't fail-fast; the Iterator's behavior is more 
>robust, as it guarantees deterministic results.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: unverifiablesignatureexception.cap
Type: application/octet-stream
Size: 2113 bytes
Desc: not available
Url : http://lists.samba.org/archive/jcifs/attachments/20030929/c1df06ca/unverifiablesignatureexception.obj

More information about the jcifs mailing list