首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Redhat中获取SIGBUS (总线错误)@0(0)被SIGBUS (核倾倒)杀死

在Redhat中获取SIGBUS (总线错误)@0(0)被SIGBUS (核倾倒)杀死
EN

Stack Overflow用户
提问于 2011-04-12 07:16:15
回答 2查看 4K关注 0票数 1

在两个帐户中,我的进程在同一台机器上工作得很好,但是当我将进程复制到其他帐户并运行进程时,我得到了核心转储。当我使用strace运行这个过程时,我得到:

- SIGBUS (总线错误)@0 (0) --被SIGBUS (核倾倒) +++杀死的+++

当我打开核心转储时,我得到:

代码语言:javascript
复制
#0  0x000000360046fed3 in malloc_consolidate () from /lib64/libc.so.6
#1  0x00000036004723fd in _int_malloc () from /lib64/libc.so.6
#2  0x000000360047402a in malloc () from /lib64/libc.so.6
#3  0x00000036004616ba in __fopen_internal () from /lib64/libc.so.6
#4  0x0000000000fe9652 in LogMngr::OpenFile (this=0x2aaaaad17010, iLogIndex=0) at LogMngr.c:801

我可以看到打开文件来记录的东西,但是为什么它只在一个帐户中,而在另一个帐户中是好的呢?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-04-12 07:28:19

您可以从未对齐内存访问中获得SIGBUS。您使用的是mmap、共享内存区域还是类似的东西?

票数 1
EN

Stack Overflow用户

发布于 2011-04-13 02:06:31

malloc中的任何核心转储都表示堆损坏,而堆损坏通常是这样的:它可能永远不会出现在机器A上,有时会出现在机器B上,并且总是出现在机器C上。

瓦兰可能会直接指出问题所在。

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

https://stackoverflow.com/questions/5631685

复制
相关文章

相似问题

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