线程是Runnable,偶尔 java.lang.ClassLoader.defineClass1(Native Method)会卡住

Forrest-ajun 2014-08-17 09:44:34
遇到一个调试不下去的问题,线程是Runnable,但偶尔 java.lang.ClassLoader.defineClass1(Native Method)会卡住,由于loader会被锁住,因此导致其他线程阻塞,最终服务卡在这里。该线程堆栈如下,过段时间再截取几个javacore,结果一样。
"OSGiThread-com.audit.impl" prio=6 tid=0x000000000cb17800 nid=0x530 waiting on condition [0x000000004254d000]
java.lang.Thread.State: RUNNABLE
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631)
at java.lang.ClassLoader.defineClass(ClassLoader.java:615)
at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.defineClass(DefaultClassLoader.java:183)
at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.defineClass(ClasspathManager.java:576)
at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findClassImpl(ClasspathManager.java:546)
at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClassImpl(ClasspathManager.java:477)
at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClass_LockClassLoader(ClasspathManager.java:465)
- locked <0x00000000c57bc700> (a org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader)
at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClass(ClasspathManager.java:445)
at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.findLocalClass(DefaultClassLoader.java:211)
at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:381)
at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:465)
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:415)
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:398)
at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:105)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
各位看看有什么建议或可提供参考的,非常感谢。
...全文
434 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
Juedaifanghua 2014-08-19
  • 打赏
  • 举报
回复
引用 3 楼 shijing266 的回复:
[quote=引用 2 楼 Juedaifanghua 的回复:] [quote=引用 1 楼 shijing266 的回复:] 不怎么懂,但是看你的错误信息 OSGiThread-com.audit.impl这个出了问题吧 网上搜了一下 http://jameswxx.iteye.com/blog/1041173
楼上都快凌晨了还在论坛帮别人解决问题。。。佩服佩服[/quote] 那个时候才睡醒...看了会论坛又继续睡了[/quote] 这是加班生物钟混乱了啊
  • 打赏
  • 举报
回复
引用 2 楼 Juedaifanghua 的回复:
[quote=引用 1 楼 shijing266 的回复:] 不怎么懂,但是看你的错误信息 OSGiThread-com.audit.impl这个出了问题吧 网上搜了一下 http://jameswxx.iteye.com/blog/1041173
楼上都快凌晨了还在论坛帮别人解决问题。。。佩服佩服[/quote] 那个时候才睡醒...看了会论坛又继续睡了
Juedaifanghua 2014-08-18
  • 打赏
  • 举报
回复
引用 1 楼 shijing266 的回复:
不怎么懂,但是看你的错误信息 OSGiThread-com.audit.impl这个出了问题吧 网上搜了一下 http://jameswxx.iteye.com/blog/1041173
楼上都快凌晨了还在论坛帮别人解决问题。。。佩服佩服
  • 打赏
  • 举报
回复
不怎么懂,但是看你的错误信息 OSGiThread-com.audit.impl这个出了问题吧 网上搜了一下 http://jameswxx.iteye.com/blog/1041173

67,515

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧