【问题标题】:java "terminate called without an active exception "java“在没有活动异常的情况下终止调用”
【发布时间】:2011-07-22 16:46:56
【问题描述】:

我正在尝试使用 ScheduledThreadPoolExecutor 进行多线程处理,但由于某种原因,我不断收到此错误。知道是什么原因造成的以及如何修复它吗?

谢谢!

Memory: 732/732 2092/2092
#
# A fatal error has been detected by the Java Runtime Environment:
#
#  SIGSEGV (0xb) at pc=0x00007f43d2022e2b, pid=27273, tid=139927636702976
#
# JRE version: 6.0_20-b02
# Java VM: Java HotSpot(TM) 64-Bit Server VM (16.3-b01 mixed mode linux-amd64 )
# Problematic frame:
# C  [libpthread.so.0+0xee2b]  raise+0x2b
#

【问题讨论】:

  • 你在调用任何本机代码吗?
  • 似乎是 JRE 安装中的问题。我建议卸载 JRE 并再次安装较新版本。 Build 20 相对较旧。
  • 您的应用程序的工作目录中是否有任何 hs_err_pid* 文件?它们是在此类崩溃时生成的,有时很有帮助。

标签: java multithreading segmentation-fault


【解决方案1】:

如果您不使用本机代码,理论上不会发生此错误。如果发生这种情况,则问题出在 JRE 本身。因此,卸载 JRE,然后安装最新版本并重试。

如果仍然发生错误,请尝试简化您的代码,但无论如何 JRE 不会崩溃。因此,如果在重新安装后发生这种情况,请在其他机器上尝试相同的操作。可能这样的实验可以帮助您找到问题所在。

无论如何,欢迎您将问题报告给 Oracle。他们很乐意修复这个错误。 :)

【讨论】:

  • 我正在使用外部库,但我不知道它是否使用本机代码。可能是这个问题吗?不过,我的 JRE 在非并发进程中运行良好。
猜你喜欢
  • 2011-09-09
  • 2016-10-07
  • 1970-01-01
  • 1970-01-01
  • 2020-03-06
  • 2014-10-14
  • 2021-07-02
  • 2021-10-10
  • 1970-01-01
相关资源
最近更新 更多