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

java.lang.LinkageError (attempted duplicate class definition) #429

Open
daodaojava opened this issue Jun 8, 2023 · 5 comments
Open

java.lang.LinkageError (attempted duplicate class definition) #429

daodaojava opened this issue Jun 8, 2023 · 5 comments
Assignees
Labels

Comments

@daodaojava
Copy link

异常如下:
java.lang.LinkageError: loader com.alibaba.jvm.sandbox.core.classloader.ModuleJarClassLoader @34fe56b8 (instance of com.alibaba.jvm.sandbox.core.classloader.ModuleJarClassLoader, child of 'app' jdk.internal.loader.ClassLoaders$AppClassLoader) attempted duplicate class definition for org.apache.commons.logging.impl.LogFactoryImpl.
at java.base/java.lang.ClassLoader.defineClass1(Native Method)
at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1016)
at java.base/java.security.SecureClassLoader.defineClass(SecureClassLoader.java:174)
at java.base/java.net.URLClassLoader.defineClass(URLClassLoader.java:555)
at java.base/java.net.URLClassLoader$1.run(URLClassLoader.java:458)
at java.base/java.net.URLClassLoader$1.run(URLClassLoader.java:452)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at java.base/java.net.URLClassLoader.findClass(URLClassLoader.java:451)
at com.alibaba.jvm.sandbox.core.classloader.RoutingURLClassLoader.loadClass(RoutingURLClassLoader.java:78)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)
at org.apache.commons.logging.LogFactory.createFactory(LogFactory.java:1020)

猜测是

protected Class<?> loadClass(final String javaClassName, final boolean resolve) throws ClassNotFoundException {

这里缺失了锁,导致并发情况下同时绕过findLoadedClass进入findClass,从而出现attempted duplicate class definition

麻烦确认下,看起来是最新版本特意改的
501e572

@oldmanpushcart oldmanpushcart self-assigned this Jun 12, 2023
@oldmanpushcart
Copy link
Collaborator

丫!是的,这个漏了!应该要加getClassLoadingLock()的!多谢提醒,这个问题会比较严重些,本周优先考虑下,发布个版本修复掉。

@daodaojava
Copy link
Author

好的,大佬预计什么时候可以出新release版本?

@oldmanpushcart
Copy link
Collaborator

@daodaojava 原计划是端午,该死的github在弄XX认证,原来用来发布的账号正在整。我争取这周发布掉。

@daodaojava
Copy link
Author

好的,辛苦大佬🤝

@ShiningXu
Copy link

我们也遇到了,求大佬们尽快给个 release版本 🤝 @oldmanpushcart @z529192557

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants