Hi all,
We have a process that occassionally throws an I/O Exception when
trying to lock a Linux file for writing.
java.io.IOException: Input/output error
at sun.nio.ch.FileChannelImpl.lock0(Native Method)
at sun.nio.ch.FileChannelImpl.tryLock(FileChannelImpl.java:
882)
at java.nio.channels.FileChannel.tryLock(FileChannel.java:962)
at
com.pdx.science.utils.SyncFileWriter.write(SyncFileWriter.java:58)
at
com.pdx.science.pm.learning.PMResultRecorder.record(PMResultRecorder.java:
49)
at
com.pdx.science.pm.learning.SVMModelSelector.processValueSet(SVMModelSelector.java:
279)
at
com.pdx.science.pm.learning.SVMModelSelector.process(SVMModelSelector.java:
178)
at
com.pdx.science.pm.learning.SVMModelSelector.run(SVMModelSelector.java:
134)
at
com.pdx.science.pm.learning.SVMModelSelector.main(SVMModelSelector.java:
589)
We'd love to know what is actually happening (network error, NFS
error...) Is there any more information that can be obtained from the
I/O Exception? How does one get it?
Thanks,
Alejandrina
Martin Gregorie - 27 Aug 2007 20:53 GMT
> We'd love to know what is actually happening (network error, NFS
> error...) Is there any more information that can be obtained from the
> I/O Exception? How does one get it?
As the error is in native code I'd guess that the OS might tell you more
that filters up through Exceptions. Have you looked at the system
logs, /var/log/messages in particular?

Signature
martin@ | Martin Gregorie
gregorie. | Essex, UK
org |
alejandrina - 28 Aug 2007 15:00 GMT
On Aug 27, 3:53 pm, Martin Gregorie <mar...@see.sig.for.address>
wrote:
> > We'd love to know what is actually happening (network error, NFS
> > error...) Is there any more information that can be obtained from the
[quoted text clipped - 8 lines]
> gregorie. | Essex, UK
> org |
Nothing there that we can see. I wanted to see if there was a
mechanism to "unwrap" the exception to get more info, but I guess
there is no such thing.
Roedy Green - 29 Aug 2007 03:44 GMT
>We'd love to know what is actually happening (network error, NFS
>error...) Is there any more information that can be obtained from the
>I/O Exception? How does one get it?
I suppose you could discover the precise class of the IOExceptions you
are getting by dumping e.getClass in your catch block. , then add a
catch clause for that particular class ahead of the general
IOException catch,, then you have access to any additional fields or
methods it has.

Signature
Roedy Green Canadian Mind Products
The Java Glossary
http://mindprod.com
Andreas Leitgeb - 29 Aug 2007 10:58 GMT
>>We'd love to know what is actually happening (network error, NFS
>>error...) Is there any more information that can be obtained from the
[quoted text clipped - 4 lines]
> IOException catch,, then you have access to any additional fields or
> methods it has.
In case this doesn't work out (that is: the getClass() also returns
just IOException), then maybe further information is just an
ioExc.getCause() away :-)
Knute Johnson - 29 Aug 2007 04:38 GMT
> Hi all,
>
[quoted text clipped - 31 lines]
>
> Alejandrina
Did getCause() have any info?

Signature
Knute Johnson
email s/nospam/knute/
alejandrina - 29 Aug 2007 20:24 GMT
On Aug 28, 11:38 pm, Knute Johnson <nos...@rabbitbrush.frazmtn.com>
wrote:
> > Hi all,
>
[quoted text clipped - 38 lines]
> Knute Johnson
> email s/nospam/knute/
I did a test with a manufactured IOEception. getCause() returned the
exception message. And of course now that we have a catch for
IOException, the app is not failing, so I don't know what a real
IOException yields...
Knute Johnson - 29 Aug 2007 22:42 GMT
>> Did getCause() have any info?
>>
> I did a test with a manufactured IOEception. getCause() returned the
> exception message. And of course now that we have a catch for
> IOException, the app is not failing, so I don't know what a real
> IOException yields...
Sometimes it is just magic. I've got a program in the field that has
been running 24/7 for the last year. Then all of a sudden it starts
having problems. I make about six changes, requiring me to stay up to
all hours because they can't have it down in the daytime, and then it
stops just as mysteriously as it started.
And if it is running on Windows...

Signature
Knute Johnson
email s/nospam/knute/
alejandrina - 30 Aug 2007 02:51 GMT
On Aug 29, 5:42 pm, Knute Johnson <nos...@rabbitbrush.frazmtn.com>
wrote:
> >> Did getCause() have any info?
>
[quoted text clipped - 15 lines]
> Knute Johnson
> email s/nospam/knute/
Yes, it's not quite software "engineering", eh?