Re: [perl #21656] [PATCH] read buffering in i/o
by Dan Sugalski other posts by this author
Apr 29 2003 8:35PM messages near this date
Re: [perl #21656] [PATCH] read buffering in i/o
|
Re: [perl #21656] [PATCH] read buffering in i/o
At 12:31 PM -0500 3/31/03, Dan Sugalski wrote:
> At 7:20 PM +0200 3/30/03, Juergen Boemmels wrote:
> >Dan Sugalski <dan@[...].org> writes:
> >
> >> At 12:59 AM +0000 3/23/03, "Jürgen" "Bömmels" (via RT) wrote:
> >> >Yet another step in PIO:
> >> >Enabling read buffering.
> >>
> >> A test with this starts throwing errors at t/src/list and goes on from
> >> there--lots of double free errors. I can let the tests run to
> >> completion if you need the list, but it looks like there's something
> >> amiss here, and I'm not going to apply the patch for the moment.
> >
> >I tried to reproduce this but I failed. I tried both my working tree
> >and a fresh checkout with patch applied, but got no errors. It works
> >well with imcc and with assemble.pl (which takes an eternity on my
> >maschine). My system is an K6/linux/gcc-2.95.3 system.
> >
> >Are you sure this problem is triggered by my patch?
> >Any hints?
>
> Hrm. I'll reapply and see if something else, since fixed, was
> causing the problem.
Alright, it's been *far* too long, but I finally took a look at this.
The problem, in a nutshell, is that lots of tests die on OS X when I
apply this patch. Linux, though, *seems* fine, until....
I go install valgrind and let it rip. Ignoring the complaints about
our GC code (it doesn't like us, and I'm not sure which complaints
are real and which are just because we're cheating like mad) the ones
that kill OS X *do* show up. There's a double-free in the teardown
code that doesn't show up when the patch isn't in.
I'm not sure why yet, bit valgrind's yipes are:
==27543== Invalid free() / delete / delete[]
==27543== at 0x4016651E: free (vg_clientfuncs.c:185)
==27543== by 0x8080774: mem_sys_free (in
/home/dsugalski/src/parrot/t/src/list_2)
==27543== by 0x8054FFF: PIO_destroy (in
/home/dsugalski/src/parrot/t/src/list_2)
==27543== by 0x8057E35: Parrot_really_destroy (in
/home/dsugalski/src/parrot/t/src/list_2)
==27543== Address 0x410148C4 is 0 bytes inside a block of size 48 free'd
==27543== at 0x4016651E: free (vg_clientfuncs.c:185)
==27543== by 0x8080774: mem_sys_free (in
/home/dsugalski/src/parrot/t/src/list_2)
==27543== by 0x80557AE: PIO_close (in
/home/dsugalski/src/parrot/t/src/list_2)
==27543== by 0x8054FF1: PIO_destroy (in
/home/dsugalski/src/parrot/t/src/list_2)
--
Dan
--------------------------------------"it's like this"-------------------
Dan Sugalski even samurai
dan@[...].org have teddy bears and even
teddy bears get drunk
Thread:
Jürgen Bömmels (via RT)
Dan Sugalski
Juergen Boemmels
Dan Sugalski
Dan Sugalski
Simon Glover
Juergen Boemmels
Melvin Smith
Juergen Boemmels
Juergen Boemmels
Juergen Boemmels
Dan Sugalski
Matt Fowles
Matt Fowles
|