3 messages in org.perl.inlineRe: Inline::Java lost connection to JVM
FromSent OnAttachments
Michael PetersSep 20, 2005 7:52 am 
Patrick LeBoutillierSep 20, 2005 8:52 am 
Michael PetersSep 20, 2005 9:02 am 
Actions with this message:
Paste this link in email or IM:
Paste this link in email or IM:
Atom feed for this thread
Paste this URL into your reader:
Subject:Re: Inline::Java lost connection to JVMActions...
From:Michael Peters (mpet@plusthree.com)
Date:Sep 20, 2005 9:02:37 am
List:org.perl.inline

Patrick LeBoutillier wrote:

Michael,

On 9/20/05, Michael Peters <mpet@plusthree.com> wrote:

Hello all,

I don't know if anyone has any ideas of what might be happening, or where to start trouble shooting this, but I thought I'd toss it out there.

We have an application that uses Inline::Java under mod_perl and it works great most of the time. We are using the JT400 open source Java libraries to access an IBM AS400 machine and it works as expected. However the AS400 is constantly coming down for backups (at least once a day for about an hour, and 2-3 hours over the weekend). The smaller backups don't seem to be a problem, but the longer ones do. When the AS400 comes back up and the mod_perl application (or even standalone scripts that run under cron) attempts to contact the AS400 again, we get this message in the error log:

[error] Can't receive packet from JVM: at /usr/local/plunkit/lib/i386-linux/Inline/Java/Protocol.pm line 337

Basically this means that the socket connection between the Perl and Java parts of Inline::Java has been closed unexpectedly.

Just to make sure I get this properly: One one machine you have mod_perl/Inline::Java running, and inside the Java part of Inline::Java you are using the JT400 library to connect to an AS400 machine. The problem happens when the AS400 machine goes down and then comes back up again.

Yep, that's it.

When the problem occurs, is the entire JVM gone or is it still running (meaning that only the current thread could be having problems)? Also, have you tried activating DEBUG (say level 3) to see if you can get anything useful?

I thought that the JVM was still running, but I'll have to wait until it happens again just to make sure. I wanted to avoid the DEBUG 3 in production since it slows it down... but that may be irrelavent if it's not working right :)