Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Sporadic ClassCircularityError when loading the app #106

Closed
ivantopo opened this issue May 19, 2020 · 1 comment · Fixed by #107
Closed

Sporadic ClassCircularityError when loading the app #106

ivantopo opened this issue May 19, 2020 · 1 comment · Fixed by #107
Assignees

Comments

@ivantopo
Copy link
Contributor

I got a report of this exception during startup:

[ExpiringMap-Expirer] ERROR 2020-05-06 14:46:10 Logger : Error => java.util.concurrent.locks.AbstractQueuedSynchronizer$Node with message java/util/concurrent/locks/AbstractQueuedSynchronizer$Node. Class loader: Bootstrap ClassLoader: java.lang.ClassCircularityError: java/util/concurrent/locks/AbstractQueuedSynchronizer$Node
at java.base/java.util.concurrent.locks.AbstractQueuedSynchronizer.acquire(AbstractQueuedSynchronizer.java:692)
at java.base/java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireShared(AbstractQueuedSynchronizer.java:1026)
at java.base/java.util.concurrent.locks.ReentrantReadWriteLock$ReadLock.lock(ReentrantReadWriteLock.java:738)
at kanela.agent.libs.net.jodah.expiringmap.ExpiringMap.getEntry(ExpiringMap.java:1243)
at kanela.agent.libs.net.jodah.expiringmap.ExpiringMap.get(ExpiringMap.java:742)
at kanela.agent.cache.PoolStrategyCache.locate(PoolStrategyCache.java:56)
at kanela.agent.libs.net.bytebuddy.agent.builder.AgentBuilder$PoolStrategy$WithTypePoolCache.typePool(AgentBuilder.java:2813)
at kanela.agent.libs.net.bytebuddy.agent.builder.AgentBuilder$Default$ExecutingTransformer.transform(AgentBuilder.java:10455)
at kanela.agent.libs.net.bytebuddy.agent.builder.AgentBuilder$Default$ExecutingTransformer.access$1500(AgentBuilder.java:10223)
at kanela.agent.libs.net.bytebuddy.agent.builder.AgentBuilder$Default$ExecutingTransformer$Java9CapableVmDispatcher.run(AgentBuilder.java:10907)
at kanela.agent.libs.net.bytebuddy.agent.builder.AgentBuilder$Default$ExecutingTransformer$Java9CapableVmDispatcher.run(AgentBuilder.java:10845)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:391)
at kanela.agent.libs.net.bytebuddy.agent.builder.AgentBuilder$Default$ExecutingTransformer.transform(AgentBuilder.java:10413)
at kanela.agent.libs.net.bytebuddy.agent.builder.AgentBuilder$Default$ExecutingTransformer$ByteBuddy$ModuleSupport.transform(Unknown Source)
at java.instrument/sun.instrument.TransformerManager.transform(TransformerManager.java:188)
at java.instrument/sun.instrument.InstrumentationImpl.transform(InstrumentationImpl.java:563)
at java.base/java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:1650)
at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1182)
at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:899)
at java.base/java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1056)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1116)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:630)
at java.base/java.lang.Thread.run(Thread.java:832)

It seems to be the same issue that was reported in #90 and fixed by #91. It just looks like we might be missing a few more types to pre-initialize, maybe ThreadLocalRandom as in the original implementation from glowroot.

@ivantopo
Copy link
Contributor Author

After re-reading the thing, it seems we should have initialized java/util/concurrent/locks/AbstractQueuedSynchronizer$Node 🤦‍♂️

@dpsoft dpsoft self-assigned this Jun 16, 2020
@dpsoft dpsoft mentioned this issue Jun 16, 2020
dpsoft added a commit that referenced this issue Jun 30, 2020
* update `ByteBuddy to 1.10.11`
* add `AbstractQueuedSynchronizer` to preinitialize and fix #106
* update `shadow`
* update `scalatest`
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants