Article - CS299595

The H2 database does not back up properly in ThingWorx and deadlock errors are noticed in logs

Modified: 18-Jan-2019   


Applies To

  • ThingWorx Platform 8.3
  • H2 database

Description

  • The H2 database does not back up properly
  • Things and entities disappear from the composer when a mashup is opened/viewed
  • Application log:

tector@3dcc8765 -- APPARENT DEADLOCK!!! Creating emergency threads for unassigned pending tasks!lAsynchronousRunner$DeadlockDemer] com.mchange.v2.async.ThreadPoof5jhh8tx|35a83703]-AdminTaskTir[identityToken->2sa1hn9z1al31Runner] [I: ] [U: ] [S: ] [T: C3P0PooledConnectionPoolManage[L: WARN] [O: c.m.v.a.ThreadPoolAsynchronous 
 [L: WARN] [O: c.m.v.a.ThreadPoolAsynchronousRunner] [I: ] [U: ] [S: ] [T: C3P0PooledConnectionPoolManager[identityToken->2sa1hn9z1al31f5jhh8tx|35a83703]-AdminTaskTimer] Task com.mchange.v2.resourcepool.BasicResourcePool$AsyncTestIdleResourceTask@44fa541f (in deadlocked PoolThread) failed to complete in maximum time 60000ms. Trying interrupt()
  • Tomcat log:

WARNING [localhost-startStop-2] org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesThreads The web application [Thingworx] appears to have started a thread named [pool-3-thread-1] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread:

sun.misc.Unsafe.park(Native Method)

java.util.concurrent.locks.LockSupport.park(Unknown Source)
java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(Unknown Source)
java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireQueued(Unknown Source)
java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(Unknown Source)
java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(Unknown Source)
java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(Unknown Source)
java.util.concurrent.ThreadPoolExecutor.getTask(Unknown Source)
java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
java.lang.Thread.run(Unknown Source)
WARNING [localhost-startStop-2] org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesThreads The web application [Thingworx] appears to have started a thread named [C3P0PooledConnectionPoolManager[identityToken->2sa1hn9z18r4ztatzuszr|2aab3c9b]-HelperThread-#0] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread:
java.io.FileDescriptor.sync(Native Method)
org.h2.store.fs.FileDisk.force(FilePathDisk.java:422)
org.h2.store.FileStore.sync(FileStore.java:418)
org.h2.store.PageStore.writeVariableHeader(PageStore.java:981)
org.h2.store.PageStore.setLogFirstPage(PageStore.java:975)
org.h2.store.PageLog.removeUntil(PageLog.java:726)
org.h2.store.PageStore.checkpoint(PageStore.java:440)
org.h2.engine.Database.closeOpenFilesAndUnlock(Database.java:1356)
org.h2.engine.Database.close(Database.java:1289)
org.h2.engine.Database.removeSession(Database.java:1173)
org.h2.engine.Session.close(Session.java:825)
org.h2.jdbc.JdbcConnection.close(JdbcConnection.java:397)
com.mchange.v2.c3p0.impl.NewPooledConnection.close(NewPooledConnection.java:642)
com.mchange.v2.c3p0.impl.NewPooledConnection.closeMaybeCheckedOut(NewPooledConnection.java:255)
com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool$1PooledConnectionResourcePoolManager.destroyResource(C3P0PooledConnectionPool.java:621)
com.mchange.v2.resourcepool.BasicResourcePool.doAcquire(BasicResourcePool.java:1156)
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.ThreadPoolAsynchronousRunner$PoolThread.run(ThreadPoolAsynchronousRunner.java:696)
This is a printer-friendly version of Article 299595 and may be out of date. For the latest version click CS299595