Main Tutorials

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 Author

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

Comments

Subscribe
Notify of
84 Comments
Most Voted
Newest Oldest
Inline Feedbacks
View all comments
Céline
5 years ago

Hi,
It could be also msvcr100.dll depending of the version of java.

ariel
6 years ago

excelentª!!!

Koray Tugay
7 years ago

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
9 years ago

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
9 years ago

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
10 years ago

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

Kshitija
10 years ago

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

Ganesh K
10 years ago

Thank you 🙂

JerryYin
10 years ago

thank you

rajlaxmi
10 years ago

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
10 years ago

thanks a lot it worked for me…

Dhana
10 years ago

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
10 years ago
Reply to  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
10 years ago

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
11 years ago

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
11 years ago

Thanks a lot man!!!

Swapnil Gawade
11 years ago

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

bohumir
11 years ago

Thanks man!

Kyle Fritz
11 years ago

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
11 years ago

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

omkar
11 years ago

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 (x86)\apache-tomcat-7
.0.22\work\Catalina\localhost\examples] for context [/examples]

WARNING: Failed to create work directory [C:\Program Files (x86)\apache-tomcat-7
.0.22\work\Catalina\localhost\host-manager] for context [/host-manager]
Stephen
11 years ago
Reply to  omkar

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
11 years ago

Another very happy reader here. Thanks so much! 😀

Sanmo
11 years ago

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
11 years ago

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 never posted to a forum before and apologize if I break any protocols…

Thanks in advance!

Stephen
11 years ago
Reply to  Unclerj72

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
12 years ago

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
12 years ago

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

Based on a True Story!

Keith Leung
12 years ago

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
12 years ago

Steps 1-4 works for me. Thanks a lot

Aprasanna
12 years ago

****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
13 years ago

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
13 years ago

IT WORKED!
MANY THANX!