Using Pax-Runner as a Windows service results in 100% CPU
---------------------------------------------------------

                 Key: PAXRUNNER-155
                 URL: http://issues.ops4j.org/jira/browse/PAXRUNNER-155
             Project: Pax Runner
          Issue Type: Bug
    Affects Versions: 0.12.0
            Reporter: Stuart McCulloch
            Assignee: Stuart McCulloch
             Fix For: 0.13.0


As reported by Craig Walls on the OPS4J mailing list:

I'm trying to run Pax Runner (v0.12.0)-launched application as a Windows
service. I'm using JSL (http://jslwin.sourceforge.net/) to install and
run it as a service. It works, but when I start the service, the
performance tab in the task manager says that it's using 100% of the CPU!

I've tried narrowing the problem down and I've finally reached a point
where I'm doing a VERY minimal installation of Pax Runner as a service
(my app isn't even involved anymore...nor are its dependency bundles).
Here's what the jsl.ini looks like:

   [defines]
   PATH = c:\myapp
   JAVA = %JAVA_HOME%
   PP = %PATH%
   P1 = %P2%
   P2 = %PP%
   MYAPP_HOME = %PATH%

   [service]
   appname = Semantra
   servicename = MyApp
   displayname = MyApp
   servicedescription = MyApp
   stringbuffer = 16000
   starttype=auto
   loadordergroup=someorder
   useconsolehandler=false
   stopclass=java/lang/System
   stopmethod=exit
   stopsignature=(I)V
   premainmethod=run
   premainsignature=()I
   premain.modules=threaddump
   premain.threaddump.class=com.roeschter.jsl.ThreadDumpListener
   premain.threaddump.method=start
   premain.threaddump.wait=3000
   premain.threaddump.critical=no
   premain.threaddump.interface=127.0.0.1

   [java]
   cmdline = -jar %MYAPP_HOME%/bin/pax/pax-runner-0.12.0.jar --platform=eq

The only thing non-trivial about running Pax Runner this way is that I'm
using Equinox instead of the default Felix (I get the same results with
Felix, btw).

Again, nothing special...just a bare-bones Pax Runner. No bundles other
than the framework bundles are involved. When I start the service, the
CPU jumps to 100%. Actually, while it's resolving the framework bundles
from Maven, it stays relatively low (at around 40% or less)...but once
the framework starts, it plateaus at 100%.

Note that I can run Pax Runner (with or without my app) as a non-service
and the CPU stabilizes after a brief startup spike. I can also run
Equinox (java -jar equinox.jar) as a service and the CPU usage remains
low. So, the culprit seems to be Pax Runner.

I don't expect that anyone listening has tried doing this before, but I
have to ask: What could Pax Runner be doing after the framework starts
that would cause it to consume all of the CPU when running as a Window
service? Once the framework is started, what is there for Pax Runner to
do? Why so busy?

And...anybody have any ideas on how I could run this as a service and
*not* use up all of the CPU?


-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
http://issues.ops4j.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

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

Reply via email to