无法写入核心转储。核心转储已禁用 [英] Failed to write core dump. Core dumps have been disabled

查看:898
本文介绍了无法写入核心转储。核心转储已禁用的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述



操作系统: Ubuntu 12.04 我已经在一个愿景项目上工作并使用JNI的一些C ++库。 p>

在我的项目中,我使用 boost 库生成随机数。但有时我得到如下异常:

 核心dum140002367330048也有一个错误] 

# Java运行时环境检测到致命错误:

#SIGSEGV(0xb)at pc = 0x00007f54f72a615a,pid = 11979,tid = 140002352568064

#JRE version :Java TM SE运行时环境(7.0_67-b01)(构建1.7.0_67-b01)
#Java VM:Java HotSpot TM 64位服务器VM(24.65-b04混合模式linux-amd64压缩oops)
#问题框架:
#C [libCBIR.so + 0x3215a] boost :: random :: mersenne_twister_engine< unsigned int,32ul,624ul,397ul,31ul,2567483615u,11ul,4294967295u, 2636928640u,15ul,4022730752u,18ul,1812433253u> :: operator()+ 0x3a

#无法写入核心转储。核心转储已禁用。要启用核心转储,请在启动Java之前尝试ulimit -c unlimited

在StackOverflow上,我发现了一些与IDE(Eclipse)相关的问题。应用程序独立于IDE。因此,解决方案必须独立于IDE。任何想法?

解决方案

我遇到同样的问题。



as,错误本身表示 -


无法写入核心转储。核心转储已禁用。要启用核心转储,请在再次启动Java之前尝试 ulimit -c unlimited


ulimit 获取和设置用户限制。有关ulimit的更多信息 -

  man ulimit 

因此,打开一个终端并运行 -

  ulimit -c unlimited 

这应该可以解决问题。要检查更改是否成功,请运行 -

  ulimit -c -l 

这应该给你一个输出如下 -

 核心文件大小(blocks,-c)unlimited 
最大锁定内存(kbytes,-l)64


$ b b

如果问题仍然存在,请参阅 askUbuntu


I've been working on a vision project and using some C++ libraries in Java by JNI.

OS: Ubuntu 12.04

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

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?

解决方案

I was experiencing the same issue.

As, the error itself suggests -

Failed to write core dump. Core dumps have been disabled. To enable core dumping, try ulimit -c unlimited before starting Java again

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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆