[jcifs] NT_STATUS_UNSUCCESSFUL Exception under heavy load

Praveen Tammana praveen.public at gmail.com
Fri Oct 28 00:25:13 GMT 2005

Reviving an old thread...
I am also seeing this error sporadically. It works fine for a while. Then I
see a few (< 10) of these errors in a row and then it works fine again for
some more time. (My app is a server to which I send read dir and read file
requests). I just caught it happening a while ago while trying to read a
file. I then sent a read-dir request (uses SmbFile.listFiles()) to my server
for the directory containing this file and it worked fine. I then sent a
read-file request for the same file and got the same error again. I repeated
this sequence of readDir-readFile a few times with the same result - readDir
worked every time but reading file failed every time with this error.

jcifs.smb.SmbException: A device attached to the system is not functioning.
at jcifs.smb.SmbTransport.checkStatus(SmbTransport.java:453)
at jcifs.smb.SmbTransport.send(SmbTransport.java:553)
at jcifs.smb.SmbSession.send(SmbSession.java:226)
at jcifs.smb.SmbTree.send(SmbTree.java:95)
at jcifs.smb.SmbFile.send(SmbFile.java:688)
at jcifs.smb.SmbFile.open0(SmbFile.java:827)
at jcifs.smb.SmbFile.open(SmbFile.java:845)
at jcifs.smb.SmbFileInputStream.<init>(SmbFileInputStream.java:69)
at jcifs.smb.SmbFileInputStream.<init>(SmbFileInputStream.java:62)

I then restarted my jCIFS server and sent the same sequence of requests and
they both worked fine. ~15 minutes later, I again started to see the same
error sporadically.

I am not exactly doing multi-threading here. Let me clarify. My app is
multi-threaded but the lone entry point into jCIFS is synchronized. I did
this because I was getting a lot of (the same, I think) errors when I tried
it without synchronization earlier. The load is high, i.e., there is always
a request pending.

jCIFS version - 1.2.1
client : linux
file servers : A couple of Win XP Pro machines


On 8/18/05, Michael B Allen <mba2000 at ioplex.com> wrote:
> On Thu, 18 Aug 2005 12:31:29 +0000 (UTC)
> Andreas Knoor <knoor at e-spirit.de> wrote:
> > Hi,
> >
> > when using JCIFS 1.2.1 in a multithreading environment under heavy load
> > I get a SmbException with status code "NT_STATUS_UNSUCCESSFUL":
> >
> > jcifs.smb.SmbException: A device attached to the system is not
> functioning.
> > at jcifs.smb.SmbTransport.checkStatus (SmbTransport.java:479)
> > at jcifs.smb.SmbTransport.send(SmbTransport.java:556)
> > at jcifs.smb.SmbSession.send(SmbSession.java:233)
> > at jcifs.smb.SmbTree.send(SmbTree.java:95)
> > at jcifs.smb.SmbFile.send(SmbFile.java:688)
> > at jcifs.smb.SmbFile.queryPath(SmbFile.java:1195)
> > at jcifs.smb.SmbFile.exists(SmbFile.java:1249)
> >
> > What could be the reason for this exception?
> > If the exception is OK: How should it be handled?
> > Should i try to repeat the last operation?
> This exception is coming from the server and probably has nothing to do
> with jCIFS. It's not uncommon to encounter servers that are in a bad
> state. I suspect if you retry the operation you'll just get the same
> error as would any client. Identify the exact resource being queried
> when the exception is thrown and then try to access it immediately with
> a regular Windows client. If you get an error there too it might be time
> to reboot the server.
> Mike
-------------- next part --------------
HTML attachment scrubbed and removed

More information about the jcifs mailing list