[jcifs] Possible jCIFS<->JDK1.4.2 problem

Michael B Allen mba2000 at ioplex.com
Sat Aug 16 14:26:51 EST 2003


> Duh, I deleted all the bad files yesterday.  I can tell you that the
plain
> xml files had things like this:
> valu"XT_WHATEVER"
> instead of
> value="XT_WHATEVER"
> And generally the corruption in the xml file seemed to only happen in
one
> spot and was the same in every xml file for a particular occurence.  Ok,
what I'm trying to say is, once the app server went bad, it wrote every
xml file bad, but in exactly the same way.  The next time it went bad it
might be different corruption, but every xml file for that occurance
would
> have the same corruption.
> The other thing I saw (in a different run) was a whole bunch of (what
emacs showed as) ^@ inserted.
> The .zip files got CRC errors, and the files extracted were usually too
short and garbage toward the end.
> My Jmeter script simulates one user per thread.  My application should
never have more than one thread accessing the file.  But that would be a
good test.  I'll reconfigure to 1.4.2 and try it again soon.

If your app server is loading classes from a common class loader (like the
system class loader) then jCIFS will multiplex all requests over one
transport per server. So if separate Jmeter threads are accessing the same
files it's still possible writes could be interleaved and you would get
corruption. But if each file is unique to a particular client then we can
rule out a synchronization problem on your part. The other possibilities
are that there is a bug in jCIFS or there is a bug in this particular
version of Java. I really can't tell. It would be great if you could
reproducibly get this problem to occur and get a packet capture though.

> I usually would only have to have 100-200 login/test/logout cycles with
1.4.2 to get the app server into the state where all the files it wrote
were corrupt.  I did 3,000 cycles with 1.4.0_01 with no corruption.
Again, I don't know if this has anything to do with jCIFS.  It might be
just 1.4.2.  Since I have a deadline and a workaround it will probably
be
> several days before I can try anything.   I was just hoping all the io
changes with 1.4.2 would ring a bell with somebody and there would be an
easy answer.

I wasn't aware there were significant "io changes with 1.4.2". I don't
follow changes in the latest releases.

Mike




More information about the jcifs mailing list