首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Java中位置的内存访问无效

Java中位置的内存访问无效
EN

Stack Overflow用户
提问于 2011-07-03 11:14:27
回答 4查看 9.6K关注 0票数 16

我从事Java项目已经有几年了。我的代码几个月来一直运行得很好。几天前,我在我的Mac上把Java SDK升级到了最新版本的1.6.0_26 (雪豹10.6.8)。升级后,会发生一些非常奇怪的事情。当我运行一些类时,我得到这个错误:

位置0x202 rip=0x202的内存访问无效

但是,如果我用-Xint (解释型)运行它们,它们会工作,速度很慢,但工作得很好。我在使用位运算符的类中遇到了这个问题(游戏Othello的位板)。我不能在这里放任何代码,因为我没有得到一个错误,异常或类似的东西。我就是收到了那个烦人的信息。

代码不能在没有-Xint的情况下运行,但它可以使用它,这正常吗?我该怎么办?

提前感谢

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2011-07-03 11:58:00

当JVM开始像那样崩溃时,这是某种东西破坏了JVM的执行模型的迹象。

您的应用程序是否包含任何本机代码?它是否使用带有本机代码组件的第三方库?如果两者都不是真的,那么这可能是JVM的Apple端口中的一个bug。它可能是JIT编译器错误,也可能是某个JVM本机代码库中错误。

对于这样的bug,你能做些什么呢?

不是很多。

  • 逐步减少你的应用程序,直到你有一个小的测试用例出现了问题。
  • 基于测试用例,看看是否有一些经验上的方法来避免测试用例中的problem.
  • Submit错误报告给苹果。
票数 4
EN

Stack Overflow用户

发布于 2012-02-18 22:02:05

我刚遇到这种情况,结果发现它与一段代码有关,该代码使用对自身的循环引用来序列化JSON对象。我删除了这个循环,错误也就消失了。我怀疑这与内存溢出错误有关,Mac OSX上的新JVM现在以不同的方式处理该错误。在本例中,我运行的是Mac OSX 10.7。

为了完整性,我收到的错误是:

代码语言:javascript
复制
Invalid access of stack red zone 0x10e586d30 rip=0x10daabba6
Bus error: 10

和:

代码语言:javascript
复制
Invalid memory access of location 0x10b655890 rip=0x10a8baba6
Segmentation fault: 11
票数 4
EN

Stack Overflow用户

发布于 2011-07-03 16:46:11

还要验证您是在the event dispatch thread上构建图形用户界面,并且从不从任何其他线程更新图形用户界面组件。

众所周知,相关错误很难重现,但与改变时间相关的变化是有启示性的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6560889

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档