Subject: Re: bug#78444: 30.1; Crash in GC (vector_marked_p)

From: Pip Cet <[email-masked]>
Date: Sat, 17 May 2025 21:17:20 +0000

"George P" <[email-masked]> writes:

>  Can you try this (subtracting 5 from the tagged pointer to get the base
>  pointer, then printing its memory region):
>
>       x/32gx 0x98e79d8
>       x/32gx 0x98f1d08 
>
> (gdb) x/32gx 0x98e79d8
> 0x98e79d8:      0xc00000000e008000      0x0000000020e10970
> 0x98e79e8:      0x0000000003aa20d0      0x0000000003aa1ac0
> 0x98e79f8:      0x00000000006e9960      0x000000002265f480
> 0x98e7a08:      0x0000001a0000001a      0x0000400700000060
> 0x98e7a18:      0x0000000000000000      0x400000000e008000
> 0x98e7a28:      0x000000001bfdbe90      0x0000000020e10b80
> 0x98e7a38:      0x000000001bfdb880      0x00000000006e98e0
> 0x98e7a48:      0x000000001fd792e0      0x0000001a0000001a
> 0x98e7a58:      0x0000400700000060      0x0000000000000000
> 0x98e7a68:      0x400000001f000005      0x0000000000000606
> 0x98e7a78:      0x0000000008ae5654      0x000000001b78fe2d
> 0x98e7a88:      0x0000000000000012      0x0000000008ae5674
> 0x98e7a98:      0x400000001f000005      0x0000000000000606
> 0x98e7aa8:      0x0000000008ae5694      0x000000001c32b8dd
> 0x98e7ab8:      0x000000000000000e      0x0000000008ae5674
> 0x98e7ac8:      0x000000000000000e      0x000015554de5d450

This tells us the stale pointer was most likely found in a hash table,
with 26 elements.  Can you please run x/64gx 0x3aa1ac0 so we can be sure
of this?

Unfortunately, most likely, all that is going to tell us the basic types
of the keys and values in the hash table, and we're then going to have
to investigate the surviving keys and values to get a clue as to what
the hash table might have been.  Unless someone can think of a better
way?

Thanks again!

Pip