我已经设置了一个 cron 作业,用于使用 php 从我的站点发送电子邮件。它工作正常。今天我收到一条这样的错误消息“ /bin/sh: line 1: 29681 Bus error ”。您能否告诉我这个总线错误及其解决方案是什么?
提前致谢
玫瑰
“总线错误”可能意味着被调用的程序正试图取消引用空指针或一些类似的无效内存地址。它通常来自使用未初始化的值(取消引用空指针),或来自使用意外覆盖的值(例如,当使用保存的值压入堆栈时,但长度计算错误或用于提取数据的数据类型错误)。
IME,很少有硬件故障的暗示。这通常是一个错误——所以'gdb' 通常比'dmesg' 更有帮助;也就是说,我在 1991 年参与了一些关于 UNIX 系统的研究,这表明某些内核和内核恐慌是电源故障(德克萨斯州奥斯汀的雷暴)的结果,但这些并没有出现在“dmesg”中尽管是“硬件”,但输出:)
有时,我目前在 SugarCRM 安装中收到此消息。大约 99% 的时间 cron.php 按预期工作。有时我会收到“总线错误 - 核心转储”消息。不过,我没有将核心转储到 crontab 中命名的目录中。这使得调试变得稍微复杂一些——我需要确保核心转储被捕获!我不太担心,因为一切似乎都在工作。所以这是一个低优先级的任务......我最终可能会找到并修复它,但我们更有可能升级到更新版本的 PHP、MySQL 和 Sugar——这些更改可能会让问题消失。
似乎有一些关于各种原因的线索。
这是我会尝试的一个:
某种硬件问题正在发生。
尝试
`dmesg`
如果它不能读取它自己的二进制文件,你必须重新启动并希望 /var/log/messages 在重新启动之前有一些有用的东西。
当磁盘已满时,我得到了这个。试试看df
。