Subject: Re: bug#74966: 31.0.50; Crash report (using igc on macOS)

From: Gerd Möllmann <[email-masked]>
Date: Sat, 21 Dec 2024 15:57:22 +0100

Stefan Monnier <[email-masked]> writes:

>>> `offset` here should be fixnum that gives the position of this docstring
>>> in the DOC file.  And FUN should be a function for which we found
>>
>> Yes, but the nativecomp code assumes ->doc is an index into a
>> nativecomp'd subr's constant vector.
>
> Aha!
>
>> So we overwrite it with a docfile
>> index, access an out-of-bounds index and crash.
>>
>> I think the best thing to do is to use separate fields for the "offset"
>> doc and the "index" doc; or at least, the second best thing, after
>> removing the entire docfile hack.
>
> I think a much simpler change is to use the sign bit to distinguish indices
> into the constant vector from indices into the DOC file.
>
>
>         Stefan

Simpler maybe, but not cleaner than what Pip has in his lastest patch,
which separates DOC offset and index into constant vector. And it's
a pretty simple change.