I've made a tiny bit of progress. Running Pax Runner under the Java 
Service Wrapper (instead of JSL) allows me to run JProfiler against it 
as a service. This reveals that 85.6% (and as I'm writing this, it's 
rising) of the time is spent in 
org.ops4j.pax.runner.platform.internal.Pipe.run() as it invokes 
java.io.IOException.printStackTrace(). That sounds like it might be 
important. :-)

The question is: What's the stack trace? Well, I looked at the 
wrapper.log file and found roughly 3GB of log (and growing) that started 
with this:

INFO   | jvm 1    | 2008/07/31 16:20:39 |     ______  ________  __  __
INFO   | jvm 1    | 2008/07/31 16:20:39 |    / __  / /  __   / / / / /
INFO   | jvm 1    | 2008/07/31 16:20:39 |   /  ___/ /  __   / _\ \ _/
INFO   | jvm 1    | 2008/07/31 16:20:39 |  /  /    /  / /  / / _\ \
INFO   | jvm 1    | 2008/07/31 16:20:39 | /__/    /__/ /__/ /_/ /_/
INFO   | jvm 1    | 2008/07/31 16:20:39 |
INFO   | jvm 1    | 2008/07/31 16:20:39 | Pax Runner from OPS4J - 
http://www.ops4j.org
INFO   | jvm 1    | 2008/07/31 16:20:39 | 
--------------------------------------------
INFO   | jvm 1    | 2008/07/31 16:20:39 |
INFO   | jvm 1    | 2008/07/31 16:20:41 | java.io.IOException: The 
handle is invalid
INFO   | jvm 1    | 2008/07/31 16:20:41 |     at 
java.io.FileInputStream.readBytes(Native Method)
INFO   | jvm 1    | 2008/07/31 16:20:41 |     at 
java.io.FileInputStream.read(Unknown Source)
INFO   | jvm 1    | 2008/07/31 16:20:41 |     at 
java.io.BufferedInputStream.read1(Unknown Source)
INFO   | jvm 1    | 2008/07/31 16:20:41 |     at 
java.io.BufferedInputStream.read(Unknown Source)
INFO   | jvm 1    | 2008/07/31 16:20:41 |     at 
org.ops4j.pax.runner.platform.internal.Pipe.run(Pipe.java:95)
INFO   | jvm 1    | 2008/07/31 16:20:41 |     at 
java.lang.Thread.run(Unknown Source)
INFO   | jvm 1    | 2008/07/31 16:20:41 | java.io.IOException: The 
handle is invalid
INFO   | jvm 1    | 2008/07/31 16:20:41 |     at 
java.io.FileInputStream.readBytes(Native Method)
INFO   | jvm 1    | 2008/07/31 16:20:41 |     at 
java.io.FileInputStream.read(Unknown Source)
INFO   | jvm 1    | 2008/07/31 16:20:41 |     at 
java.io.BufferedInputStream.read1(Unknown Source)
INFO   | jvm 1    | 2008/07/31 16:20:41 |     at 
java.io.BufferedInputStream.read(Unknown Source)
INFO   | jvm 1    | 2008/07/31 16:20:41 |     at 
org.ops4j.pax.runner.platform.internal.Pipe.run(Pipe.java:95)
INFO   | jvm 1    | 2008/07/31 16:20:41 |     at 
java.lang.Thread.run(Unknown Source)
INFO   | jvm 1    | 2008/07/31 16:20:41 | java.io.IOException: The 
handle is invalid
INFO   | jvm 1    | 2008/07/31 16:20:41 |     at 
java.io.FileInputStream.readBytes(Native Method)
INFO   | jvm 1    | 2008/07/31 16:20:41 |     at 
java.io.FileInputStream.read(Unknown Source)
INFO   | jvm 1    | 2008/07/31 16:20:41 |     at 
java.io.BufferedInputStream.read1(Unknown Source)
INFO   | jvm 1    | 2008/07/31 16:20:41 |     at 
java.io.BufferedInputStream.read(Unknown Source)
INFO   | jvm 1    | 2008/07/31 16:20:41 |     at 
org.ops4j.pax.runner.platform.internal.Pipe.run(Pipe.java:95)
INFO   | jvm 1    | 2008/07/31 16:20:41 |     at 
java.lang.Thread.run(Unknown Source)

And it keeps on going with the same "handle is invalid" IOException for 
several GB.

Any clue what this is? I'm completely guessing, but it seems like it's 
trying to read input from STDIN and (since this is running as a service) 
it can't...there is no STDIN. But I do have --noConsole, so shouldn't 
that pipe be extinguished. I'm about to go look at the code again, but 
thought I'd offer up this news and see what you guys think.



Craig Walls wrote:
> Cool...thanks a lot! I'm still pounding on it on my end, but so far, no 
> luck.
>
> FWIW, I tried using Java Service Wrapper 
> (http://wrapper.tanukisoftware.org) instead of JSL...to eliminate JSL as 
> the problem. JSW gave almost the same result as JSL. The only 
> significant difference I noticed is that when running Pax Runner as a 
> service using JSW, the CPU goes to 100%, but then dips down (to as low 
> as 66%) for a very brief moment every 30 seconds...JSL seemed to stay 
> steady at 100%.
>
>
> Stuart McCulloch wrote:
>   
>> I have access to a Windows machine - will take a look at this tomorrow
>>     
>
>
> _______________________________________________
> general mailing list
> general@lists.ops4j.org
> http://lists.ops4j.org/mailman/listinfo/general
>   


_______________________________________________
general mailing list
general@lists.ops4j.org
http://lists.ops4j.org/mailman/listinfo/general

Reply via email to