[Date Prev][Date Next]
[Chronological]
[Thread]
[Top]
"back-perl" plugin and "external" Perl modules (ITS#3371)
Full_Name: Alain Knaff
Version: 2.2.6 and 2.2.17
OS: SuSE Linux 9.1
URL: ftp://ftp.openldap.org/incoming/
Submission from: (NULL) (83.99.53.91)
When calling external Perl modules (such as DBI, IPC::Open2, or even
IO::Socket::INET) from a back-perl module, openldap segfaults.
The behavior has been observed with the following perl modules:
DBI & DBD::MySql => as soon as I do a $sth->execute
IPC::Open2 => as soon as I do open2
IO::Socket::INET => as soon as I do new IO::Socket::INET(...)
Even some builtin Perl functions, such as open with pipe
(open($fd,"/bin/ls|")) show a similar problem.
Suspecting yet another screwup by SuSE, I downloaded openldap 2.2.17
source directly from www.openldap.org, and compiled it myself, but the
problem also occurs with the newer, un-SuSE-fied version (2.2.17).
Below is a gdb stacktrace when the problem happens (in this case
triggered by a new IO::Socket::INET)
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 32771 (LWP 16035)]
0x401f4747 in PerlIO_default_layers ()
from /usr/lib/perl5/5.8.3/i586-linux-thread-multi/CORE/libperl.so
(gdb)
(gdb) bt
#0 0x401f4747 in PerlIO_default_layers ()
from /usr/lib/perl5/5.8.3/i586-linux-thread-multi/CORE/libperl.so
#1 0x401f6fe5 in PerlIO_resolve_layers ()
from /usr/lib/perl5/5.8.3/i586-linux-thread-multi/CORE/libperl.so
#2 0x401f67ea in PerlIO_openn ()
from /usr/lib/perl5/5.8.3/i586-linux-thread-multi/CORE/libperl.so
#3 0x401f6c3c in PerlIO_fdopen ()
from /usr/lib/perl5/5.8.3/i586-linux-thread-multi/CORE/libperl.so
#4 0x401cbd1e in Perl_pp_socket ()
from /usr/lib/perl5/5.8.3/i586-linux-thread-multi/CORE/libperl.so
#5 0x40185709 in Perl_runops_standard ()
from /usr/lib/perl5/5.8.3/i586-linux-thread-multi/CORE/libperl.so
#6 0x401b723f in S_docatch ()
from /usr/lib/perl5/5.8.3/i586-linux-thread-multi/CORE/libperl.so
#7 0x40185709 in Perl_runops_standard ()
from /usr/lib/perl5/5.8.3/i586-linux-thread-multi/CORE/libperl.so
#8 0x401248f9 in S_call_body ()
from /usr/lib/perl5/5.8.3/i586-linux-thread-multi/CORE/libperl.so
#9 0x4012540c in Perl_call_sv ()
from /usr/lib/perl5/5.8.3/i586-linux-thread-multi/CORE/libperl.so
#10 0x40125fd4 in Perl_call_method ()
from /usr/lib/perl5/5.8.3/i586-linux-thread-multi/CORE/libperl.so
#11 0x080c00b8 in perl_back_search (op=0x83a7d38, rs=0xbf5ff8b4) at
search.c:60
#12 0x0806abc9 in do_search (op=0x83a7d38, rs=0xbf5ff8b4) at search.c:412
#13 0x0806974f in connection_operation (ctx=0xbf5ff934, arg_v=0x83a7d38)
at connection.c:1079
#14 0x080fc81c in ldap_int_thread_pool_wrapper (xpool=0x816b9b8) at
tpool.c:467
#15 0x40265201 in pthread_start_thread () from /lib/libpthread.so.0
#16 0x4026527f in pthread_start_thread_event () from /lib/libpthread.so.0
#17 0x40517ffa in clone () from /lib/libc.so.6