[Bug 1064271] perl-Net-SSLeay tests failing on s390(x) with glibc-2.18.90-21.fc21

bugzilla at redhat.com bugzilla at redhat.com
Fri Apr 4 08:20:30 UTC 2014


https://bugzilla.redhat.com/show_bug.cgi?id=1064271



--- Comment #34 from Andreas Krebbel <krebbel1 at de.ibm.com> ---
(In reply to Dan HorĂ¡k from comment #29)
> Thanks, Andreas, your explanation makes sense. I'm going to dig into the
> perl itself first.

To my understanding the problem is that a sigjmp_buf is embedded into the main
perl interpreter structure.

cop.h:
struct jmpenv {                                                                 
    struct jmpenv *     je_prev;                                                
    Sigjmp_buf          je_buf;         <---- jmpbuf                            
    int                 je_ret;                                           
    bool                je_mustcatch;                                    
};
typedef struct jmpenv JMPENV;

intrpvar.h:
...
PERLVAR(I, top_env,     JMPENV *)                  
PERLVAR(I, start_env,   JMPENV)        <---- !!!            
PERLVARI(I, errors,     SV *,   NULL)
...

The struct interpreter is passed to many .so's involved with perl via my_perl
argument.  In one of the examples I've debugged the problem arose from having
perl-version built with the old glibc headers and perl itself with the new
version.

So the /usr/lib64/perl5/vendor_perl/auto/version/vxs/vxs.so module coming from
perl-version used different offsets into the my_perl structure than perl
itself.

If all the required perl .so files come from RPMs rebuilding all of them at
once should help. What I don't know is whether perl .so files dealing with
struct interpreter might come in from other sources as well like CPAN?!

-- 
You are receiving this mail because:
You are on the CC list for the bug.
Unsubscribe from this bug https://bugzilla.redhat.com/token.cgi?t=ZT2tP4UcvY&a=cc_unsubscribe


More information about the perl-devel mailing list