问题标签 [sigbus]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
728 浏览

r - R ffdfappend SIGBUS 错误

我有一个使用ffbaseandff包的 R 脚本。在 Windows 中,脚本运行良好。在 Linux 中(不同的机器,虽然 RAM 更高)它会因总线 (SIGBUS) 错误而崩溃。

Windows(版本 6.1.7601)会话信息:

  1. R 版本 3.1.0 (2014-04-10)
  2. 平台:x86_64-w64-mingw32/x64(64位)
  3. 附包:ffbase_0.11.3 ff_2.2-13 bit_1.1-12

Linux(Linux xenja 3.5.0-54-generic #81~precise1-Ubuntu SMP Tue Jul 15 04:02:22 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux)会话信息:

  1. R 版本 3.1.1 (2014-07-10)
  2. 平台:x86_64-pc-linux-gnu(64位)
  3. 附包:ffbase_0.11.3 ff_2.2-13 bit_1.1-12

R 脚本崩溃的点位于循环中,循环重复读取不同的文件内容并通过函数将它们连接到ff数据帧中。ffdfappend循环如下:

当我在 Linux 中运行 R 脚本时,在标准错误中写入以下内容(我故意用@@@截断了很长的行)

当我将 R 脚本附加到 时gdb,我在崩溃时收到以下相关消息:

gdb 回溯:

当我运行 R 脚本时,strace我在崩溃点得到以下相关信息:

任何有关如何进行的建议表示赞赏。

非常感谢您的宝贵时间。

-乔治。

0 投票
2 回答
1182 浏览

ios - iOS Application crashes in release version on device

I am facing a strange issue, and have already spent quite a lot of time on this.

A crash occurs in my application, specifically in release build, on the device.

The crashlog is:

I understand that there is some issue related to byte alignment. But don't have any idea about what I need to do.

The crash location code snippet is a valid value function call to :

Any help would be appreciated.

Thanks

Adding more details [caller snippet]

The problem is the log "BeaconFence 42" is never printed at all. The code crashes while calling isBeaconInsideZoneAndDwellTime. In the console logs, we get sigbus 10

0 投票
1 回答
20266 浏览

c++ - “未对齐的地址错误”是什么意思?

首先 - 对细节感到抱歉。我通常会尝试将我的 SO 问题归结为仅包含相关内容的通用“A 类”内容,但我不确定这里问题的根源是什么。

我有一个看起来像这样的矩阵类模板(仅显示我认为的相关部分):

我对整个班级进行了单元测试,乘法和身份工厂似乎都工作正常。但是,然后我在这个方法中使用它,它被调用了很多次(我认为如果你曾经写过一个渲染器,很明显我在这里想要做什么):

经过一段时间和对该方法的一些随机调用后,我得到了这个:

但是,如果我将行更改identity<4>()Matrix<4,4>()错误不会发生。我是 C++ 新手,所以它一定很愚蠢。

那么,(1)这个错误是什么意思,(2)我是如何设法射中自己的腿的?

更新:当然,这个错误不会在 LLDB 调试器中重现。

更新 2:这是我通过 Valgrind 运行程序后得到的结果:

并且draw_triangle正是调用world_to_screen_space和使用它的结果的方法。

更新 3:我发现了问题的根源,它与这段代码没有任何关系——而且它也很明显。现在真的不知道该怎么处理这个问题。

0 投票
0 回答
357 浏览

c++ - 在 OS X Yosemite 上诊断 SIGBUS 错误

我正在尝试将一些代码转换为在 OS X 上运行,并且在一些低级内存编写代码(适用于 Linux/Windows 平台上)遇到问题。

具体被调用的方法是:

相关测试代码(GTest)为:

在 gdb 中运行(使用自制软件安装)时,我得到:

我尝试添加似乎没有什么区别的显式演员表。

我找不到任何线索说明为什么这会在 OS X 上失败。任何有关如何诊断此问题的帮助将不胜感激。

0 投票
1 回答
3141 浏览

php - Apache 崩溃报告 - is_closing_session(): no DBUS_SESSION_BUS_ADDRESS in environment

我注意到我的系统一直在生成此崩溃报告。我不确定为什么,而且我对 apache 内部情况的了解是有限的。我不确定是什么原因造成的,因为服务器上没有任何特别的变化。任何帮助表示赞赏。我应该寻找和检查什么?可能是什么原因造成的?

批准:

0 投票
2 回答
366 浏览

java - 是否存在一种万无一失的跨平台方式来重现 SIGBUS?

这个问题纯粹是出于好奇。我个人已经看到这个信号被提出,但很少如此。

我在C 聊天室问是否有可靠的方法来重现它。在这个房间里,用户@Antti Haapala找到了一个。至少在 Linux x86_64 系统上……经过一番折腾,同样的模式可以用三种语言重现——但是,仅在基于 x86_64 Linux 的系统上,因为这些是唯一可以测试的系统……方法如下:

C

Python

爪哇

再次重申:以上所有示例均仅适用于 Linux x86_64 系统;我没有别的东西可以支配。

有没有办法在其他系统上重现这个?

附带问题:如果上面的示例可以在没有 的系统上重现SIGBUS,会发生什么?

0 投票
1 回答
2225 浏览

ios - iOS 应用程序崩溃 - SIGBUS - BUS_ADRALN

我的应用程序崩溃了iPhone 4 iOS 7.1.3。开iOS 9iP6一切正常。

它是由使用两种泛型类型实例化相当复杂的泛型类引起的。

我可以提供有关实现的详细信息,但该类有数百行。

代码:

和一部分crashlog

0 投票
1 回答
1140 浏览

assembly - SIGBUS 错误 - 在 RaspberryPi 上组装 ARM 处理器

我在业余时间学习汇编,因为我对低级操作感兴趣。 我尝试运行本教程中的代码

代码可以在这里和下面找到:

我在 Raspberry Pi 中编译代码:

它编译没有任何问题,但是当我运行它时,我收到以下错误:

程序收到信号 SIGBUS,总线错误。
main() 中的 0x00010428

我已经对导致 SIGBUS 错误的原因进行了一些研究,在这里我唯一能想到的是访问未对齐的内存,但是十进制的 0x00010428 = 66,600 可以被 4 整除,所以我不确定问题是什么.

跑步

我得到以下信息:

处理器:0
型号名称:ARMv6 兼容处理器 rev 7 (v6l)
BogoMIPS:2.00
特点:half thumb fastmult vfp edsp java tls
CPU 实现者:0x41
CPU 架构:7
CPU 变体:0x0
CPU 部分:0xb76
CPU 修订:7

硬件:BCM2708
修订:0002

0 投票
1 回答
2287 浏览

c - 带有 MAP_FIXED 的 mmap 上的 SIGBUS | MAP_FILE | MAP_SHARED

:) 我正在尝试将一些遗留代码(大型程序)移植到 CentOS 7,但我遇到了障碍。代码的核心是一个相当尴尬的结构,它使用 mmap 来分配硬编码地址并将文件映射到它。该文件就像一个数据库(由一个数据库构建),并包含指向映射内存不同部分的硬编码指针。非常丑陋,但它就是这样。整个程序都是围绕这种结构构建的,没有人会资助重写。

问题出现在 mmap 行上。这以前有效,但不再在 CentOS 7 上:

... 哪里SMAddr0x8000000,SMA_WINDOW_SIZE127926272, 并且readOnly是假的。所以基本上它试图将文件映射到0x8000000大小为 122MB 的地址。

版本之间可能发生了什么变化,我不知道。但我确实注意到它映射的文件只有 1.5MB。我不确定为什么它需要映射比文件大小更多的东西,但我知道它是必需的,而且我知道出于某种原因选择大小“122MB”有很多细微差别。

实际文件大小和分配大小之间的不匹配在过去是否很好,但现在不行了?我知道这SIGBUS意味着尝试访问无效的内存区域。鉴于 mmap 不采用任何类型的分配指针,这必须是它在内部做的事情。

我尝试捕捉和阻止SIGBUS(认为它可能会被忽略?),但程序仍然在同一个SIGBUS地方崩溃。也许我做错了。

想法?

0 投票
0 回答
52 浏览

linux - 带有 AC 标志的未对齐内存访问不会在 Windows 上引发任何陷阱

使用英特尔 x86_64 CPU。我试图在 Windows 上捕获“未对齐的内存访问错误”。这在 Linux (Ubuntu) 上完美运行。

例如,我可以像这样打开 EFLAGS 寄存器上的 AC 标志

然后,未对齐的内存访问(例如,0x804a003 上的 DWORD 读/写)会引发 Linux 进程的 SIGBUS 错误。

但是,使用相同的 CPU,如果我在 Windows(7 和 8)上做同样的事情,什么也不会发生。有人可以解释我为什么吗?这是因为 Windows 禁用了 CR0.AM 标志而 Linux 没有吗?

我会很感激一些建议。谢谢你。