Skip to content

Occational ClassCircularityError based on SkyWalking Java Agent 8.16.0 #12572

Answered by yizhouw11
yizhouw11 asked this question in Q&A
Discussion options

You must be logged in to vote

@wu-sheng @bert82503 This error is caused by ByteBuddy and a similar issue was proposed there. The usage of ConcurrentHashMap, whose addCount() method uses ThreadLocalRandom if there exists thread contention, was introduced since ByteBuddy 1.12.11 via this commit. By means of ByteBuddy, ClassFileTransformer.transform() will trigger class loading of ThreadLocalRandom which is probably being loaded, in which case ClassCircularityError will be thrown. An issue in the OpenJDK community provides detailed explanations of this exception and proposes to adjust the name of the thrown error message.

To fix this error in the SkyWalking level, preloading ThreadLocalRandom before calling ByteBuddy wil…

Replies: 3 comments 5 replies

Comment options

You must be logged in to vote
0 replies
Comment options

You must be logged in to vote
3 replies
@wu-sheng
Comment options

@yizhouw11
Comment options

@bert82503
Comment options

Comment options

You must be logged in to vote
2 replies
@wu-sheng
Comment options

@wu-sheng
Comment options

Answer selected by yizhouw11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Category
Q&A
Labels
None yet
3 participants