[Issue 17991] ICE with imports without module
d-bugmail at puremagic.com
d-bugmail at puremagic.com
Wed Apr 4 06:04:59 UTC 2018
https://issues.dlang.org/show_bug.cgi?id=17991
Seb <greensunny12 at gmail.com> changed:
What |Removed |Added
----------------------------------------------------------------------------
Keywords| |ice, ice-on-valid-code,
| |pull
CC| |greensunny12 at gmail.com
Severity|major |critical
--- Comment #2 from Seb <greensunny12 at gmail.com> ---
The "good" news - I can reproduce this:
mkdir -p a/b
touch a/b/package.d
touch a/b/c.d
mkdir -p a/e
touch a/e/f.d
echo "import a.b, a.b.c;" > a/e/f.d
dmddev a/e/f.d
Here's the segfault:
---
Program received signal SIGSEGV, Segmentation fault.
0x00005555557de19c in ScopeDsymbol::addAccessiblePackage(Package*, Prot)
(this=0x7ffff7e9eba0, p=0x0, protection=...) at dmd/dsymbol.d:1491
1491 if (pary.length <= p.tag)
#0 0x00005555557de19c in ScopeDsymbol::addAccessiblePackage(Package*, Prot)
(this=0x7ffff7e9eba0, p=0x0, protection=...) at dmd/dsymbol.d:1491
#1 0x00005555557e4076 in DsymbolSemanticVisitor::visit(Import*)
(this=0x7fffffffca40, imp=0x7ffff7e9f010) at dmd/dsymbolsem.d:1379
#2 0x00005555557b57c7 in Import::accept(Visitor*) (this=0x7ffff7e9f010,
v=0x7fffffffca40) at dmd/dimport.d:309
#3 0x00005555557e0dd1 in dsymbolSemantic(Dsymbol*, Scope*)
(dsym=0x7ffff7e9f010, sc=0x7ffff7e9f300) at dmd/dsymbolsem.d:343
#4 0x00005555557e5e7e in DsymbolSemanticVisitor::visit(Module*)
(this=0x7fffffffcaf0, m=0x7ffff7e9eba0) at dmd/dsymbolsem.d:1916
#5 0x00005555557d0916 in Module::accept(Visitor*) (this=0x7ffff7e9eba0,
v=0x7fffffffcaf0) at dmd/dmodule.d:1322
#6 0x00005555557e0dd1 in dsymbolSemantic(Dsymbol*, Scope*)
(dsym=0x7ffff7e9eba0, sc=0x0) at dmd/dsymbolsem.d:343
#7 0x0000555555873175 in dmd.mars.tryMain(ulong, const(char)**)
(argv=0x7fffffffd6a8, argc=2) at dmd/mars.d:804
#8 0x00005555558744c7 in D main () at dmd/mars.d:1098
---
... and here an attempt to fix it: https://github.com/dlang/dmd/pull/8126
--
More information about the Digitalmars-d-bugs
mailing list