Java虚拟机对堆栈红色区域的无效访问
我试图找出 Java 中导致此错误的原因:
Invalid access of stack red zone 0x115ee0ed0 rip=0x114973900
有人遇到过此错误消息吗?它确实杀死了 JVM,一切都停止了。
我目前正在使用这个版本的 Java:(在 OS X 10.6 上)
java version "1.6.0_15"
Java(TM) SE Runtime Environment (build 1.6.0_15-b03-219)
Java HotSpot(TM) 64-Bit Server VM (build 14.1-b02-90, mixed mode)
我正在寻找的是有关如何避免再次遇到此问题的某种解释和提示。
提前致谢!
I'm trying to figure out what can cause this error in Java:
Invalid access of stack red zone 0x115ee0ed0 rip=0x114973900
Has anyone ever encountered this error message? It's literally killing the JVM and everything stops there.
I'm currently using this version of Java:(on OS X 10.6)
java version "1.6.0_15"
Java(TM) SE Runtime Environment (build 1.6.0_15-b03-219)
Java HotSpot(TM) 64-Bit Server VM (build 14.1-b02-90, mixed mode)
All I'm looking for is some sort of explanation and tips on how to avoid hitting this again.
Thanks in advance!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
我今天在 OSX 上发现了同样的错误。追踪到实体bean中的stackOverlfow
I found the same error on OSX today. Tracked it down to what amounted to a stackOverlfow in an entitybean
如果不查看您的代码,很难说出导致错误的原因,但这里是对红色区域的解释以及讨论该问题的几个链接。
此问题已在 Mac OSX 上发现,因此可能与未找到类时的类加载器问题有关,但在 mac osx 上,它被报告为红色区域访问。
因此,使用 JDK 1.5 尝试一下,看看是否可以重现该问题。
http://osdir.com/ml/java.objectweb.asm /2007-07/msg00004.html
http://wiki.geneontology.org/index .php/OEWG_20090505
http://forums.oracle.com/forums /thread.jspa?threadID=429325
Without looking at your code, it's difficult to say what is causing the error but here is explanation on red zone and also few links which discuss about the problem.
This issues has been found on Mac OSX so it could be something related to class loader issues when class is not found but on mac osx, it's been reported as red zone access.
So try it with JDK 1.5 and see if you can reproduce the problem.
http://osdir.com/ml/java.objectweb.asm/2007-07/msg00004.html
http://wiki.geneontology.org/index.php/OEWG_20090505
http://forums.oracle.com/forums/thread.jspa?threadID=429325
正如已经提到的,这似乎是一个隐秘的堆栈溢出。调高堆栈大小 JVM 参数 (-Xss)。就我而言,从 -Xss128k 到 -Xss1024k 就可以了。
As already mentioned, this is appears to be a stealth stack overflow. Bump up your stack size JVM parameter (-Xss). In my case, going from -Xss128k to -Xss1024k did the trick.
如果这对其他人有帮助。
我遇到此错误是因为如果将错误的字符串传递给 JSONArray.fromObject(jsonString);
我正在跑步:
java版本“1.6.0_29”
Java(TM) SE 运行时环境(内部版本 1.6.0_29-b11-402-10M3527)
Java HotSpot(TM) 64 位服务器 VM(内部版本 20.4-b02-402,混合模式)
OSX 10.6.8
jsonString 一开始就有一个 null 值,错误是:
Invalid access of stack red zone 0x10d446ba0 rip=0x10c384b87
Bus error
这完全杀死了 jvm。
一旦我发现这是错误的 json 字符串,修复就很容易了。
希望对某人有帮助。
In case this is helpful for anyone else.
I encountered this error because because if a bad string passed to JSONArray.fromObject(jsonString);
I am running:
java version "1.6.0_29"
Java(TM) SE Runtime Environment (build 1.6.0_29-b11-402-10M3527)
Java HotSpot(TM) 64-Bit Server VM (build 20.4-b02-402, mixed mode)
OSX 10.6.8
The jsonString had a null value at the very beginning and the error was:
Invalid access of stack red zone 0x10d446ba0 rip=0x10c384b87
Bus error
This completely killed the jvm.
Once I figured out it was the bad json string the fix was easy.
Hope that helps someone.