Re: [perl #32137] stack walking failing to detect pointer in local variable on x86 Linux

2004-10-26 Thread Steve Fink via RT
This doesn't address the deeper problem, but we could also simplify the whole function by just doing: static size_t find_common_mask(size_t val1, size_t val2) { size_t mask = ~0; size_t diff = val1 ^ val2; while (diff & mask) mask <<= 1; return mask; } Bit twiddli

Re: [perl #32137] stack walking failing to detect pointer in local variable on x86 Linux

2004-10-26 Thread Steve Fink
This doesn't address the deeper problem, but we could also simplify the whole function by just doing: static size_t find_common_mask(size_t val1, size_t val2) { size_t mask = ~0; size_t diff = val1 ^ val2; while (diff & mask) mask <<= 1; return mask; } Bit twiddli

Re: [perl #32137] stack walking failing to detect pointer in local variable on x86 Linux

2004-10-26 Thread Nicholas Clark via RT
On Tue, Oct 26, 2004 at 03:21:18PM +0200, Leopold Toetsch wrote: > 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

Re: [perl #32137] stack walking failing to detect pointer in local variable on x86 Linux

2004-10-26 Thread Nicholas Clark
On Tue, Oct 26, 2004 at 03:21:18PM +0200, Leopold Toetsch wrote: > 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

Re: [perl #32137] stack walking failing to detect pointer in local variable on x86 Linux

2004-10-26 Thread Leopold Toetsch via RT
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. Sm

Re: [perl #32137] stack walking failing to detect pointer in local variable on x86 Linux

2004-10-26 Thread Leopold Toetsch
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

Re: [perl #32137] stack walking failing to detect pointer in local variable on x86 Linux

2004-10-26 Thread Nicholas Clark via RT
On Tue, Oct 26, 2004 at 10:44:35AM +0200, Leopold Toetsch wrote: > Nicholas Clark <[EMAIL PROTECTED]> wrote: > > > I have evidence that DOD runs can miss noticing local variable pointers to > > live objects on x86 Linux. This is happening while running ponie, but > > the problem is during a single

Re: [perl #32137] stack walking failing to detect pointer in local variable on x86 Linux

2004-10-26 Thread Nicholas Clark
On Tue, Oct 26, 2004 at 10:44:35AM +0200, Leopold Toetsch wrote: > Nicholas Clark <[EMAIL PROTECTED]> wrote: > > > I have evidence that DOD runs can miss noticing local variable pointers to > > live objects on x86 Linux. This is happening while running ponie, but > > the problem is during a single

Re: [perl #32137] stack walking failing to detect pointer in local variable on x86 Linux

2004-10-26 Thread Leopold Toetsch via RT
Nicholas Clark <[EMAIL PROTECTED]> wrote: > I have evidence that DOD runs can miss noticing local variable pointers to > live objects on x86 Linux. This is happening while running ponie, but > the problem is during a single call to string_make. The gdb traces are from > a copy of the parrot source

Re: [perl #32137] stack walking failing to detect pointer in local variable on x86 Linux

2004-10-26 Thread Leopold Toetsch
Nicholas Clark <[EMAIL PROTECTED]> wrote: > I have evidence that DOD runs can miss noticing local variable pointers to > live objects on x86 Linux. This is happening while running ponie, but > the problem is during a single call to string_make. The gdb traces are from > a copy of the parrot source

[perl #32137] stack walking failing to detect pointer in local variable on x86 Linux

2004-10-25 Thread via RT
# New Ticket Created by Nicholas Clark # Please include the string: [perl #32137] # in the subject line of all future correspondence about this issue. # http://rt.perl.org:80/rt3/Ticket/Display.html?id=32137 > --- osname= linux osvers= 2.4.21-14.elsmp arch= i386-linux-thread-multi cc= g