无法写入核心转储.核心转储已被禁用 [英] Failed to write core dump. Core dumps have been disabled
问题描述
我一直在从事一个视觉项目,并在 JNI 的 Java 中使用了一些 C++ 库.
I've been working on a vision project and using some C++ libraries in Java by JNI.
操作系统:Ubuntu 12.04
在我的项目中,我使用 boost 库来生成随机数.但有时我会遇到如下异常:
In my project, I'm using boost library to generate random number. But sometimes I get an exception as follows:
Core dum140002367330048 also had an error]
#
# A fatal error has been detected by the Java Runtime Environment:
#
# SIGSEGV (0xb) at pc=0x00007f54f72a615a, pid=11979, tid=140002352568064
#
# JRE version: Java(TM) SE Runtime Environment (7.0_67-b01) (build 1.7.0_67-b01)
# Java VM: Java HotSpot(TM) 64-Bit Server VM (24.65-b04 mixed mode linux-amd64 compressed oops)
# Problematic frame:
# C [libCBIR.so+0x3215a] boost::random::mersenne_twister_engine<unsigned int, 32ul, 624ul, 397ul, 31ul, 2567483615u, 11ul, 4294967295u, 7ul, 2636928640u, 15ul, 4022730752u, 18ul, 1812433253u>::operator()()+0x3a
#
# Failed to write core dump. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again
当我在 StackOverflow 上搜索这个时,我发现了一些与 IDE (Eclipse) 相关的问题.该应用程序独立于 IDE.因此,解决方案也必须独立于 IDE.有什么想法吗?
When I searched for this on StackOverflow, I found some issues related to the IDE (Eclipse). The application is independent of the IDE. So, the solution must be independent from the IDE, too. Any ideas?
推荐答案
我遇到了同样的问题.
因为,错误本身表明 -
As, the error itself suggests -
无法写入核心转储.核心转储已被禁用.要启用核心转储,请在再次启动 Java 之前尝试 ulimit -c unlimited
Failed to write core dump. Core dumps have been disabled. To enable core dumping, try
ulimit -c unlimited
before starting Java again
ulimit
获取和设置用户限制.有关 ulimit 的更多信息,请执行 -
ulimit
gets and sets user limits. For more info on ulimit do -
man ulimit
所以,打开一个终端并运行 -
So, open a terminal and run -
ulimit -c unlimited
这应该可以解决问题.要检查更改是否成功,请运行 -
This should solve the problem. To check if the change was successful, run -
ulimit -c -l
这应该给你一个输出如下 -
This should give you an output as follows -
core file size (blocks, -c) unlimited
max locked memory (kbytes, -l) 64
If the problem persists refer to this and this from askUbuntu.
这篇关于无法写入核心转储.核心转储已被禁用的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!