libwww-perl / HTML-Parser

The HTML-Parser distribution is is a collection of modules that parse and extract information from HTML documents.
Other
6 stars 13 forks source link

HTML::HeadParser t/threads.t fails on perl 5.10.0 #28

Closed rlauer6 closed 2 years ago

rlauer6 commented 2 years ago

Trying to build HTML::HeadParser fails with seg fault on multi-thread perl 5.10.0

t/threads.t .......... Failed 1/1 subtests 
t/tokeparser.t ....... ok     
t/uentities.t ........ ok     
t/unbroken-text.t .... ok   
t/unicode-bom.t ...... ok   
t/unicode.t .......... ok       
t/xml-mode.t ......... ok   

Test Summary Report
-------------------
t/threads.t        (Wstat: 11 (Signal: SEGV) Tests: 0 Failed: 0)
  Non-zero wait status: 11
  Parse errors: Bad plan.  You planned 1 tests but ran 0.
Files=48, Tests=439,  4 wallclock secs ( 0.24 usr  0.14 sys +  3.35 cusr  0.59 csys =  4.32 CPU)
Result: FAIL
Failed 1/48 test programs. 0/439 subtests failed.
make: *** [test_dynamic] Error 255
bash-4.2# uname -a 
Linux fe1dc8c24e7a 5.10.114-16024-gbdf1547bd4f4 #1 SMP PREEMPT Thu Jun 30 18:19:44 PDT 2022 x86_64 x86_64 x86_64 GNU/Linux
Summary of my perl5 (revision 5 version 10 subversion 0) configuration:
  Platform:
    osname=linux, osvers=5.10.114-16024-gbdf1547bd4f4, archname=x86_64-linux-thread-multi
    uname='linux 0cba3c1d43bb 5.10.114-16024-gbdf1547bd4f4 #1 smp preempt thu jun 30 18:19:44 pdt 2022 x86_64 x86_64 x86_64 gnulinux '
    config_args='-des -Dusethreads -Dprefix=/opt/perl-5.10.0 -Dman1dir=none -Dman3dir=none'
    hint=recommended, useposix=true, d_sigaction=define
    useithreads=define, usemultiplicity=define
    useperlio=define, d_sfio=undef, uselargefiles=define, usesocks=undef
    use64bitint=define, use64bitall=define, uselongdouble=undef
    usemymalloc=n, bincompat5005=undef
  Compiler:
    cc='cc', ccflags ='-D_REENTRANT -D_GNU_SOURCE -fwrapv -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64',
    optimize='-O2',
    cppflags='-D_REENTRANT -D_GNU_SOURCE -fwrapv -fno-strict-aliasing -pipe -I/usr/local/include'
    ccversion='', gccversion='7.3.1 20180712 (Red Hat 7.3.1-15)', 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='double', nvsize=8, Off_t='off_t', lseeksize=8
    alignbytes=8, prototype=define
  Linker and Libraries:
    ld='cc', ldflags =' -L/usr/local/lib'
    libpth=/usr/local/lib /lib/../lib64 /usr/lib/../lib64 /lib /usr/lib /lib64 /usr/lib64 /usr/local/lib64
    libs=-lnsl -lgdbm -ldb -ldl -lm -lcrypt -lutil -lpthread -lc -lgdbm_compat
    perllibs=-lnsl -ldl -lm -lcrypt -lutil -lpthread -lc -lgdbm_compat
    libc=libc-2.26.so, so=so, useshrplib=false, libperl=libperl.a
    gnulibc_version='2.26'
  Dynamic Linking:
    dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-Wl,-E'
    cccdlflags='-fPIC', lddlflags='-shared -O2 -L/usr/local/lib'

Characteristics of this binary (from libperl): 
  Compile-time options: MULTIPLICITY PERL_DONT_CREATE_GVSV
                        PERL_IMPLICIT_CONTEXT PERL_MALLOC_WRAP USE_64_BIT_ALL
                        USE_64_BIT_INT USE_ITHREADS USE_LARGE_FILES
                        USE_PERLIO USE_REENTRANT_API
  Locally applied patches:
        Devel::PatchPerl 2.08
  Built under linux
  Compiled at Jul 22 2022 14:24:22
  @INC:
    /opt/perl-5.10.0/lib/5.10.0/x86_64-linux-thread-multi
    /opt/perl-5.10.0/lib/5.10.0
    /opt/perl-5.10.0/lib/site_perl/5.10.0/x86_64-linux-thread-multi
    /opt/perl-5.10.0/lib/site_perl/5.10.0
karenetheridge commented 2 years ago

failures on 5.10.0 sound like a "won't fix" to me. I would strongly urge you to upgrade.

rlauer6 commented 2 years ago

failures on 5.10.0 sound like a "won't fix" to me. I would strongly urge you to upgrade.

actually I'm simply testing my modules on various versions of perl...5.10.0 being the oldest I would support...I would hope most folks would upgrade as well :-)

genio commented 2 years ago

Are we ok with bumping the required Perl version to 5.14? It's not by any means bleeding edge, but it's new enough to have features we may want to use in the future. If people need HTML::Parser on older versions of Perl, they can install older versions of HTML::Parser (version pinning in your cpanfile is nice!).

rlauer6 commented 2 years ago

Are we ok with bumping the required Perl version to 5.14? It's not by any means bleeding edge, but it's new enough to have features we may want to use in the future. If people need HTML::Parser on older versions of Perl, they can install older versions of HTML::Parser (version pinning in your cpanfile is nice!).

In my case I got snagged by LWP - I do not explicitly require HTML::HeadParser - just got caught up in dependency hell

oalders commented 2 years ago

Are we ok with bumping the required Perl version to 5.14?

I don't have a problem with that.

oalders commented 2 years ago

Fixed via #31