David Crossley wrote:
Mark Lundquist wrote:
OK... this is weird!
My Cocoon app uses ImageReader, and the images weren't displaying. It
turns out the call to
com.sun.image.codec.jpeg.JPEGImageDecoder.decodeAsBufferedImage() in
ImageReader.processStream() crashes the JVM! It crashes hard,
immediately and silently (no error messages). What faked me out was
that I'm running Cocoon under control of daemontools, so as soon as it
crashed, supervise would start up a new one right away! But I've
debugged ImageReader.processStream() and I can see it go down the
black hole.
Now, get this... if I just invoke Cocoon by hand instead of using
supervise, it works fine!
I use a wrapper script that invokes cocoon.sh from the Cocoon build,
and I've instrumented this wrapper script to dump out the environment
and the process limits. They're identical, whether invoked by hand or
by supervise. So that's not the difference. The command line
invoking the JVM as reported by 'ps' is also the same for both cases.
So, any ideas about what the problem could possibly be, or where else
I might look? Any daemontools experts out there?
It would seem that somehow, I am seeing a JVM bug that occurs under
conditions that only obtain for me when running under "supervise", but
I can't imagine what those conditions might be...
<italic>~mark</italic>
P.S. — I told you it was weird! :-)
Love your entertaining explanation :-)
I gather that you are running the Cocoon demo webapp
in a production environment, i.e. the demo cocoon.sh
Wouldn't it be better to run under a full Jetty server.
Simply plop the cocoon.war into jetty/webapps directory
and use their jetty.sh mechanism to start the whole thing.
Also, can you try Java 1.4.2? I remember hearing about a bug somewhere
in the JPEG code used by the ImageReader. (Can't remember which version
fixed the bug though:-(
Regards, Upayavira
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]