Skip Menu |

This queue is for tickets about the Audio-Scan CPAN distribution.

Report information
The Basics
Id: 53118
Status: resolved
Priority: 0/
Queue: Audio-Scan

People
Owner: Nobody in particular
Requestors: ANDK [...] cpan.org
Cc:
AdminCc:

Bug Information
Severity: Normal
Broken in: 0.56
Fixed in: (no value)



Subject: SEGV during test
In case it helps I collected a coredump and gave it to gdb. This happened during make test in the 05mp3.t:

Program terminated with signal 11, Segmentation fault.
#0  0x00007f1d32f794e1 in parse_id3 (infile=0x28a9f58,
    file=0x2c3eac0 "/home/sand/.cpan/build/Audio-Scan-0.56-lXF2Mn/t/mp3/v2.2-multiple-comm.mp3", info=0x2c33bb8, tags=0x2c3ab10, seek=0) at src/id3.c:518
518                     if ( first == NULL || ( SvTYPE(*first) == SVt_RV && SvTYPE( SvRV(*first) ) == SVt_PVAV ) ) {



Let me know if you need further info. Ah yes:

Summary of my perl5 (revision 5 version 11 subversion 3) configuration:
  Commit id: c670e63af2af3c154935c36a0c6fb77f614af0bd
  Platform:
    osname=linux, osvers=2.6.30-1-amd64, archname=x86_64-linux-ld
    uname='linux k81 2.6.30-1-amd64 #1 smp sat aug 15 18:09:19 utc 2009 x86_64 gnulinux '
    config_args='-Dprefix=/home/src/perl/repoperls/installed-perls/perl/v5.11.3-7-gc670e63 -Dinstallusrbinperl=n -Uversiononly -Dusedevel -Duselongdouble -Doptimize=-g -des -Ui_db'
    hint=recommended, useposix=true, d_sigaction=define
    useithreads=undef, usemultiplicity=undef
    useperlio=define, d_sfio=undef, uselargefiles=define, usesocks=undef
    use64bitint=define, use64bitall=define, uselongdouble=define
    usemymalloc=n, bincompat5005=undef
  Compiler:
    cc='cc', ccflags ='-DDEBUGGING -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64',
    optimize='-g',
    cppflags='-DDEBUGGING -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include'
    ccversion='', gccversion='4.3.4', gccosandvers=''
    intsize=4, longsize=8, ptrsize=8, doublesize=8, byteorder=12345678
    d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=16
    ivtype='long', ivsize=8, nvtype='long double', nvsize=16, Off_t='off_t', lseeksize=8
    alignbytes=16, prototype=define
  Linker and Libraries:
    ld='cc', ldflags =' -fstack-protector -L/usr/local/lib'
    libpth=/usr/local/lib /lib /usr/lib /lib64 /usr/lib64
    libs=-lnsl -lgdbm -ldb -ldl -lm -lcrypt -lutil -lc -lgdbm_compat
    perllibs=-lnsl -ldl -lm -lcrypt -lutil -lc
    libc=/lib/libc-2.10.2.so, so=so, useshrplib=false, libperl=libperl.a
    gnulibc_version='2.10.2'
  Dynamic Linking:
    dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-Wl,-E'
    cccdlflags='-fPIC', lddlflags='-shared -g -L/usr/local/lib -fstack-protector'


Characteristics of this binary (from libperl):
  Compile-time options: DEBUGGING PERL_DONT_CREATE_GVSV PERL_MALLOC_WRAP
                        PERL_USE_DEVEL USE_64_BIT_ALL USE_64_BIT_INT
                        USE_LARGE_FILES USE_LONG_DOUBLE USE_PERLIO
  Built under linux
  Compiled at Dec 27 2009 08:25:21
  %ENV:
    PERL5LIB=""
    PERL5OPT=""
    PERL5_CPANPLUS_IS_RUNNING="30953"
    PERL5_CPAN_IS_RUNNING="30953"
  @INC:
    /home/src/perl/repoperls/installed-perls/perl/v5.11.3-7-gc670e63/lib/site_perl/5.11.3/x86_64-linux-ld
    /home/src/perl/repoperls/installed-perls/perl/v5.11.3-7-gc670e63/lib/site_perl/5.11.3
    /home/src/perl/repoperls/installed-perls/perl/v5.11.3-7-gc670e63/lib/5.11.3/x86_64-linux-ld
    /home/src/perl/repoperls/installed-perls/perl/v5.11.3-7-gc670e63/lib/5.11.3
    .


HTH
 Thanks, I actually managed to trace this down as well, it only occurs under 5.11.  I suspect some sort of 5.11 bug but I was unable to produce a simple test case that reproduced the problem. :(
At least for me there is no simple testcase needed. I do bisect with CPAN modules frequently. The bisect pinpoints this commit:

4df7f6afd80e96d28fd18bba9dda8b38b6ed6700 is first bad commit             
commit 4df7f6afd80e96d28fd18bba9dda8b38b6ed6700
Author: Nicholas Clark <nick@ccl4.org>
Date:   Wed Dec 26 17:03:56 2007 +0000

    Eliminate SVt_RV, and use SVt_IV to store plain references.
    This frees up a scalar type for first class regular expressions.
   
    p4raw-id: //depot/perl@32734

Is this enogh for you to resolve the problem? I'm refraining from filing a report against blead for now and leave it up to you to do so.

Best,

Ah cool, but I'm not familiar with how to view that change, is there a link to a web view?
http://github.com/github/perl/commit/4df7f6afd80e96d28fd18bba9dda8b38b6ed6700

Funny, that was something I had to lookup because I'm not familiar with it:) Once you are there I'm sure you'll find a pod/perlrepository.pod and an uptodate pod/perlhack.pod
Fixed! Switched to using SvROK instead of checking SVt_RV