[Issue 23978] [REG 2.103.0] ICE: EscapeBy[] is malloced, but contains GC-allocated objects

d-bugmail at puremagic.com d-bugmail at puremagic.com
Fri Jun 9 17:36:23 UTC 2023


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

--- Comment #14 from Iain Buclaw <ibuclaw at gdcproject.org> ---
Hit!

---
(gdb) monitor who_points_at 0x5ebb998              // &aa.b[1]
==1582870== Searching for pointers to 0x5ebb998
(gdb) monitor who_points_at 0x5ebb9a0              // &aa.b[2]
==1582870== Searching for pointers to 0x5ebb9a0
(gdb) monitor who_points_at 0x5ebb9a8              // &aa.b[3]
==1582870== Searching for pointers to 0x5ebb9a8
(gdb) monitor who_points_at 0x5ebb9b0              // &aa.b[4]
==1582870== Searching for pointers to 0x5ebb9b0
(gdb) monitor who_points_at 0x5ebb9b8              // &aa.b[5]
==1582870== Searching for pointers to 0x5ebb9b8
(gdb) monitor who_points_at 0x5ebb9c0              // &aa.b[6]
==1582870== Searching for pointers to 0x5ebb9c0
(gdb) monitor who_points_at 0x5ebb9c8              // &aa.b[7]
==1582870== Searching for pointers to 0x5ebb9c8
==1582870== *0x5eef430 points at 0x5ebb9c8
 Address 0x5eef430 is in a rw- anonymous segment
==1582870== *0xd964580 points at 0x5ebb9c8
 Address 0xd964580 is in a rw- anonymous segment
---


No hint as to where those references are at run-time however, it is clear that
the ThisDeclaration/VarDeclaration object is a live object in the AST.

---
(gdb) p aa.b[5]
$57 = (dmd.root.aav.aaA *) 0x5efa4a0
(gdb) p aa.b[6]
$58 = (dmd.root.aav.aaA *) 0x0
(gdb) p aa.b[7]
$59 = (dmd.root.aav.aaA *) 0xde2c100
(gdb) p aa.b[8]
$60 = (dmd.root.aav.aaA *) 0x5efa480
(gdb) monitor who_points_at 0x5efa4a0              // aa.b[5]
==1582870== Searching for pointers to 0x5efa4a0
==1582870== *0x5ebb9b8 points at 0x5efa4a0         // &aa.b[5] points at
(gdb) monitor who_points_at 0x5efa480              // aa.b[8]
==1582870== Searching for pointers to 0x5efa480
==1582870== *0x5ebb9d0 points at 0x5efa480         // &aa.b[8] points at
 Address 0x5ebb9d0 is in a rw- anonymous segment
(gdb) monitor who_points_at 0xde2c100              // aa.b[7]
==1582870== Searching for pointers to 0xde2c100
==1582870== *0x5ebb9c8 points at 0xde2c100         // &aa.b[7] points at
 Address 0x5ebb9c8 is in a rw- anonymous segment
==1582870== *0xdddef80 points at 0xde2c100         // and many more...
 Address 0xdddef80 is in a rw- anonymous segment
==1582870== *0xdddef90 points at 0xde2c100
 Address 0xdddef90 is in a rw- anonymous segment
==1582870== *0xde1bec0 points at 0xde2c100
 Address 0xde1bec0 is in a rw- anonymous segment
==1582870== *0xde25490 points at 0xde2c100
 Address 0xde25490 is in a rw- anonymous segment
==1582870== *0xde254b0 points at 0xde2c100
 Address 0xde254b0 is in a rw- anonymous segment
==1582870== *0xde254c8 points at 0xde2c100
 Address 0xde254c8 is in a rw- anonymous segment
==1582870== *0xde2c3c8 points at 0xde2c100
 Address 0xde2c3c8 is in a rw- anonymous segment
==1582870== *0xde2d0e8 points at 0xde2c100
 Address 0xde2d0e8 is in a rw- anonymous segment
==1582870== *0xde30550 points at 0xde2c100
 Address 0xde30550 is in a rw- anonymous segment
==1582870== *0xde30880 points at 0xde2c100
 Address 0xde30880 is in a rw- anonymous segment
==1582870== *0xde35428 points at 0xde2c100
 Address 0xde35428 is in a rw- anonymous segment
==1582870== *0xde35568 points at 0xde2c100
 Address 0xde35568 is in a rw- anonymous segment
==1582870== *0xde35668 points at 0xde2c100
 Address 0xde35668 is in a rw- anonymous segment
==1582870== *0xde3d980 points at 0xde2c100
 Address 0xde3d980 is in a rw- anonymous segment
==1582870== *0xde694a8 points at 0xde2c100
 Address 0xde694a8 is in a rw- anonymous segment
==1582870== *0xde73b28 points at 0xde2c100
 Address 0xde73b28 is in a rw- anonymous segment
==1582870== *0xde795a8 points at 0xde2c100
 Address 0xde795a8 is in a rw- anonymous segment
==1582870== *0xde7c168 points at 0xde2c100
 Address 0xde7c168 is in a rw- anonymous segment
==1582870== tid 1 register RAX pointing at 0xde2c100

--


More information about the Digitalmars-d-bugs mailing list