digitalmars.D.bugs - [Issue 22616] New: Infinity loop instead of
- d-bugmail puremagic.com (83/83) Dec 21 2021 https://issues.dlang.org/show_bug.cgi?id=22616
https://issues.dlang.org/show_bug.cgi?id=22616 Issue ID: 22616 Summary: Infinity loop instead of InvalidMemoryOperationError during GC routine Product: D Version: D2 Hardware: All OS: All Status: NEW Severity: regression Priority: P1 Component: druntime Assignee: nobody puremagic.com Reporter: feklushkin.denis gmail.com Issue was introduced in v2.097.0 /+ dub.json: { "name": "test" } +/ class C { int i; ~this () { // It is wrong to allocate during GC collection, // but this failed assert allocates and must throw // InvalidMemoryOperationError. assert(i == 123); } } void main() { auto c = new C; } ``` DMD64 D Compiler v2.096.1 - OK $ dub -f --compiler=dmd --single test.d Performing "debug" build using dmd for x86_64. test ~master: building configuration "application"... Linking... Running test core.exception.InvalidMemoryOperationError src/core/exception.d(647): Invalid memory operation ---------------- Program exited with code 1 (as expected) DMD64 D Compiler v2.097.0 - Infinity wait $ dub -f --compiler=dmd --single test.d Performing "debug" build using dmd for x86_64. test ~master: building configuration "application"... Linking... Running test (stalled) Stack after ctrl+c: options=0, usage=0x0) at ../sysdeps/unix/sysv/linux/wait4.c:30 dub.generators.build.BuildGenerator.runTarget(dub.internal.vibecompat.inet.path.NativePath, in dub.compilers.buildsettings.BuildSettings, immutable(char)[][], dub.generators.generator.GeneratorSettings) () dub.generators.build.BuildGenerator.performPostGenerateActions(dub.generators.generator.GeneratorSettings, in dub.generators.generator.ProjectGenerator.TargetInfo[immutable(char)[]]) () dub.generators.generator.ProjectGenerator.generate(dub.generators.generator.GeneratorSettings) () immutable(char)[][], immutable(char)[][]) () immutable(char)[][], immutable(char)[][]) () dub.commandline.runDubCommandLine(immutable(char)[][]) () int(char[][]) function).runAll() () argc=5, argv=0x7fffffffe7d8, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7fffffffe7c8) at ../csu/libc-start.c:332 --
Dec 21 2021