https://bugzilla.redhat.com/show_bug.cgi?id=1064271
--- Comment #34 from Andreas Krebbel <krebbel1(a)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