[Bug d/106977] New: [13 regression] d21 dies with SIGBUS on 32-bit Darwin
ro at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Tue Sep 20 14:06:21 GMT 2022
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106977
Bug ID: 106977
Summary: [13 regression] d21 dies with SIGBUS on 32-bit Darwin
Product: gcc
Version: 13.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: d
Assignee: ibuclaw at gdcproject dot org
Reporter: ro at gcc dot gnu.org
CC: iains at gcc dot gnu.org
Target Milestone: ---
Target: i386-apple-darwin11.4.2
Between 20220610 (5940b4e59f8e198dbf7e8b733561ef72a9ba2cbc) and 20220624
(3b8794302b52a819ca3ea78238e9b5025d1c56dd),
32-bit bootstrap started to fail on 32-bit Darwin (Mac OS X 10.7): when
configuring the stage 2 libphobos, d21 dies with
$ cat conftest.d
module object;
extern(C) int main() {
return 0;
}
$ d21 conftest.d -I <path to>/libphobos/libdruntime -o conftest.s
conftest.d:3:15: internal compiler error: Bus error: 10
3 | extern(C) int main() {
| ^
I had a hard time getting more information out of this crash:
* With gdb 9.1 I get
Program received signal SIGBUS, Bus error.
0x00055398 in _ZN11Declaration7visibleEv (this=0x7)
(gdb) bt
#0 0x00055398 in _ZN11Declaration7visibleEv (this=warning: (Internal error: pc
0x7 in read in psymtab, but not in symtab.)
0x7)
#1 0x001ed871 in ?? ()
Backtrace stopped: previous frame inner to this frame (corrupt stack?)
which is Declaration::visible()
* With /usr/bin/gdb:
Program received signal EXC_BAD_ACCESS, Could not access memory.
Reason: KERN_PROTECTION_FAILURE at address: 0x0000004b
_ZN11Declaration7visibleEv (this=0x7) at
/vol/gcc/src/hg/master/darwin/gcc/d/dmd/declaration.d:547
547 return visibility;
(gdb) bt
#0 _ZN11Declaration7visibleEv (this=0x7) at
/vol/gcc/src/hg/master/darwin/gcc/d/dmd/declaration.d:547
#1 0x001ed871 in get_symbol_decl () at parsetimevisitor.d:26
* With /usr/bin/lldb:
Process 133 stopped
* thread #1: tid = 0x1f03, 0x00055398 d21`Declaration::visible(this=0x00000007)
+ 8 at declaration.d:547, stop reason = EXC_BAD_ACCESS (code=2, address=0x4b)
frame #0: 0x00055398 d21`Declaration::visible(this=0x00000007) + 8 at
declaration.d:547
544
545 override final Visibility visible() pure nothrow @nogc @safe
546 {
-> 547 return visibility;
548 }
549
550 override final inout(Declaration) isDeclaration() inout pure
nothrow @nogc @safe
(lldb) bt
* thread #1: tid = 0x1f03, 0x00055398 d21`Declaration::visible(this=0x00000007)
+ 8 at declaration.d:547, stop reason = EXC_BAD_ACCESS (code=2, address=0x4b)
frame #0: 0x00055398 d21`Declaration::visible(this=0x00000007) + 8 at
declaration.d:547
frame #1: 0x001ed871 d21`get_symbol_decl(Declaration*) (.part.0) + 833
I haven't tried reghunting yet.
More information about the Gcc-bugs
mailing list