Community Tip - Learn all about PTC Community Badges. Engage with PTC and see how many you can earn! X
Hello,
I have a local server since 2 two months and today it stopped working.
My tomcat is not able to start again the server. I try with to launch it with windows service but i have an error and when I look to the log, i have this :
[2019-07-23 17:56:24] [info] [12912] Commons Daemon procrun (1.0.15.0 64-bit) started [2019-07-23 17:56:24] [info] [12912] Running 'ThingWorx-Foundation' Service... [2019-07-23 17:56:24] [info] [15036] Starting service... [2019-07-23 17:56:25] [error] [15036] Failed creating java C:\PROGRA~1\Java\JRE18~1.0_2\bin\server\jvm.dll [2019-07-23 17:56:25] [error] [15036] Le chemin d’accès spécifié est introuvable. //chemin = path in french [2019-07-23 17:56:25] [error] [15036] ServiceStart returned 1 [2019-07-23 17:56:25] [error] [15036] Le chemin d’accès spécifié est introuvable. [2019-07-23 17:56:25] [info] [12912] Run service finished. [2019-07-23 17:56:25] [info] [12912] Commons Daemon procrun finished
Is there a way to uninstall my trial thingworx without losing all my server content ? In order to reinstall it later ?
Or is there a way to to change the path. I am new to thingworx server so I don't know what is the right way to troubleshoot this.
Thanks in advance !
Solved! Go to Solution.
Thanks you all for helping me :)
Finally I have uninstalled thingworx and re-install, so it is now working.
However I was wondering where was save the thing and mashup created ?
Did Java perhaps get upgraded recently?
See if that path is still existing or not, else go into your environment variables and define the new path.
(or define the new Java home in Linux)
As far as 'not losing things on the server' do you mean your Thingworx development?
if you have no backups, you could back up the actual database content and restore that.
Yes, you are right. It was upgrade yesterday but I didn't make the link between the two event due to the delay.
I add the path like you said but I still have the error did I miss something. I add the path on the environnement system. Path highlight on the capture.
Thanks for your help
I made some research and I found that on the setenv.bat the path are write.
So I check if something was wrong but it seems okay, the jre_home is link to my latest java version.
Does someone know why there are ~ are the path name ? Is this some kind of abreviation ?
Is there an another files that I should check for tomcat ?
I used to have two tomcat but i uninstalled the second which wasn't link to thingwork and was more recent.
Hello,
Those "~" are artifacts of FAT16 filesystem, which only supported 8.3 filenames. Apparently Windows still maintains backward compatibility with MS DOS 6.22, which was deprecated 20 years ago. Pretty weird to see it in 2019, but...
I'd tried two things if I were you:
SET JRE_HOME=C:\Program Files\Java\jre1.8.0_221(do the same for CATALINA_HOME and THINGWORX_HOME as well)
Also keep in mind that your PATH entry is incorrect, you need to remove "\server" from it.
For the future, installing all software in some simple directories like "c:\jre8" or "c:\twx" may save few nerve cells (use short lowercase alphanumeric names).
/ Constantine
Thanks you for all the useful information and for the best practice. It is good to know that when you begin :)
I will try your solution.
I try the first solution but I doesn't change anything.
Moreover when I try launch manually the server I can see on the log that he goes to the old path:
> [2019-07-24 14:35:13] [error] [ 1536] Failed creating java C:\PROGRA~1\Java\JRE18~1.0_2\bin\server\jvm.dll
Is there other file that I need to change ?
I am changing the path of the jre in order to make it simplier :)
I check thingworx foundation stderr log and I have discover this before my server was down.
WARNING: The web application [Thingworx] appears to have started a thread named [Task-Thread-for-com.mchange.v2.async.ThreadPerTaskAsynchronousRunner@7fa6f1da] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread: org.h2.engine.Engine.openSession(Engine.java:169) org.h2.engine.Engine.createSessionAndValidate(Engine.java:154) org.h2.engine.Engine.createSession(Engine.java:137) org.h2.engine.Engine.createSession(Engine.java:27) org.h2.engine.SessionRemote.connectEmbeddedOrServer(SessionRemote.java:354) org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:116) org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:100) org.h2.Driver.connect(Driver.java:69) com.mchange.v2.c3p0.DriverManagerDataSource.getConnection(DriverManagerDataSource.java:175) com.mchange.v2.c3p0.WrapperConnectionPoolDataSource.getPooledConnection(WrapperConnectionPoolDataSource.java:220) com.mchange.v2.c3p0.WrapperConnectionPoolDataSource.getPooledConnection(WrapperConnectionPoolDataSource.java:206) com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool$1PooledConnectionResourcePoolManager.acquireResource(C3P0PooledConnectionPool.java:200) com.mchange.v2.resourcepool.BasicResourcePool.doAcquire(BasicResourcePool.java:1127) com.mchange.v2.resourcepool.BasicResourcePool.doAcquireAndDecrementPendingAcquiresWithinLockOnSuccess(BasicResourcePool.java:1114) com.mchange.v2.resourcepool.BasicResourcePool.access$800(BasicResourcePool.java:44) com.mchange.v2.resourcepool.BasicResourcePool$ScatteredAcquireTask.run(BasicResourcePool.java:1855) com.mchange.v2.async.ThreadPerTaskAsynchronousRunner$TaskThread.run(ThreadPerTaskAsynchronousRunner.java:267) juil. 23, 2019 1:05:40 PM org.apache.catalina.loader.WebappClassLoaderBase checkThreadLocalMapForLeaks GRAVE: The web application [Thingworx] created a ThreadLocal with key of type [java.lang.ThreadLocal] (value [java.lang.ThreadLocal@2707b3e1]) and a value of type [io.netty.util.internal.InternalThreadLocalMap] (value [io.netty.util.internal.InternalThreadLocalMap@38d8a544]) but failed to remove it when the web application was stopped. Threads are going to be renewed over time to try and avoid a probable memory leak. juil. 23, 2019 1:05:40 PM org.apache.coyote.AbstractProtocol stop INFOS: Stopping ProtocolHandler ["http-nio-8080"] juil. 23, 2019 1:05:40 PM org.apache.coyote.AbstractProtocol stop INFOS: Stopping ProtocolHandler ["http-nio-8443"] juil. 23, 2019 1:05:40 PM org.apache.catalina.util.LifecycleBase stop INFOS: The stop() method was called on component [StandardServer[7005]] after stop() had already been called. The second call will be ignored.
This line seems not good :/ (GRAVE = SERIOUS in french)
> GRAVE: The web application [Thingworx] created a ThreadLocal with key of type [java.lang.ThreadLocal] (value [java.lang.ThreadLocal@2707b3e1]) and a value of type [io.netty.util.internal.InternalThreadLocalMap] (value [io.netty.util.internal.InternalThreadLocalMap@38d8a544]) but failed to remove it when the web application was stopped. Threads are going to be renewed over time to try and avoid a probable memory leak.
Hi @Clement_D.
When you installed the java upgrade did you install only the JRE? You need both the JDK and JRE.
Regards.
--Sharon
I didn't touch jre or jdk because I used java update which is automatic.
Do I need to download manually a new jdk ?
I made research and I understand that jdk include jre and I only need jre for tomcat becuase is for debug purpose.
My java configuration says that I am already up to date.
Hi @Clement_D.
Are you trying to use jdk 12.0.1 with ThingWorx? That version is not currently supported.
Try this:
Is "Use Default" selected?
If not, what path exists for Java Virtual Machine?
Is the path accurate?
Regards.
--Sharon
I have already try this solution after finding it on stackoverflow.
However it said that :
> The specified service does not exist as an installed service
I try execute it with admin right but it is the same. I think it is due to the fact that it is installed with thingworx.
Just as a quick try -- execute startup.bat instead. If it doesn't work, I'm afraid you'll need to check your paths with Tech Support.
I try to execute it with admin mode and the results is a bit weird. It says that a file is missing but he is there. Did I miss something ?
It looks like somehow you managed to move something between "Program Files" and "Program Files (x86)".
I just correct that, you are right I forget the (x86) in the path name.
I can't explain this error log line : Failed creating java C:\PROGRA~1\Java\JRE18~1.0_2\bin\server\jvm.dll
I check my file and I don't find why it is looking at this path because I have update all the path I found and I never find this path.
Do i need to restart my computer to update the path or is this automatic ?
Because I restart everytime and I don't know if it is useful.
Hi @Clement_D.
If you open a command prompt, and run the following, it will display your environment variables:
set {enter}
What is shown in the path for JRE_HOME?
Also, it would be a good idea to open the environment variables and validate where the JRE_HOME variable exists. Is it under User Variables or System Variables? It needs to be under System Variables.
Regards.
--Sharon
Thanks you all for helping me :)
Finally I have uninstalled thingworx and re-install, so it is now working.
However I was wondering where was save the thing and mashup created ?
Hi @Clement_D.
If I'm understanding your question, the entities you created would exist in the database. If you reinstalled ThingWorx, however, I'm assuming the database was recreated and these artifacts are gone, short of an export or backup.
Please let me know if I'm missing something.
Regards.
--Sharon
Yes, you are right.
However before the re-installation I have copied the repository with all the files from thingworx on a usb drive in case I could recover something.
Hi @Clement_D.
Since you have a different post regarding the ability to restore from an H2 backup, please mark the Accepted Solution for the original question in this post. This will help others in the community with the same issue/question.
Regards.
--Sharon
Okay, I didn't know if I should accept a solution because I didn't find a real solution or the cause of the crash even if it should be the upgrade.
Thanks you for giving me some useful tip @slangley @Constantine @PaiChung
Hello Clement,
It's a pity that we couldn't find a solution for this. The problems with pathes are usually quite simple (because there are only that many places where they can be specified), but unfortunately it requires some kind of trial-and-error approach, when you try something, then test whether it helped, then retry, etc. Doing it via screenshots is highly inefficient, takes a lot of time and I imagine also frustrating for you as well, and it didn't work at the end of the day.
If there's anything I could suggest -- this issue looks like a perfect candidate for Tech Support. Next time consider opening a TS case, then somebody will call you, you'll share your screen and go through this trial-and-error together with a PTC engineer, and I bet that he'll be able to solve your problem in an hour or two.
Regards,
Constantine
Hi @Clement_D.
It's perfectly fine to mark your response as the Accepted Solution. In this case, you resolved it by reinstalling the product. If you agree and you're unable to change the Accepted Solution, please let me know and I'll be happy to update it for you.
Regards.
--Sharon
Can you modify the solution to the message where I say I re-install thingworx. Thanks you
I am not able to do it.
Hi @Clement_D.
I went back and looked at the image you provided of setenv.bat with the updated path. This variable does not have the correct path:
SET JRE_HOME=C:\PROGRA~1\Java\JRE18-1.0_2
The error log confirms this: [2019-07-24 14:35:13] [error] [ 1536] Failed creating java C:\PROGRA~1\Java\JRE18~1.0_2\bin\server\jvm.dll
From one of your later screenshots, the folder containing the java upgrade appears to be ....\jre1.8.0_122. You'll have to validate the full path when making your change as I'm not able to see that information.
Regards.
--Sharon
I have already change this but I still have the same error on the log which is strange.
Is this possible that i have some memory issue on my server ?