Java虚拟机对堆栈红色区域的无效访问

发布于 2024-08-06 12:03:27 字数 421 浏览 6 评论 0原文

我试图找出 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

把人绕傻吧 2024-08-13 12:03:27

我今天在 OSX 上发现了同样的错误。追踪到实体bean中的stackOverlfow

I found the same error on OSX today. Tracked it down to what amounted to a stackOverlfow in an entitybean

梦毁影碎の 2024-08-13 12:03:27

如果不查看您的代码,很难说出导致错误的原因,但这里是对红色区域的解释以及讨论该问题的几个链接。

每个内存块分配给一个
应用程序具有领先和
尾随“redzone”,这是一个特殊的
内存中的签名就在 和 之前
就在内存分配给
应用。如果应用程序是
要覆盖该区域之外的内容,
红色区域签名是
被覆盖。然后后来的
应用程序崩溃,你会得到这个
当内存返回时异常终止,并且
操作系统可以检查红色区域。

此问题已在 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.

Each block of memory allocated to an
application comes with a leading and
trailing "redzone" which is a special
signature in memory just before and
just after the memory allocated to the
application. If the application were
to overwrite outside this region, the
red zone signature would be
overwritten. Then later on the
application crashes and you get this
abend when the memory is returned, and
the OS can inspect the red zones.

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

东北女汉子 2024-08-13 12:03:27

正如已经提到的,这似乎是一个隐秘的堆栈溢出。调高堆栈大小 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.

病毒体 2024-08-13 12:03:27

如果这对其他人有帮助。
我遇到此错误是因为如果将错误的字符串传递给 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.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文