GNU bug report logs -
#74966
31.0.50; Crash report (using igc on macOS)
Previous Next
Reported by: Sean Devlin <spd <at> toadstyle.org>
Date: Thu, 19 Dec 2024 09:19:02 UTC
Severity: normal
Found in version 31.0.50
Done: Pip Cet <pipcet <at> protonmail.com>
Bug is archived. No further changes may be made.
Full log
Message #182 received at 74966 <at> debbugs.gnu.org (full text, mbox):
Eli Zaretskii <eliz <at> gnu.org> writes:
>> Date: Sat, 21 Dec 2024 15:18:43 +0000
>> From: Pip Cet <pipcet <at> protonmail.com>
>> Cc: Gerd Möllmann <gerd.moellmann <at> gmail.com>, Eli Zaretskii <eliz <at> gnu.org>, acorallo <at> gnu.org, spd <at> toadstyle.org, 74966 <at> debbugs.gnu.org
>>
>> "Stefan Monnier" <monnier <at> iro.umontreal.ca> 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.
>>
>> And use one's-complement, I assume, to guard against some future weird
>> nativecomp change resulting in the index -0? :-)
>>
>> I really have no strong preference here.
>
> And I still want to hear from Andrea. It's his code, so the solution
> he prefers gets my vote.
Sorry for behing late here.
I'm for the sign bit, it saves memory (why not), and we can sanity check
that when the bit is set the function is a non-primitve one and vice
versa.
Andrea
This bug report was last modified 130 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.