Re: [perl #32137] stack walking failing to detect pointer in local variable on x86 Linux
[email protected] ("Leopold Toetsch via RT") 26 Oct 2004 13:29:49 -0000
| Newsgroups | perl.perl6.internals,perl.ponie.dev |
|---|---|
| Message-ID | <[email protected]> |
Nicholas Clark wrote:
> The for loop inside trace_mem_block steps right over it. This if fails:
>
> /* Do a quick approximate range check by bit-masking */
> if ((ptr & mask) == prefix || !prefix) {
Argh, yes. I have pointed out quite a time ago that this mask check
isn't ok. Small and big memory chunks are allocated from different
malloc pools so that the check doesn't really work.
I'd drop the mask test - or if possible you can fix it ;)
> Nicholas Clark
Thanks for your thorough analysis,
leo