Joachim Steffenhagen created DAEMON-316:
-------------------------------------------
Summary: High JvmMx values result in the service being un-startable
Key: DAEMON-316
URL: https://issues.apache.org/jira/browse/DAEMON-316
Project: Commons Daemon
Issue Type: Bug
Components: Procrun
Affects Versions: 1.0.15
Environment: Windows 7 64bit
Reporter: Joachim Steffenhagen
Priority: Critical
When I specify the JvmMx and use a large value, it will result in an error
during service start. A value of 1240 will still work, however when changing it
to 2240, the service installation is running ok, but when I start the service
in windows, it just shuts down immediately with an error message referring to
service specifiec error code 4. looking into the windows event log, it displays
this info:
- <Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
- <System>
<Provider Name="Service Control Manager"
Guid="{555908d1-a6d7-4695-8e1e-26931d2012f4}" EventSourceName="Service Control
Manager" />
<EventID Qualifiers="49152">7024</EventID>
<Version>0</Version>
<Level>2</Level>
<Task>0</Task>
<Opcode>0</Opcode>
<Keywords>0x8080000000000000</Keywords>
<TimeCreated SystemTime="2014-03-18T12:17:02.546588300Z" />
<EventRecordID>153783</EventRecordID>
<Correlation />
<Execution ProcessID="864" ThreadID="3736" />
<Channel>System</Channel>
<Computer>mycomputer</Computer>
<Security />
</System>
- <EventData>
<Data Name="param1">MyService</Data>
<Data Name="param2">%%4</Data>
</EventData>
</Event>
I am installing it using
"$INSTDIR\prunsrv.exe" //IS//MyService --Install="$INSTDIR\prunsrv.exe"
--Startup=auto \
--Description="VTS" --Jvm=auto \
++JvmOptions="-Djavax.net.ssl.trustStore=$INSTDIR\resources\cacerts.jks";"-Djavax.net.ssl.trustStorePassword=changeit"
\
--Classpath="$INSTDIR\MyService.jar";"$INSTDIR\log4j-1.2.15.jar";"$INSTDIR\jcifs-1.3.17.jar";"$INSTDIR\jasypt-1.9.0.jar"
\
--StartImage=MyService.jar \
--JvmMs=1024 --JvmMx=2240 \
--StartPath="$INSTDIR" --StartMode=jvm \
--StartClass=de.volke.terminal.service.TerminalService
--StartMethod=main --StartParams=start --StopMode=exe \
--StopClass=de.volke.terminal.service.TerminalService --StopMethod=main
--StopImage=MyService.jar \
--StopPath="$INSTDIR" --StopParams=stop --LogPath="$INSTDIR\logs"
from an NSIS script.
To me this seems like a bug as apparenlty the error should be constant in case
my whole cmd line is wrong. Else it should also accept the higher JvmMx value
as this is the maximum, no matter if this much memory is really available. The
behaviour was also seen on machines having 16GB RAM with >10GB free. So it
appears not be related to the real memory consumption on the machine.
--
This message was sent by Atlassian JIRA
(v6.2#6252)