develooper Front page | perl.perl5.porters | Postings from November 2000

[ID 20001112.005] bleadperl/perlio vsprintf dumps core on LinuxPPC

Thread Next
Dominic Dunlop
November 12, 2000 13:29
[ID 20001112.005] bleadperl/perlio vsprintf dumps core on LinuxPPC
Message ID:
This with perl@7638 built with -Dperlio (which makes it too sick to run perlbug):

Many tests fail before or soon after starting by dumping core.  The backtraces look like:

#0  0x1012f724 in PerlIO_vprintf (f=0x10164d00, fmt=0x1014053c "%ld", 
    ap=0x7ffff730) at perlio.c:2161
2161	 s = SvPV(sv,len);
(gdb) bt
#0  0x1012f724 in PerlIO_vprintf (f=0x10164d00, fmt=0x1014053c "%ld", 
    ap=0x7ffff730) at perlio.c:2161
#1  0x1012f83c in PerlIO_printf (f=0x10164d00, fmt=0x1014053c "%ld")
    at perlio.c:2172
#2  0x1011018c in Perl_do_print (sv=0x10179c50, fp=0x10164d00) at doio.c:1192
#3  0x10096050 in Perl_pp_print () at pp_hot.c:461
#4  0x10092efc in Perl_runops_debug () at run.c:56
#5  0x1001752c in S_run_body (oldscope=1) at perl.c:1452
#6  0x10016f48 in perl_run (my_perl=0x1015d6a8) at perl.c:1372
#7  0x10012a54 in main (argc=2, argv=0x7ffffa74, env=0x7ffffa80)
    at perlmain.c:52

That makes a compile warning about incompatible pointer types for ap on this line

 sv_vcatpvf(sv, fmt, &ap);

of Perlio_vprintf() look highly suspicious, but I have yet to work 
out the fix. (And I didn't make a copy of the exact warning before 
shutting down Linux.  Sorry about that.)  Interestingly, I don't see 
the warning on MachTen, which sports an older gcc, and passes all 
tests with perlio.

Summary of my perl5 (revision 5.0 version 7 subversion 0) configuration:
    osname=linux, osvers=2.2.17, archname=ppc-linux
    uname='linux 2.2.17 #1 fri sep 8 12:04:50 edt 2000 ppc unknown '
    config_args='-de -Duseperlio -Dusedevel -Doptimize=-g'
    hint=recommended, useposix=true, d_sigaction=define
    usethreads=undef use5005threads=undef useithreads=undef usemultiplicity=undef
    useperlio=define d_sfio=undef uselargefiles=define usesocks=undef
    use64bitint=undef use64bitall=undef uselongdouble=undef
    cc='cc', ccflags ='-DDEBUGGING -fno-strict-aliasing -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64',
    cppflags='-DDEBUGGING -fno-strict-aliasing'
    ccversion='', gccversion='2.95.2 19991024 (release/franzo)', 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='cc', ldflags =' -L/usr/local/lib'
    libpth=/usr/local/lib /lib /usr/lib
    libs=-lnsl -lndbm -lgdbm -ldb -ldl -lm -lc -lposix -lcrypt -lutil
    perllibs=-lnsl -ldl -lm -lc -lposix -lcrypt -lutil
    libc=/lib/, so=so, useshrplib=false, libperl=libperl.a
  Dynamic Linking:
    dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-rdynamic'
    cccdlflags='-fpic', lddlflags='-shared -L/usr/local/lib'

Thread Next Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at | Group listing | About