On Sat, 7 May 2022 19:23:18 +0200
Sven Wolf <[email protected]> wrote:

> Reading symbols from php-fpm-8.0...(no debugging symbols found)...done.
> [New process 413320]
> Core was generated by `php-fpm-8.0'.
> Program terminated with signal SIGBUS, Bus error.
> #0  0x0510a0fc in ?? ()
> (gdb) bt
> #0  0x0510a0fc in ?? ()
> #1  0x0510a0e4 in ?? ()
> Backtrace stopped: previous frame identical to this frame (corrupt stack?)
> (gdb)

This SIGBUS might be an alignment trap, if your armv7 needs strict
alignment.  Misaligned integers don't cause alignment traps on amd64,
i386, powerpc, nor powerpc64; so I probably can't reproduce this
SIGBUS on my computers.  Someone with aarch64, mips64, riscv64, or
sparc64 might or might not reproduce it.

Can you cause egdb to disassemble the trapped instruction, and print
its registers?  The command,
        (gdb) disas $pc,$pc+1
might show the instruction.  If a register like "r0" appears in the
instruction, then "print $r0" might print it.

For example, I made a core dump of a misaligned float on powerpc:

(gdb) disas $pc,$pc+1
Dump of assembler code from 0x1fde0a18 to 0x1fde0a19:
=> 0x1fde0a18 <main+92>:        lfs     f1,1(r3)
End of assembler dump.
(gdb) print $f1
$1 = 0
(gdb) print $r3
$2 = 3043988480

Reply via email to