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)

Reply via email to