# New Ticket Created by  Nicholas Clark 
# Please include the string:  [perl #35427]
# in the subject line of all future correspondence about this issue. 
# <URL: https://rt.perl.org/rt3/Ticket/Display.html?id=35427 >


This is a bug report for perl from [EMAIL PROTECTED],
generated with the help of perlbug 1.35 running under perl v5.6.2.


-----------------------------------------------------------------
[Please enter your report here]

/Users/nick/Reference/5.6.2-g/bin/perl5.6.2-32 -MData::Dumper -e 'package 
Data::Dumper; reset'
Bus error

(gdb) where
#0  0x0005a1d8 in Perl_sv_reset (s=0x129570 "", stash=0x806fe0) at sv.c:5063
#1  0x000ad534 in Perl_pp_reset () at pp_ctl.c:1631
#2  0x000dd590 in Perl_runops_debug () at run.c:53
#3  0x0002114c in S_run_body (oldscope=1) at perl.c:1471
#4  0x00020a74 in perl_run (my_perl=0x300140) at perl.c:1393
#5  0x00001c5c in main (argc=4, argv=0xbffff6c4, env=0xbffff6d8) at 
perlmain.c:52

Line 5063 is the middle line of:

    if (!*s) {          /* reset ?? searches */
        for (pm = HvPMROOT(stash); pm; pm = pm->op_pmnext) {
            pm->op_pmdynflags &= ~PMdf_USED;
        }
        return;
    }

I'm not convinced that gdb has the correct value of pm. It seems to have
pm for the second iteration:

(gdb) p pm
$7 = (PMOP *) 0xa7f2c
(gdb) p stash->sv_any->xhv_pmroot
$8 = (PMOP *) 0x336470
(gdb) p stash->sv_any->xhv_pmroot->op_pmnext
$9 = (PMOP *) 0xa7f2c

However, the cause of the bus error is clear:

(gdb) p *pm->op_pmnext           
$10 = {
  op_next = 0x7f9a0000, 
  op_sibling = 0x40be0014, 
  op_ppaddr = 0x3c9f0ffe, 
  op_targ = 945815552, 
  op_type = 14468, 
  op_seq = 18156, 
  op_flags = 72 'H', 
  op_private = 5 '\005', 
  op_first = 0x3c000800, 
  op_last = 0x60000100, 
  op_pmreplroot = 0x7f9a0000, 
  op_pmreplstart = 0x40be005c, 
  op_pmnext = 0x7f83e378, 
  op_pmregexp = 0x4bff34ad, 
  op_pmflags = 31869, 
  op_pmpermflags = 7032, 
  op_pmdynflags = 127 '\177'
}

(gdb) p *pm->op_pmnext->op_pmnext
Cannot access memory at address 0x7f83e378

And my question, which I fear will be Warnocked - do we know what change
caused this bug to be fixed by 5.8.0?
Or can anyone reproduce it in 5.8.0 or later?

Nicholas Clark

[Please do not change anything below this line]
-----------------------------------------------------------------
---
Flags:
    category=core
    severity=low
---
This perlbug was built using Perl v5.8.6 - Wed May 11 11:02:38 BST 2005
It is being executed now by  Perl v5.6.2 - Sat Mar 20 21:41:05 GMT 2004.

Site configuration information for perl v5.6.2:

Configured by nick at Sat Mar 20 21:41:05 GMT 2004.

Summary of my perl5 (revision 5.0 version 6 subversion 2) configuration:
  Platform:
    osname=darwin, osvers=7.3.0, archname=darwin
    uname='darwin ship-in-a-bottle.local 7.3.0 darwin kernel version 7.3.0: fri 
mar 5 14:22:55 pst 2004; root:xnuxnu-517.3.15.obj~4release_ppc power macintosh 
powerpc '
    config_args='-Dusedevel=y -Dcc=ccache gcc -Dld=gcc -Ubincompat5005 
-Uinstallusrbinperl [EMAIL PROTECTED] [EMAIL PROTECTED] -Dinc_version_list=  
-Dinc_version_list_init=0 -Dprefix=~/Reference/5.6.2-g -Doptimize=-g 
-Uusethreads -Duse64bitint -de'
    hint=previous, useposix=true, d_sigaction=define
    usethreads=undef use5005threads=undef useithreads=undef 
usemultiplicity=undef
    useperlio=undef d_sfio=undef uselargefiles=define usesocks=undef
    use64bitint=undef use64bitall=undef uselongdouble=undef
  Compiler:
    cc='ccache gcc', ccflags ='-pipe -fno-common -DPERL_DARWIN -no-cpp-precomp 
-DDEBUGGING -fno-strict-aliasing',
    optimize='-g',
    cppflags='-pipe -fno-common -DPERL_DARWIN -no-cpp-precomp -DDEBUGGING 
-fno-strict-aliasing'
    ccversion='', gccversion='3.3 20030304 (Apple Computer, Inc. build 1495)', 
gccosandvers=''
    intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=4321
    d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=8
    ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='off_t', 
lseeksize=8
    alignbytes=8, usemymalloc=n, prototype=define
  Linker and Libraries:
    ld='env MACOSX_DEPLOYMENT_TARGET=10.3 cc', ldflags =''
    libpth=/usr/lib
    libs=-ldbm -ldl -lm -lc
    perllibs=-ldl -lm -lc
    libc=/usr/lib/libc.dylib, so=dylib, useshrplib=false, libperl=libperl.a
  Dynamic Linking:
    dlsrc=dl_dyld.xs, dlext=bundle, d_dlsymun=undef, ccdlflags=' '
    cccdlflags=' ', lddlflags=' -bundle -undefined dynamic_lookup'

Locally applied patches:
    MAINT24305

---
@INC for perl v5.6.2:
    /sw/lib/perl5/darwin
    /sw/lib/perl5
    /sw/lib/perl5/darwin
    /Users/nick/Reference/5.6.2-g/lib/perl5/5.6.2/darwin
    /Users/nick/Reference/5.6.2-g/lib/perl5/5.6.2
    /Users/nick/Reference/5.6.2-g/lib/perl5/site_perl/5.6.2/darwin
    /Users/nick/Reference/5.6.2-g/lib/perl5/site_perl/5.6.2
    /Users/nick/Reference/5.6.2-g/lib/perl5/site_perl
    .

---
Environment for perl v5.6.2:
    DYLD_LIBRARY_PATH (unset)
    HOME=/Users/nick
    LANG (unset)
    LANGUAGE (unset)
    LD_LIBRARY_PATH (unset)
    LOGDIR (unset)
    
PATH=/Users/nick/bin:/sw/bin:/sw/sbin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/X11R6/bin:/usr/local/sbin:/sbin:/usr/sbin
    PERL5LIB=/sw/lib/perl5:/sw/lib/perl5/darwin
    PERL_BADLANG (unset)
    SHELL=/bin/bash

Reply via email to