[Issue 21280] No error output "cast(ubyte[4])("ABCDEF"[0..4]);"

d-bugmail at puremagic.com d-bugmail at puremagic.com
Sun Sep 27 01:31:51 UTC 2020


https://issues.dlang.org/show_bug.cgi?id=21280

Adam D. Ruppe <destructionator at gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |destructionator at gmail.com
           Severity|enhancement                 |critical

--- Comment #1 from Adam D. Ruppe <destructionator at gmail.com> ---
Specifically the compiler seems to hang in a loop allocating memory until it
exhausts the system! Yikes.

I put it in gdb and ctrl+c'd a couple times just to see where it was:

Program received signal SIGINT, Interrupt.
0x00007ffff7c88ebc in _int_malloc () from /lib64/libc.so.6
(gdb) where
#0  0x00007ffff7c88ebc in _int_malloc () from /lib64/libc.so.6
#1  0x00007ffff7c8a7e4 in malloc () from /lib64/libc.so.6
#2  0x0000555555919c8b in code_chunk_alloc() ()
#3  0x000055555567d483 in CodeBuilder::gen(code*) ()
#4  0x00005555559032ae in cdeq(CodeBuilder&, elem*, unsigned int*) ()
#5  0x00005555558b4cbf in codelem(CodeBuilder&, elem*, unsigned int*, unsigned
int) ()
#6  0x00005555558e14e9 in cdcomma(CodeBuilder&, elem*, unsigned int*) ()
#7  0x00005555558b4cbf in codelem(CodeBuilder&, elem*, unsigned int*, unsigned
int) ()
#8  0x00005555558c1e0f in outblkexitcode(CodeBuilder&, block*, int&, char
const*, Symbol**, unsigned int) ()
#9  0x00005555558fdcff in blcodgen(block*) ()
#10 0x00005555558fc6a8 in codgen(Symbol*) ()
#11 0x0000555555940dcb in writefunc2(Symbol*) ()
#12 0x0000555555940708 in writefunc(Symbol*) ()
#13 0x0000555555683364 in FuncDeclaration_toObjFile(FuncDeclaration*, bool) ()
#14 0x00005555556a9f32 in genObjFile(Module*, bool) ()
#15 0x000055555576f776 in _D3dmd4mars7tryMainFmPPxaKSQz7globals5ParamZi ()
#16 0x000055555577941f in D main ()
(gdb) c
Continuing.
^C
Program received signal SIGINT, Interrupt.
0x00005555558b496c in simplify_code(code*) ()
(gdb) where
#0  0x00005555558b496c in simplify_code(code*) ()
#1  0x000055555567d4b6 in CodeBuilder::gen(code*) ()
#2  0x00005555559032ae in cdeq(CodeBuilder&, elem*, unsigned int*) ()
#3  0x00005555558b4cbf in codelem(CodeBuilder&, elem*, unsigned int*, unsigned
int) ()
#4  0x00005555558e14e9 in cdcomma(CodeBuilder&, elem*, unsigned int*) ()
#5  0x00005555558b4cbf in codelem(CodeBuilder&, elem*, unsigned int*, unsigned
int) ()
#6  0x00005555558c1e0f in outblkexitcode(CodeBuilder&, block*, int&, char
const*, Symbol**, unsigned int) ()
#7  0x00005555558fdcff in blcodgen(block*) ()
#8  0x00005555558fc6a8 in codgen(Symbol*) ()
#9  0x0000555555940dcb in writefunc2(Symbol*) ()
#10 0x0000555555940708 in writefunc(Symbol*) ()
#11 0x0000555555683364 in FuncDeclaration_toObjFile(FuncDeclaration*, bool) ()
#12 0x00005555556a9f32 in genObjFile(Module*, bool) ()
#13 0x000055555576f776 in _D3dmd4mars7tryMainFmPPxaKSQz7globals5ParamZi ()
#14 0x000055555577941f in D main ()
(gdb) c
Continuing.
^C
Program received signal SIGINT, Interrupt.
0x00007ffff7c88ebc in _int_malloc () from /lib64/libc.so.6


Then it ran out of memory and slaughtered my system anyway.

--


More information about the Digitalmars-d-bugs mailing list