Stackify Retrace - AWS Elastic Beanstalk Tomcat - Tomcat замерзает - PullRequest
0 голосов
/ 19 октября 2018

Сведения о системе;

  • Linux ip-10-0-1-17 4.1.13-19.30.amzn1.x86_64 # 1 SMP пт 11 декабря 03:42:10 UTC 2015 x86_64 x86_64 x86_64GNU / Linux
  • Среда выполнения OpenJDK (сборка 1.8.0_65-b17)
  • Tomcat 8.0.28
  • Пакет из Джерси

    <dependency>
        <groupId>com.sun.jersey</groupId>
        <artifactId>jersey-servlet</artifactId>
        <version>1.19</version>
    </dependency>
    

После установки javaagent (ниже) на JVM tomcat не может запуститься правильно javaagent:/usr/local/stackify/stackify-java-apm/stackify-java-apm.jar

По моим наблюдениям, Джерси не может правильно инициализироваться.

Следующий журнал показываетнормальный запуск tomcat;

    19-Oct-2018 00:02:18.979 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server version:        Apache Tomcat/8.0.28
    19-Oct-2018 00:02:18.981 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server built:          Nov 18 2015 23:50:41 UTC
    19-Oct-2018 00:02:18.981 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server number:         8.0.28.0
    19-Oct-2018 00:02:18.981 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log OS Name:               Linux
    19-Oct-2018 00:02:18.981 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log OS Version:            4.1.13-19.30.amzn1.x86_64
    19-Oct-2018 00:02:18.981 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Architecture:          amd64
    19-Oct-2018 00:02:18.981 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Java Home:             /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.65-2.b17.7.amzn1.x86_64/jre
    19-Oct-2018 00:02:18.981 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log JVM Version:           1.8.0_65-b17
    19-Oct-2018 00:02:18.982 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log JVM Vendor:            Oracle Corporation
    19-Oct-2018 00:02:18.982 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log CATALINA_BASE:         /usr/share/tomcat8
    19-Oct-2018 00:02:18.982 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log CATALINA_HOME:         /usr/share/tomcat8
    19-Oct-2018 00:02:18.982 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -DIVW_CONFIG_SLACK_LOG_CHANNEL=#exceptions_alpha
    19-Oct-2018 00:02:18.985 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -XX:MaxPermSize=512m
    19-Oct-2018 00:02:18.985 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Xmx3700m
    19-Oct-2018 00:02:18.985 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -XX:-OmitStackTraceInFastThrow
    19-Oct-2018 00:02:18.985 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -XX:+CMSClassUnloadingEnabled
    19-Oct-2018 00:02:18.986 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -XX:+UseConcMarkSweepGC
    19-Oct-2018 00:02:18.986 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -XX:+HeapDumpOnOutOfMemoryError
    19-Oct-2018 00:02:18.986 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -XX:HeapDumpPath=/tmp/logs
    19-Oct-2018 00:02:18.986 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -javaagent:/usr/local/stackify/stackify-java-apm/stackify-java-apm.jar
    19-Oct-2018 00:02:18.986 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Xms1024m
    19-Oct-2018 00:02:18.986 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dcatalina.base=/usr/share/tomcat8
    19-Oct-2018 00:02:18.986 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dcatalina.home=/usr/share/tomcat8
    19-Oct-2018 00:02:18.986 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.awt.headless=true
    19-Oct-2018 00:02:18.987 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.endorsed.dirs=
    19-Oct-2018 00:02:18.987 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.io.tmpdir=/media/ivwStorage/javaTemp/
    19-Oct-2018 00:02:18.987 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.util.logging.config.file=/usr/share/tomcat8/conf/logging.properties
    19-Oct-2018 00:02:18.987 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
    19-Oct-2018 00:02:18.987 INFO [main] org.apache.catalina.core.AprLifecycleListener.lifecycleEvent The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: /usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib
    19-Oct-2018 00:02:19.191 INFO [main] org.apache.coyote.AbstractProtocol.init Initializing ProtocolHandler ["http-nio-8080"]
    19-Oct-2018 00:02:19.209 INFO [main] org.apache.tomcat.util.net.NioSelectorPool.getSharedSelector Using a shared selector for servlet write/read
    19-Oct-2018 00:02:19.254 INFO [main] org.apache.coyote.AbstractProtocol.init Initializing ProtocolHandler ["ajp-nio-8009"]
    19-Oct-2018 00:02:19.255 INFO [main] org.apache.tomcat.util.net.NioSelectorPool.getSharedSelector Using a shared selector for servlet write/read
    19-Oct-2018 00:02:19.264 INFO [main] org.apache.catalina.startup.Catalina.load Initialization processed in 945 ms
    19-Oct-2018 00:02:19.298 INFO [main] org.apache.catalina.core.StandardService.startInternal Starting service Catalina
    19-Oct-2018 00:02:19.301 INFO [main] org.apache.catalina.core.StandardEngine.startInternal Starting Servlet Engine: Apache Tomcat/8.0.28
    19-Oct-2018 00:02:19.352 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory /var/lib/tomcat8/webapps/ROOT
    19-Oct-2018 00:02:21.167 INFO [localhost-startStop-1] org.apache.catalina.core.StandardContext.checkUnusualURLPattern Suspicious url pattern: "*.css*" in context [] - see sections 12.1 and 12.2 of the Servlet specification
    19-Oct-2018 00:02:21.168 INFO [localhost-startStop-1] org.apache.catalina.core.StandardContext.checkUnusualURLPattern Suspicious url pattern: "*.js*" in context [] - see sections 12.1 and 12.2 of the Servlet specification
    Oct 19, 2018 12:02:21 AM org.apache.jasper.servlet.TldScanner scanJars
    INFO: At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time.
    Oct 19, 2018 12:02:22 AM org.apache.catalina.core.ApplicationContext log
    INFO: Initializing Shiro environment
    Configuration keys:[IVW_CONFIG_DB_USERNAME, IVW_CONFIG_SIMPLE_DB_LOG_DOMAIN, IVW_CONFIG_SLACK_LOG_CHANNEL, IVW_CONFIG_S3_BUCKET_NAME, IVW_CONFIG_DEVELOPMENT_MODE, IVW_CONFIG_EMAIL_WHITE_LIST, IVW_CONFIG_DB_SCONPROP, IVW_CONFIG_CONFIGURATION_CACHE_ENABLED, IVW_CONFIG_DB_NAME, IVW_CONFIG_DB_MAX_CONNECTIONS, IVW_CONFIG_DB_HOST, IVW_CONFIG_DISK_CACHE_DIRECTORY, IVW_CONFIG_WEB_APP_URL, IVW_CONFIG_AWS_ACCESS_KEY, IVW_CONFIG_SERVER_NAME, IVW_CONFIG_NOTIFICATION_WHITE_LIST, IVW_CONFIG_DB_PASSWORD, IVW_CONFIG_TIMING_LOG_ENABLED, IVW_CONFIG_SLACK_LOG_TOKEN, IVW_CONFIG_AWS_SECRET_KEY]
    Oct 19, 2018 12:02:44 AM com.sun.jersey.api.core.PackagesResourceConfig init
    INFO: Scanning for root resource and provider classes in the packages:
    com.***.rest
    Oct 19, 2018 12:02:45 AM com.sun.jersey.api.core.ScanningResourceConfig logClasses
    INFO: Root resource classes found:...

Но когда я добавляю javaagent Stackify, процесс запуска tomcat останавливается и журнал запуска останавливается, прежде чем отобразится следующая строка

    com.sun.jersey.api.core.PackagesResourceConfig init

Может быть связано, что каждыйЧерез некоторое время после возникновения такой проблемы, когда я перезагружаю tomcat, я также вижу некоторые предупреждения об утечке памяти, которые могут быть связаны.

    INFO: Cleaning up Shiro Environment
    19-Oct-2018 00:08:11.123 WARNING [localhost-startStop-2] org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesJdbc The web application [ROOT] registered the JDBC driver [com.mysql.jdbc.Driver] but failed to unregister it when the web application was stopped. To prevent a memory leak, the JDBC Driver has been forcibly unregistered.
    19-Oct-2018 00:08:11.124 WARNING [localhost-startStop-2] org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesJdbc The web application [ROOT] registered the JDBC driver [com.microsoft.sqlserver.jdbc.SQLServerDriver] but failed to unregister it when the web application was stopped. To prevent a memory leak, the JDBC Driver has been forcibly unregistered.
    19-Oct-2018 00:08:11.124 WARNING [localhost-startStop-2] org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesThreads The web application [ROOT] appears to have started a thread named [Thread-6] 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(LockSupport.java:175)
    java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)
    java.util.concurrent.DelayQueue.take(DelayQueue.java:211)
    java.util.concurrent.DelayQueue.take(DelayQueue.java:70)
    com.kikini.logging.simpledb.SimpleDBConsumer.run(SimpleDBConsumer.java:45)
    java.lang.Thread.run(Thread.java:745)
    19-Oct-2018 00:08:11.125 WARNING [localhost-startStop-2] org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesThreads The web application [ROOT] appears to have started a thread named [Abandoned connection cleanup thread] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread:
    java.lang.Object.wait(Native Method)
    java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:143)
    com.mysql.jdbc.AbandonedConnectionCleanupThread.run(AbandonedConnectionCleanupThread.java:41)
    19-Oct-2018 00:08:11.125 WARNING [localhost-startStop-2] org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesThreads The web application [ROOT] appears to have started a thread named [TracePostProcessorQueueHandler] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread:
    java.lang.Thread.sleep(Native Method)
    java.lang.Thread.sleep(Thread.java:340)
    java.util.concurrent.TimeUnit.sleep(TimeUnit.java:386)
    com.stackify.apm.profiler.a.e$2.run(Unknown Source)
    java.lang.Thread.run(Thread.java:745)
    19-Oct-2018 00:08:11.126 WARNING [localhost-startStop-2] org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesThreads The web application [ROOT] appears to have started a thread named [StackifyTraceLinkCleanupThread] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread:
    java.lang.Thread.sleep(Native Method)
    java.lang.Thread.sleep(Thread.java:340)
    java.util.concurrent.TimeUnit.sleep(TimeUnit.java:386)
    com.stackify.apm.profiler.a.a$4.run(Unknown Source)
    java.lang.Thread.run(Thread.java:745)
    19-Oct-2018 00:08:11.127 SEVERE [localhost-startStop-2] org.apache.catalina.loader.WebappClassLoaderBase.checkThreadLocalMapForLeaks The web application [ROOT] created a ThreadLocal with key of type [org.jsoup.helper.StringUtil$1] (value [org.jsoup.helper.StringUtil$1@f20c726]) and a value of type [java.lang.StringBuilder] ... 

Если это проблема, связанная с Джерси, то, вероятно, у DataDog и NewRelic была похожая проблемадо;

Я также активировал журнал FINE на Tomcat (добавлен .level = FINE в /etc/tomcat8/logging.properties) и просматривал журнал Tomcatвыполнение останавливается на;

    22-Oct-2018 21:49:50.171 FINE [localhost-startStop-1] org.apache.catalina.loader.WebappClassLoaderBase.findResource     findResource(javax/persistence/spi/PersistenceProviderResolverHolder.class)
    22-Oct-2018 21:49:50.171 FINE [localhost-startStop-1] org.apache.catalina.loader.WebappClassLoaderBase.findResource     --> Returning 'jar:file:/var/lib/tomcat8/webapps/ROOT/WEB-INF/lib/hibernate-jpa-2.1-api-1.0.0.Final.jar!/javax/persistence/spi/PersistenceProviderResolverHolder.class'
    22-Oct-2018 21:49:50.172 FINE [localhost-startStop-1] org.apache.catalina.loader.WebappClassLoaderBase.getResource   --> Returning 'jar:file:/var/lib/tomcat8/webapps/ROOT/WEB-INF/lib/hibernate-jpa-2.1-api-1.0.0.Final.jar!/javax/persistence/spi/PersistenceProviderResolverHolder.class'
    22-Oct-2018 21:49:50.172 FINE [localhost-startStop-1] org.apache.catalina.loader.WebappClassLoaderBase.getResourceAsStream getResourceAsStream(javax/persistence/spi/PersistenceProviderResolverHolder.class)
    22-Oct-2018 21:49:50.172 FINE [localhost-startStop-1] org.apache.catalina.loader.WebappClassLoaderBase.getResourceAsStream   --> Returning stream from cache
    22-Oct-2018 21:49:50.172 FINE [Thread-8] org.apache.catalina.loader.WebappClassLoaderBase.getResource getResource(java/nio/file/Path.class)
    22-Oct-2018 21:49:50.172 FINE [localhost-startStop-1] org.apache.catalina.loader.WebappClassLoaderBase.loadClass   Loading class from local repository
    22-Oct-2018 21:49:50.172 FINE [localhost-startStop-1] org.apache.catalina.loader.WebappClassLoaderBase.loadClass loadClass(javax.persistence.spi.PersistenceProviderResolver, false)
    22-Oct-2018 21:49:50.173 FINE [localhost-startStop-1] org.apache.catalina.loader.WebappClassLoaderBase.loadClass   Searching local repositories
    22-Oct-2018 21:49:50.173 FINE [localhost-startStop-1] org.apache.catalina.loader.WebappClassLoaderBase.findClass     findClass(javax.persistence.spi.PersistenceProviderResolver)

Затем я проанализировал использование памяти и размер кучи Java, но не нашел ничего подозрительного.

Затем я попытался получить дамп потока и заметилчто в Retrace есть потенциальная ошибка, так как два потока блокируют друг друга.Ниже приведен анализ дампа потока fastthread.io:

    Application is suffering from deadlock. Below are the threads which are causing deadlock


    Thread-8 is in deadlock with localhost-startStop-1

    Thread-8 - priority:5 - threadId:0x00007f589d57c000 - nativeId:0x7b11 - state:BLOCKED
    stackTrace:
    java.lang.Thread.State: BLOCKED (on object monitor)
    at org.apache.catalina.loader.WebappClassLoaderBase.filter(WebappClassLoaderBase.java:2775)
    - waiting to lock <0x00000006e5ad0a48> (a org.apache.catalina.loader.WebappClassLoader)
    at org.apache.catalina.loader.WebappClassLoaderBase.getResource(WebappClassLoaderBase.java:1033)
    at com.stackify.bundled.javassist.LoaderClassPath.find(Unknown Source)
    at com.stackify.bundled.javassist.ClassPoolTail.find(Unknown Source)
    at com.stackify.bundled.javassist.ClassPool.find(Unknown Source)
    at com.stackify.bundled.javassist.ClassPool.createCtClass(Unknown Source)
    at com.stackify.bundled.javassist.ClassPool.get0(Unknown Source)
    - locked <0x00000006e55cacd8> (a com.stackify.bundled.javassist.ClassPool)
    at com.stackify.bundled.javassist.ClassPool.get(Unknown Source)
    at com.stackify.bundled.javassist.CtClassType.getInterfaces(Unknown Source)
    at com.stackify.apm.javassist.a.b(Unknown Source)
    at com.stackify.apm.javassist.a.<init>(Unknown Source)
    at com.stackify.apm.javassist.a.<init>(Unknown Source)
    at com.stackify.apm.javassist.e.a(Unknown Source)
    at com.stackify.apm.javassist.f.a(Unknown Source)
    at com.stackify.apm.javassist.c.transform(Unknown Source)
    at sun.instrument.TransformerManager.transform(TransformerManager.java:188)
    at sun.instrument.InstrumentationImpl.transform(InstrumentationImpl.java:428)
    at sun.misc.Unsafe.defineAnonymousClass(Native Method)
    at java.lang.invoke.InnerClassLambdaMetafactory.spinInnerClass(InnerClassLambdaMetafactory.java:326)
    at java.lang.invoke.InnerClassLambdaMetafactory.buildCallSite(InnerClassLambdaMetafactory.java:194)
    at java.lang.invoke.LambdaMetafactory.metafactory(LambdaMetafactory.java:304)
    at java.lang.invoke.LambdaForm$DMH/1287071204.invokeStatic_L6_L(LambdaForm$DMH)
    at java.lang.invoke.LambdaForm$BMH/2100450555.reinvoke(LambdaForm$BMH)
    at java.lang.invoke.LambdaForm$MH/1996378445.invoke_MT(LambdaForm$MH)
    at java.lang.invoke.CallSite.makeSite(CallSite.java:302)
    at java.lang.invoke.MethodHandleNatives.linkCallSiteImpl(MethodHandleNatives.java:307)
    at java.lang.invoke.MethodHandleNatives.linkCallSite(MethodHandleNatives.java:297)
    at com.###.common.data.CustomerFacade.getAllCustomerInternalIdentifiers(CustomerFacade.java:70)
    at com.###.common.ConfigurationHierarchyCacheHandler.getCustomerInternalIds(ConfigurationHierarchyCacheHandler.java:214)
    at com.###.common.ConfigurationHierarchyCacheHandler.getApplicableKeys(ConfigurationHierarchyCacheHandler.java:359)
    at com.###.common.ConfigurationHierarchyCacheHandler.refreshLocalCache(ConfigurationHierarchyCacheHandler.java:202)
    at com.###.common.ConfigurationHierarchyCacheHandler.forceRefreshLocalCacheSync(ConfigurationHierarchyCacheHandler.java:194)
    at com.###.common.ConfigurationHierarchyCacheHandler$$Lambda$166/382627531.run(Unknown Source)
    at com.###.util.MDCRetainingRunnable.run(MDCRetainingRunnable.java:39)
    at com.###.util.MDCRetainingRunnable.run(MDCRetainingRunnable.java:39)
    at java.lang.Thread.run(Thread.java:745)
    Locked ownable synchronizers:
    - None

    localhost-startStop-1 - priority:5 - threadId:0x00007f58b800c800 - nativeId:0x7af6 - state:BLOCKED
    stackTrace:
    java.lang.Thread.State: BLOCKED (on object monitor)
    at com.stackify.bundled.javassist.ClassPool.get0(Unknown Source)
    - waiting to lock <0x00000006e55cacd8> (a com.stackify.bundled.javassist.ClassPool)
    at com.stackify.bundled.javassist.ClassPool.get(Unknown Source)
    at com.stackify.bundled.javassist.CtClassType.getInterfaces(Unknown Source)
    at com.stackify.apm.javassist.a.b(Unknown Source)
    at com.stackify.apm.javassist.a.<init>(Unknown Source)
    at com.stackify.apm.javassist.a.<init>(Unknown Source)
    at com.stackify.apm.javassist.e.a(Unknown Source)
    at com.stackify.apm.javassist.f.a(Unknown Source)
    at com.stackify.apm.javassist.c.transform(Unknown Source)
    at sun.instrument.TransformerManager.transform(TransformerManager.java:188)
    at sun.instrument.InstrumentationImpl.transform(InstrumentationImpl.java:428)
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClass(ClassLoader.java:760)
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
    at org.apache.catalina.loader.WebappClassLoaderBase.findClassInternal(WebappClassLoaderBase.java:2496)
    - locked <0x00000006e5ad0a48> (a org.apache.catalina.loader.WebappClassLoader)
    at org.apache.catalina.loader.WebappClassLoaderBase.findClass(WebappClassLoaderBase.java:860)
    at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1302)
    - locked <0x00000006e5ad0a48> (a org.apache.catalina.loader.WebappClassLoader)
    at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1167)
    at org.hibernate.jpa.HibernatePersistenceProvider.<clinit>(HibernatePersistenceProvider.java:38)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:422)
    at java.lang.Class.newInstance(Class.java:442)
    at javax.persistence.spi.PersistenceProviderResolverHolder$PersistenceProviderResolverPerClassLoader$CachingPersistenceProviderResolver.getPersistenceProviders(PersistenceProviderResolverHolder.java:177)
    - locked <0x00000006e21cac88> (a java.util.ArrayList)
    at javax.persistence.spi.PersistenceProviderResolverHolder$PersistenceProviderResolverPerClassLoader.getPersistenceProviders(PersistenceProviderResolverHolder.java:84)
    at javax.persistence.Persistence.getProviders(Persistence.java:69)
    at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:53)
    at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:39)
    at com.###.common.MyEntityManagerFactory.createEntityManager(MyEntityManagerFactory.java:30)
    - locked <0x00000006e21caf18> (a java.lang.Class for com.###.common.MyEntityManagerFactory)
    at com.***.forms.data.ConfigurationHierarchyPackageSelector.createEntityManager(ConfigurationHierarchyPackageSelector.java:572)
    at com.***.forms.data.ConfigurationHierarchyPackageSelector.getAllCustomerPackages(ConfigurationHierarchyPackageSelector.java:469)
    at com.***.fieldticketing.data.FieldTicketStartupService.cacheInstalledPackagesLocally(FieldTicketStartupService.java:130)
    at com.***.fieldticketing.data.FieldTicketStartupService.startup(FieldTicketStartupService.java:102)
    at com.***.servlet.IVWServletContextListener.contextInitialized(IVWServletContextListener.java:24)
    at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4738)
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5181)
    - locked <0x00000006e48adfb8> (a org.apache.catalina.core.StandardContext)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
    - locked <0x00000006e48adfb8> (a org.apache.catalina.core.StandardContext)
    at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:725)
    at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:701)
    at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:717)
    at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1101)
    at org.apache.catalina.startup.HostConfig$DeployDirectory.run(HostConfig.java:1816)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at java.lang.Thread.run(Thread.java:745)
    Locked ownable synchronizers:
    - <0x00000006e4a25700> (a java.util.concurrent.ThreadPoolExecutor$Worker)

В обоих файлах CustomerFacade.java:70 и ConfigurationHierarchyPackageSelector.java:572 я блокирую объект в классе MyEntityManagerFactory для создания экземпляра EntityManagerFactory.вручную.Возвращаясь к журналу tomcat, tomcat случайным образом останавливает ведение журнала в одном из классов, связанных с постоянством.

Тогда я предполагаю, что в Retrace есть ошибка, которая не может эффективно обрабатывать блокировки.

Я быЦеню любые отзывы.

...