4 messages in com.mysql.lists.perlperl 5.8.0 with threads on solaris fa...
FromSent OnAttachments
Marc Prewitt28 Feb 2003 14:37 
Jochen Wiedmann02 Mar 2003 08:01 
Marc Prewitt03 Mar 2003 09:41 
Marc D Prewitt04 Mar 2003 05:42 
Subject:perl 5.8.0 with threads on solaris failure w/mysql 3.23.55
From:Marc Prewitt (mpre@wssource.com)
Date:02/28/2003 02:37:52 PM
List:com.mysql.lists.perl

When using a threaded version of perl, I'm getting a segmentation fault when I run any of the tests. I've tested this with the 5.8.0 w/out threads and the tests pass fine.

Here's a trace of the fault:

bohemia /home/src/siteperl/.cpan/5.8.0t/build/DBD-mysql-2.1025 !# gdb /opt/perl/5.8.0t/bin/perl core GNU gdb 5.2.1 Copyright 2002 Free Software Foundation, Inc. GDB is free software, covered by the GNU General Public License, and you are welcome to change it and/or distribute copies of it under certain conditions. Type "show copying" to see the conditions. There is absolutely no warranty for GDB. Type "show warranty" for details. This GDB was configured as "sparc-sun-solaris2.8"... Core was generated by `/opt/perl/5.8.0t/bin/perl t/00base.t'. Program terminated with signal 11, Segmentation fault. Reading symbols from /usr/lib/libsocket.so.1...done. Loaded symbols for /usr/lib/libsocket.so.1 Reading symbols from /usr/lib/libnsl.so.1...done. Loaded symbols for /usr/lib/libnsl.so.1 Reading symbols from /usr/lib/libdl.so.1...done. Loaded symbols for /usr/lib/libdl.so.1 Reading symbols from /usr/lib/libm.so.1...done. Loaded symbols for /usr/lib/libm.so.1 Reading symbols from /usr/lib/librt.so.1...done. Loaded symbols for /usr/lib/librt.so.1 Reading symbols from /usr/lib/libpthread.so.1...done. Loaded symbols for /usr/lib/libpthread.so.1 Reading symbols from /usr/lib/libc.so.1...done. Loaded symbols for /usr/lib/libc.so.1 Reading symbols from /usr/lib/libmp.so.2...done. Loaded symbols for /usr/lib/libmp.so.2 Reading symbols from /usr/lib/libaio.so.1...done. Loaded symbols for /usr/lib/libaio.so.1 Reading symbols from /usr/platform/SUNW,Sun-Blade-1000/lib/libc_psr.so.1...done. Loaded symbols for /usr/platform/SUNW,Sun-Blade-1000/lib/libc_psr.so.1 Reading symbols from /usr/lib/libthread.so.1...done. Loaded symbols for /usr/lib/libthread.so.1 Reading symbols from /opt/siteperl/5.8.0/lib/site_perl/5.8.0/sun4-solaris-thread-multi-64int/auto/DB I/DBI.so...done. Loaded symbols for /opt/siteperl/5.8.0/lib/site_perl/5.8.0/sun4-solaris-thread-multi-64int/auto/DBI/ DBI.so Reading symbols from /opt/siteperl/5.8.0/lib/site_perl/5.8.0/sun4-solaris-thread-multi-64int/auto/DB D/mysql/mysql.so...done. Loaded symbols for /opt/siteperl/5.8.0/lib/site_perl/5.8.0/sun4-solaris-thread-multi-64int/auto/DBD/ mysql/mysql.so Reading symbols from /usr/local/lib/mysql/libmysqlclient.so.10...done. Loaded symbols for /usr/local/lib/mysql/libmysqlclient.so.10 Reading symbols from /usr/local/lib/libz.so...done. Loaded symbols for /usr/local/lib/libz.so Reading symbols from /usr/lib/libcrypt_i.so.1...done. Loaded symbols for /usr/lib/libcrypt_i.so.1 Reading symbols from /usr/lib/libgen.so.1...done. Loaded symbols for /usr/lib/libgen.so.1 Reading symbols from /usr/lib/libgcc_s.so.1...done. Loaded symbols for /usr/lib/libgcc_s.so.1 #0 0xff029f34 in XS_DBD__mysql__dr_discon_all_ () from /opt/siteperl/5.8.0/lib/site_perl/5.8.0/sun4-solaris-thread-multi-64int/auto/DBD/mysql/mysql .so (gdb) bt #0 0xff029f34 in XS_DBD__mysql__dr_discon_all_ () from /opt/siteperl/5.8.0/lib/site_perl/5.8.0/sun4-solaris-thread-multi-64int/auto/DBD/mysql/mysql .so #1 0xff05dc04 in XS_DBI_dispatch () from /opt/siteperl/5.8.0/lib/site_perl/5.8.0/sun4-solaris-thread-multi-64int/auto/DBI/DBI.so #2 0x00082674 in Perl_pp_entersub () #3 0x0007aa94 in Perl_runops_standard () #4 0x00029dec in S_call_body () #5 0x00029b34 in Perl_call_sv () #6 0x0002d2d0 in S_call_list_body () #7 0x0002cea0 in Perl_call_list () #8 0x00026de0 in perl_destruct () #9 0x00025c30 in main ()

It's happening after the 'exit 0' in t/00base.t. It also happens in every other test script as the script tries to do a dbi login. Here's a sample from t/40listfields.t

Loaded symbols for /usr/lib/libgcc_s.so.1 #0 0xff02a220 in XS_DBD__mysql__db__login () from /opt/siteperl/5.8.0/lib/site_perl/5.8.0/sun4-solaris-thread-multi-64int/auto/DBD/mysql/mysql .so (gdb) bt #0 0xff02a220 in XS_DBD__mysql__db__login () from /opt/siteperl/5.8.0/lib/site_perl/5.8.0/sun4-solaris-thread-multi-64int/auto/DBD/mysql/mysql .so #1 0x00082674 in Perl_pp_entersub () #2 0x0007aa94 in Perl_runops_standard () #3 0x00029dec in S_call_body () #4 0x000298c8 in Perl_call_sv () #5 0xff05de28 in XS_DBI_dispatch () from /opt/siteperl/5.8.0/lib/site_perl/5.8.0/sun4-solaris-thread-multi-64int/auto/DBI/DBI.so #6 0x00082674 in Perl_pp_entersub () #7 0x0007aa94 in Perl_runops_standard () #8 0x0002933c in S_run_body () #9 0x00028fac in perl_run () #10 0x00025c24 in main ()

I'm at the end of my debugging abilities in this arena. Any suggestions?