Front page | perl.perl5.porters |
Postings from May 2003
Re: [perl #22266] Perl segfaults on erroneous attempts to un-use a source filter
Thread Previous
From:
Nicholas Clark
Date:
May 21, 2003 11:14
Subject:
Re: [perl #22266] Perl segfaults on erroneous attempts to un-use a source filter
Message ID:
20030521191424.L1149@plum.flirble.org
On Wed, May 21, 2003 at 11:00:01AM -0000, drc@inweb.co.uk (via RT) wrote:
> This is a bug report for perl from drc@inweb.co.uk,
> generated with the help of perlbug 1.33 running under perl v5.6.1.
>
>
> -----------------------------------------------------------------
>
> drc:~$ cat Filter/MyFilter.pm
> package Filter::MyFilter;
>
> use Filter::Simple sub {
> # this filter does nothing
> };
>
> 1;
>
> drc:~$ perl -e "use Filter::MyFilter;no Filter::MyFilter"
> Segmentation fault
It's still present in 5.8.0:
$ valgrind perl5.8.0 -e "use Filter::MyFilter;no Filter::MyFilter"
==901== Memcheck, a.k.a. Valgrind, a memory error detector for x86-linux.
==901== Copyright (C) 2002, and GNU GPL'd, by Julian Seward.
==901== Using valgrind-1.9.6, a program instrumentation system for x86-linux.
==901== Copyright (C) 2000-2002, and GNU GPL'd, by Julian Seward.
==901== Estimated CPU clock rate is 1532 MHz
==901== For more details, rerun with: -v
==901==
==901== Invalid write of size 4
==901== at 0x41AB1B11: XS_Filter__Util__Call_filter_del (Call.xs:238)
==901== by 0x80C1D20: Perl_pp_entersub (pp_hot.c:2773)
==901== by 0x80AD95D: Perl_runops_debug (dump.c:1398)
==901== by 0x805FF71: S_call_body (perl.c:2045)
==901== Address 0x2C is not stack'd, malloc'd or free'd
Segmentation fault
but it is fixed in 5.8.1 to-be
]$ valgrind ./perl -Ilib -e "use Filter::MyFilter;no Filter::MyFilter"
==930== Memcheck, a.k.a. Valgrind, a memory error detector for x86-linux.
==930== Copyright (C) 2002, and GNU GPL'd, by Julian Seward.
==930== Using valgrind-1.9.6, a program instrumentation system for x86-linux.
==930== Copyright (C) 2000-2002, and GNU GPL'd, by Julian Seward.
==930== Estimated CPU clock rate is 1546 MHz
==930== For more details, rerun with: -v
==930==
==930== valgrind's libpthread.so: KLUDGED call to: siglongjmp (cleanup handlers are ignored)
==930==
==930== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
==930== malloc/free: in use at exit: 893558 bytes in 20302 blocks.
==930== malloc/free: 34135 allocs, 13833 frees, 13818529 bytes allocated.
==930== For a detailed leak analysis, rerun with: --leak-check=yes
==930== For counts of detected errors, rerun with: -v
The obvious next question is "when will 5.8.1 be finished?"
Jarkko is more very quiet than usual whenever that is asked.
Nicholas Clark
Thread Previous