JNI调用dll出现Access Violation,从而导致jvm崩溃。

takecare 2004-10-10 10:52:05
真是郁闷!

An unexpected exception has been detected in native code outside the VM.
Unexpected Signal : EXCEPTION_ACCESS_VIOLATION (0xc0000005) occurred at PC=0x77FCCA95
Function=RtlFreeHeap+0x451
Library=C:\WINNT\system32\ntdll.dll


在多线程调用的后,就可能出现上述的致命错误!
可能是DLL的线程安全问题,大家碰到过这样的问题吗?
...全文
220 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
fast_time 2004-11-29
  • 打赏
  • 举报
回复
内存访问错误,和内存管理有关
Yujlyjl 2004-11-29
  • 打赏
  • 举报
回复
好问题,做个记号,保留
takecare 2004-10-28
  • 打赏
  • 举报
回复
alaal(~:寒~:冬:~) 见笑了,这个问题目前还是没有能够妥善的解决,没有办法,在调用win32版本的dll的时候只能使用同步,禁止多个线成同时访问。虽然不会再出现上述的致命错误,但是也牺牲了不少效率。
alaal 2004-10-28
  • 打赏
  • 举报
回复
大厅兄出错都是error,我的都是exception

果然厉害^_^
wtobias 2004-10-28
  • 打赏
  • 举报
回复
学习中
takecare 2004-10-28
  • 打赏
  • 举报
回复
同样在linux下编译成.so文件,加上 -D_REENTRANT 编译选项就不会出现类似的问题,难道是windows的bug?
paopaoyu 2004-10-28
  • 打赏
  • 举报
回复
我也遇到类似问题,jvm当机,晕~~~~~~~~~帮你顶
takecare 2004-10-10
  • 打赏
  • 举报
回复
dll多实例居然就出这样的错。
我的dll已经是Multithread DLL(/MD)了,而且可能的错误也是抛出给java调用者的。
想不通呀。

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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