Comment #0 by pro.mathias.lang — 2020-12-16T17:48:16Z
```
import core.memory;
const(void)* bug (const(void)* ptr)
{
GC.getAttr(ptr);
return ptr;
}
void main ()
{
auto ptr = new int*;
bug(ptr);
}
```
Running this with `dmd -run` never terminates. Fix incoming.
Comment #1 by dlang-bot — 2020-12-16T17:52:33Z
@Geod24 created dlang/druntime pull request #3314 "Fix 21484: Infinite loop in core.memory : GC.{get,set,clr}Attr(const scope void*...)" fixing this issue:
- Fix 21484: Infinite loop in core.memory : GC.{get,set,clr}Attr(const scope void*...)
Those functions never worked, and would cause an infinite recursion.
In a non-optimized build that would exhaust the stack and trigger a SEGV,
however in the optimized build we distribute, it results in an infinite
loop as tail call optimization is performed.
https://github.com/dlang/druntime/pull/3314
Comment #2 by dlang-bot — 2020-12-17T08:07:46Z
dlang/druntime pull request #3314 "Fix 21484: Infinite loop in core.memory : GC.{get,set,clr}Attr(const scope void*...)" was merged into stable:
- afec6133be695f2138b86e9b87dcc72a83298379 by Geod24:
Fix 21484: Infinite loop in core.memory : GC.{get,set,clr}Attr(const scope void*...)
Those functions never worked, and would cause an infinite recursion.
In a non-optimized build that would exhaust the stack and trigger a SEGV,
however in the optimized build we distribute, it results in an infinite
loop as tail call optimization is performed.
https://github.com/dlang/druntime/pull/3314
Comment #3 by dlang-bot — 2020-12-21T01:01:41Z
dlang/druntime pull request #3315 "merge stable" was merged into master:
- 027fca5c3d57866f06f838fa755c68835c0994b4 by Geod24:
Fix 21484: Infinite loop in core.memory : GC.{get,set,clr}Attr(const scope void*...)
Those functions never worked, and would cause an infinite recursion.
In a non-optimized build that would exhaust the stack and trigger a SEGV,
however in the optimized build we distribute, it results in an infinite
loop as tail call optimization is performed.
https://github.com/dlang/druntime/pull/3315