Stefan,

A few people have reported this problem and I hope we have found the solution yesterday.

In Java/JVM.pm, around line 213, comment out the line that executes the "kill(15, ...)" function:

                # Inline::Java::debug(1, "Sending 15 signal to JVM...") ;
                # kill(15, $this->{pid}) ;
                Inline::Java::debug(1, "Sending 9 signal to JVM...") ;
                kill(9, $this->{pid}) ;

If you still have problems, try removing the "kill(9, ...)" also.

It seems the Windows JVM is not fond of receiving signals.

Note: Please let me know if this works for you.

I will have this fixed in 0.45.

Thanks,

Patrick


---------------------------------- | Patrick LeBoutillier | [EMAIL PROTECTED]




From: "Aeric Eynan" <[EMAIL PROTECTED]>
To: [EMAIL PROTECTED]
Subject: RE: Java not exitting cleanly
Date: Thu, 22 Jan 2004 03:58:49 +0100 (MET)

Hello,

I run Inline-java with exactly the same configuration as Alex, and it shows
exactly the same behaviour when testing the build.

>I see the same strange pause the Jim Hargrave reported for 0.43 at
>10_1_shared_alone....ok 4/4
>If I kill the java process then the tests continue with the other 'shared'
>tests being skipped.
>Everything else passes (in fact '10_1_shared_alone' all passed too as
>shown).


Subsequently, I still installed java-inline, and tried to run a test script.
It fails, and prints a lot of messages of which I don't really know the
origin. The printout and script are below. Whether I run the script from the
command line or Apache does not make a difference. Interesting is the fact, that
the error is not deterministic: It occurs either before or after the
execution of the script. In the printout below, the error occurs before the script is
actually executed, thus sending a text file to the browser instead of an
html file (because the "content type" is not the first line). Sometimes it
occurs after, thus printing the correct output of the script, plus the cryptic
error messages attached.


I hope you can do something with these error descriptions.

Stefan

Script:

#!C:\perl\bin\perl
##
print "Content-type: text/html\n\n";
print "<html>";
print "<head>";
print "<title>Sample</title>";
print "</head>";
print "<body>";

print("<p><b>now lets test java</b></p>");
use Inline Java => <<'END' ;
   public class Hello{

      public String helloWorld(){
         return "Hello World";
      }
   }
END

my $obj = new Hello ;
print($obj->helloWorld(), "<br>") ; # prints data

print "</body>";
print "</html>";

Printout:

"IJST-#0" prio=5 tid=0x006e36f8 nid=0x69c waiting on condition
[182bf000..182bfd88]
        at java.lang.Shutdown.halt(Native Method)
        at java.lang.Shutdown.exit(Shutdown.java:211)
        - locked <0x141ab588> (a java.lang.Class)
        at java.lang.Runtime.exit(Runtime.java:90)
        at java.lang.System.exit(System.java:715)
        at
org.perl.inline.java.InlineJavaServer.Shutdown(InlineJavaServer.java:261)
        - locked <0x100a0590> (a org.perl.inline.java.InlineJavaServer)
        at org.perl.inline.java.InlineJavaProtocol.Do(InlineJavaProtocol.java:68)
        at
org.perl.inline.java.InlineJavaServer.ProcessCommand(InlineJavaServer.java:136)
        at
org.perl.inline.java.InlineJavaServer.ProcessCommand(InlineJavaServer.java:125)
        at
org.perl.inline.java.InlineJavaServerThread.run(InlineJavaServerThread.java:51)

"Signal Dispatcher" daemon prio=10 tid=0x006feb48 nid=0x1ec waiting on
condition [0..0]

"Finalizer" daemon prio=9 tid=0x0069dfd0 nid=0x32c in Object.wait()
[1816f000..1816fd88]
        at java.lang.Object.wait(Native Method)
        - waiting on <0x100a06a8> (a java.lang.ref.ReferenceQueue$Lock)
        at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:111)
        - locked <0x100a06a8> (a java.lang.ref.ReferenceQueue$Lock)
        at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:127)
        at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:159)

"Reference Handler" daemon prio=10 tid=0x0069cb48 nid=0x2e4 in Object.wait()
[1812f000..1812fd88]
at java.lang.Object.wait(Native Method)
- waiting on <0x100a01c8> (a java.lang.ref.Reference$Lock)
at java.lang.Object.wait(Object.java:429)
at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:115)
- locked <0x100a01c8> (a java.lang.ref.Reference$Lock)


"main" prio=5 tid=0x00285130 nid=0x68c in Object.wait() [6f000..6fc3c]
        at java.lang.Object.wait(Native Method)
        - waiting on <0x100a0060> (a org.perl.inline.java.InlineJavaServerThread)
        at java.lang.Thread.join(Thread.java:1001)
        - locked <0x100a0060> (a org.perl.inline.java.InlineJavaServerThread)
        at java.lang.Thread.join(Thread.java:1054)
        at org.perl.inline.java.InlineJavaServer.<init>(InlineJavaServer.java:62)
        at org.perl.inline.java.InlineJavaServer.main(InlineJavaServer.java:286)

"VM Thread" prio=5 tid=0x006dd748 nid=0x510 runnable

"VM Periodic Task Thread" prio=10 tid=0x0069fb68 nid=0x4f8 waiting on
condition
"Suspend Checker Thread" prio=10 tid=0x006fe198 nid=0x514 runnable
Content-type: text/html

<html><head><title>Sample</title></head><body><p><b>now lets test
java</b></p>Hello World<br></body></html>


-- +++ GMX - die erste Adresse für Mail, Message, More +++ Bis 31.1.: TopMail + Digicam für nur 29 EUR http://www.gmx.net/topmail


_________________________________________________________________
Protect your PC - get McAfee.com VirusScan Online http://clinic.mcafee.com/clinic/ibuy/campaign.asp?cid=3963




Reply via email to