develooper Front page | perl.perl5.porters | Postings from May 2015

[perl #125236] 5.22.0 documentation request: How to debug "handshake key" errors

Thread Previous
From:
perlbug-followup
Date:
May 22, 2015 15:45
Subject:
[perl #125236] 5.22.0 documentation request: How to debug "handshake key" errors
Message ID:
rt-4.0.18-5440-1432309538-672.125236-75-0@perl.org
# New Ticket Created by  (Andreas J. Koenig) 
# Please include the string:  [perl #125236]
# in the subject line of all future correspondence about this issue. 
# <URL: https://rt.perl.org/Ticket/Display.html?id=125236 >


>From smoker report
http://www.cpantesters.org/cpan/report/3133bbca-ba7e-11e4-92d3-0eaa8971dd2f :

  pegex_parser_t_c4f8477.c: loadable library and perl binaries are mismatched (got handshake key 0xd800000, needed 0xd700000)

In total my smokers produced 13 fail reports with this error between
v5.21.9-18-g0f9d53b and v5.22.0-RC1 on eight different distros. It's
very likely that there were my own mistakes involved but at least I
could reproduce one case and would like to find out which mistake it
was.

It is not a showstopper but a documentation request for 5.22.1.

The following description in perldiag is not deemed helpful enough,
especially in the case when reinstalling the XS module does not fix the
error:

    %s: loadable library and perl binaries are mismatched (got handshake key
    %p, needed %p)
        (P) A dynamic loading library ".so" or ".dll" was being loaded into
        the process that was built against a different build of perl than the
        said library was compiled against. Reinstalling the XS module will
        likely fix this error.

Can some guidance be added how to proceed if it happens?
-- 
andreas

P.S. the above perldiag comes from 

Summary of my perl5 (revision 5 version 22 subversion 0) configuration:
  Commit id: 6378109479f5b474e8205c8478f484b209078772
  Platform:
    osname=linux, osvers=4.0.0-1-amd64, archname=x86_64-linux
    uname='linux k83 4.0.0-1-amd64 #1 smp debian 4.0.2-1 (2015-05-11) x86_64 gnulinux '
    config_args='-Dprefix=/home/sand/src/perl/repoperls/installed-perls/perl/v5.22.0-RC2/165a -Dmyhostname=k83 -Dinstallusrbinperl=n -Uversiononly -Dusedevel -des -Ui_db -Uuseithreads -Uuselongdouble -DDEBUGGING=-g'
    hint=recommended, useposix=true, d_sigaction=define
    useithreads=undef, usemultiplicity=undef
    use64bitint=define, use64bitall=define, uselongdouble=undef
    usemymalloc=n, bincompat5005=undef
  Compiler:
    cc='cc', ccflags ='-fwrapv -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_FORTIFY_SOURCE=2',
    optimize='-O2 -g',
    cppflags='-fwrapv -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include'
    ccversion='', gccversion='4.9.2', gccosandvers=''
    intsize=4, longsize=8, ptrsize=8, doublesize=8, byteorder=12345678, doublekind=3
    d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=16, longdblkind=3
    ivtype='long', ivsize=8, nvtype='double', nvsize=8, Off_t='off_t', lseeksize=8
    alignbytes=8, prototype=define
  Linker and Libraries:
    ld='cc', ldflags =' -fstack-protector-strong -L/usr/local/lib'
    libpth=/usr/local/lib /usr/lib/gcc/x86_64-linux-gnu/4.9/include-fixed /usr/include/x86_64-linux-gnu /usr/lib /lib/x86_64-linux-gnu /lib/../lib /usr/lib/x86_64-linux-gnu /usr/lib/../lib /lib
    libs=-lpthread -lnsl -lgdbm -ldb -ldl -lm -lcrypt -lutil -lc -lgdbm_compat
    perllibs=-lpthread -lnsl -ldl -lm -lcrypt -lutil -lc
    libc=libc-2.19.so, so=so, useshrplib=false, libperl=libperl.a
    gnulibc_version='2.19'
  Dynamic Linking:
    dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-Wl,-E'
    cccdlflags='-fPIC', lddlflags='-shared -O2 -g -L/usr/local/lib -fstack-protector-strong'


Characteristics of this binary (from libperl): 
  Compile-time options: HAS_TIMES PERLIO_LAYERS PERL_DONT_CREATE_GVSV
                        PERL_HASH_FUNC_ONE_AT_A_TIME_HARD PERL_MALLOC_WRAP
                        PERL_NEW_COPY_ON_WRITE PERL_PRESERVE_IVUV
                        PERL_USE_DEVEL USE_64_BIT_ALL USE_64_BIT_INT
                        USE_LARGE_FILES USE_LOCALE USE_LOCALE_COLLATE
                        USE_LOCALE_CTYPE USE_LOCALE_NUMERIC USE_LOCALE_TIME
                        USE_PERLIO USE_PERL_ATOF
  Locally applied patches:
        RC2
  Built under linux
  Compiled at May 22 2015 01:09:33


Thread Previous


nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About