Tomcat Error – prunsrv.c Failed creating java (jvm.dll)

I had encountered following error message while starting my Tomcat server.

[2009-01-16 11:22:19] [1343 prunsrv.c] [debug] Procrun log initialized
[2009-01-16 11:22:19] [info] Procrun (2.0.4.0) started
[2009-01-16 11:22:19] [info] Running Service...
[2009-01-16 11:22:19] [1166 prunsrv.c] [debug] Inside ServiceMain...
[2009-01-16 11:22:19] [info] Starting service...
... [error] The specified module could not be found.
[2009-01-16 11:22:19] [994  prunsrv.c] [error] Failed creating java 
C:\Program Files\Java\jre1.6.0_07\bin\client\jvm.dll
[2009-01-16 11:22:19] [1269 prunsrv.c] [error] ServiceStart returned 1
[2009-01-16 11:22:19] [info] Run service finished.
[2009-01-16 11:22:19] [info] Procrun finished.
[2009-01-16 11:24:41] [1343 prunsrv.c] [debug] Procrun log initialized
[2009-01-16 11:24:41] [info] Procrun (2.0.4.0) started
[2009-01-16 11:24:41] [info] Debugging Service...
[2009-01-16 11:24:41] [1166 prunsrv.c] [debug] Inside ServiceMain...
[2009-01-16 11:24:41] [info] Starting service...
...[174  javajni.c] [error] The specified module could not be found.

After googling, this is usually happen because of missing msvcr71.dll file. However tomcat doesn’t use msvcr71.dll directly, it’s used by the Java Virtual Machine (JVM).

Solution

  1. Copy msvcr71.dll from java’s bin directory to tomcat’s bin folder.
  2. Add java’s bin directory to windows environment variable.
  3. Copy msvcr71.dll from java’s bin directory to windows\system32 folder.
  4. Make sure your tomcat’s pointing to correct jvm.dll folder.

Solution 4 is work for me, my tomcat pointing to C:\Program Files\Java\jre1.6.0_07\bin\client\jvm.dll, but my java’s runtime folder is located at C:\Program Files\Java\jre\bin\client\jvm.dll..what a joke.

Updated, 19-Sept-2009
Here is a similar error, it happened recently


... [174  javajni.c] [error] %1 is not a valid Win32 application.
... [994  prunsrv.c] [error] Failed creating java 
C:\Program Files\Java\jre6\bin\server\jvm.dll
... [1269 prunsrv.c] [error] ServiceStart returned 1

It’s seem server\jvm.dll is not working property, just change it to client\jvm.dll will do.

From


C:\Program Files\Java\jre6\bin\server\jvm.dll

To


C:\Program Files\Java\jre6\bin\client\jvm.dll

About the Author

author image
mkyong
Founder of Mkyong.com, love Java and open source stuff. Follow him on Twitter, or befriend him on Facebook or Google Plus. If you like my tutorials, consider make a donation to these charities.

Comments

Leave a Reply

avatar
newest oldest most voted
ariel
Guest
ariel

excelentª!!!

Koray Tugay
Guest
Koray Tugay

Thank you very much. Adjusting the JVM setting in TomcatW was able to fix my problem. My website now runs as a service on a windows machine with no problems!

xece
Guest
xece

Thank you very much. Adjusting the JVM setting in TomcatW was able to fix my problem. My website now runs as a service on a windows machine with no problems!

Justin
Guest
Justin

Thank you very much. Adjusting the JVM setting in TomcatW was able to fix my problem. My website now runs as a service on a windows machine with no problems!

arc
Guest
arc

If I uninstall and reinstall the tomcat service. Will tomcat work?

Kshitija
Guest
Kshitija

Nice solution worked for me… but I copied msvcr100.dll from java’s bin directory to tomcat’s bin folder.

Ganesh K
Guest
Ganesh K

Thank you :)

JerryYin
Guest
JerryYin

thank you

rajlaxmi
Guest
rajlaxmi

Thanks a lot it worked for me for server error.In C:\Program Files\Java\jre6\bin\client\jvm.dll was there i jus renamed client folder with server and it worked.

rajlaxmi
Guest
rajlaxmi

thanks a lot it worked for me…

Dhana
Guest
Dhana

Hi Yong,

I followed all the 4 steps, but still I am getting this error:

[2013-05-28 18:06:49] [info] Commons Daemon procrun (1.0.10.0 32-bit) started
[2013-05-28 18:06:49] [info] Service JettyService name
[2013-05-28 18:06:49] [info] Service ‘JettyService’ installed
[2013-05-28 18:06:49] [info] Commons Daemon procrun finished
[2013-05-28 18:07:02] [info] Commons Daemon procrun (1.0.10.0 32-bit) started
[2013-05-28 18:07:02] [info] Running ‘JettyService’ Service…
[2013-05-28 18:07:02] [info] Starting service…
[2013-05-28 18:07:02] [error] Failed to start Java
[2013-05-28 18:07:02] [error] ServiceStart returned 4
[2013-05-28 18:07:02] [info] Run service finished.
[2013-05-28 18:07:02] [info] Commons Daemon procrun finished

Any Idea?

Thanks
Dhana

Dhana
Guest
Dhana

Hi yong,

I solved my issue.

I have followed all the 4 solution and restarted my windows system. Then I started my JettyService, it works as expected.

Thanks a lot for all the solution..

Thanks
Dhana

Manohar
Guest
Manohar

Thank you very much. After googling lot i ended up in this page. Solution 4 works perfectly fine for me. Thank you for the solution

Sriram
Guest
Sriram

Would it work if i am trying to create jar as a service too? I dont have a bin folder in my jar file. Is it enough if i copy it from java bin to sys32 folder?

Adarsh
Guest
Adarsh

Thanks a lot man!!!

Swapnil Gawade
Guest
Swapnil Gawade

Thanks….. copying msvcr100.dll from java’s bin to tomcat’s bin solved my problem aswell…..

bohumir
Guest
bohumir

Thanks man!

Kyle Fritz
Guest
Kyle Fritz

Right on! Thanks for the great post.

I had the same issue with java7. Copying msvcr100.dll from java’s bin to tomcat’s bin solve the problem.

Thanks again.

rahul sood
Guest
rahul sood

We had a similar error
CreateJavaVM Failed
[2012-12-17 12:54:56] [error] %1 is not a valid Win32 application.
[2012-12-17 12:54:56] [error] Failed to start Java
[2012-12-17 12:54:56] [error] ServiceStart returned 4
[2012-12-17 12:56:58] [error] CreateJavaVM Failed
[2012-12-17 12:56:58] [error] %1 is not a valid Win32 application.
[2012-12-17 12:56:58] [error] Failed to start Java
[2012-12-17 12:56:58] [error] ServiceStart returned 4
We fixed it by upgrading jre to the lates version of 1.6, our process required at least 4 gig ram compared to the fact that we had only 3 g

trackback
Install Pentaho 4.5 CE as service on Windows 7 x64 | Dot …

[…] Tomcat Error – Prunsrv.C Failed Creating Java (Jvm.Dll) […]

omkar
Guest
omkar
I just places the distributed files folder apache-tomcat-7.0.22 in c drive and i set the path too. when i am starting the startup i am getting this error! plz help me sir! java.util.logging.ErrorManager: 4 java.io.FileNotFoundException: C:\Program Files (x86)\apache-tomcat-7.0.22\logs\ catalina.2012-09-06.log (Access is denied) at java.io.FileOutputStream.openAppend(Native Method) at java.io.FileOutputStream.(FileOutputStream.java:192) at org.apache.juli.FileHandler.openWriter(FileHandler.java:386) SEVERE: Failed to open access log file [C:\Program Files (x86)\apache-tomcat-7.0 .22\logs\localhost_access_log.2012-09-06.txt] java.io.FileNotFoundException: C:\Program Files (x86)\apache-tomcat-7.0.22\logs\ localhost_access_log.2012-09-06.txt (Access is denied) SEVERE: Unable to create directory for deployment: C:\Program Files (x86)\apache -tomcat-7.0.22\conf\Catalina\localhost WARNING: Failed to create work directory [C:\Program Files (x86)\apache-tomcat-7 .0.22\work\Catalina\localhost\docs] for context [/docs] WARNING: Failed to create work directory [C:\Program Files… Read more »
Stephen
Guest
Stephen

looks like permission issues creating several different files (Access is denied). Did you install java or “copy” over? Do you have admin rights? Ask your server team what group policies you’re associated with?

Heather
Guest
Heather

Another very happy reader here. Thanks so much! :D

Sanmo
Guest
Sanmo

I am getting an error message:

C:\PROGRA – 1jre6\bin\ssragent.exe

I cannot download any programs after I click off the message. Can anyone help?

Thanks.
Sanmo

Unclerj72
Guest
Unclerj72
In my research with this same issue, I stumbled on this thread and made the changes through the tomcat6WFw gui and it solved my problem of the service not starting. Now I was wondering if anybody can help me make this change via batch file. I need to install webfocus dev studio 773 on several machines but tomcat always wants to use the default path to the jvm of c:\program files\jave\jre6\blah blah blah but I need the path to be set as c:\program files\java\jdk1.6.0_17\jre\bin\server\jvm.dll. I would really appreciate any help in scripting this command. as a side note- I have… Read more »
Stephen
Guest
Stephen

Question… Windows 2008 or W 2003? We found “client” directory missing under JRE/BIN which caused JSCOM to not start. Had to copy directory in from another server. Bizarre.

dracuella
Guest
dracuella

Seriously dude, a week ago I’d never been to your blog and now I’ve found the solution to my problems here TWICE.

At the risk of sounding lame and stereotypical, you da man!

.. two beer owed :)

Deniz Orsel
Guest
Deniz Orsel

Try restarting the computer before making any changes and see if it works.

Based on a True Story!

Keith Leung
Guest
Keith Leung

I got similar error:

[994 prunsrv.c] [error] Failed creating java C:\Program Files\Java\jre7\bin\server\jvm.d
ll
[1269 prunsrv.c] [error] ServiceStart returned 1

I am running 64 bit java 1.7.0 with 64 bit tomcat. The file msvcr71.dll no longer exist in new version of java.

Solution for me is to copy the new version: msvcr100.dll from C:\Program Files\Java\jre7\bin to tomcat’s bin folder and windows\system32 folder.

Aamir
Guest
Aamir

Steps 1-4 works for me. Thanks a lot

Aprasanna
Guest
Aprasanna

****It’s seem server\jvm.dll is not working property, just change it to client\jvm.dll will do.***

Thanks for this info, it worked for me.

David
Guest
David

Hi,

I am running Windows Server 2008, Enterprise and TomCat 5.5 and Have not been able to get it running even with all the great tips I have seen here.

Can anyone offer any more help?

Thanks in advance

dip
Guest
dip

IT WORKED!
MANY THANX!