Fwd: MySQL segmentation faults...
Jochen Wiedman asked that I post this stack trace. Please cc me on any replies, as I'm not subscribed to the list. The original problem description is at the end. Cheers, Dave Original Message Subject: Re: MySQL segmentation faults... Date: Thu, 18 Sep 2003 20:59:57 +0200 From: Jochen Wiedmann <[EMAIL PROTECTED]> To: [EMAIL PROTECTED] CC: [EMAIL PROTECTED] References: <[EMAIL PROTECTED]> <[EMAIL PROTECTED]> <[EMAIL PROTECTED]> Excellent stack trace, post this to the MySQL mailing list. It is a bug in the C driver. Jochen Dave Howorth wrote: > On the mysqlcc list Adam Hooper just wrote: > >> In general, running "strace " will give some useful output; >> it'll give developers a good idea of where the problem is. Beyond >> that, a backtrace is useful. To produce one: >> >> 1. Run gdb (gdb is available for EVERY distribution) >> 2. Type 'run' >> 3. Get a segfault. The window won't close, and gdb will pop up a >> warning of sorts. >> 4. Type 'bt' and email the output here :). > > > This seems like it might be relevant to diagnosing my > DBD::mysql::db::_login crash, so in the hope it may help ... > > The strace output is: > > open("/var/lib/mysql/my.cnf", O_RDONLY|O_LARGEFILE) = 3 > fstat64(3, {st_mode=S_IFREG|0644, st_size=48, ...}) = 0 > old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, > -1, 0) = 0x4001a000 > read(3, "# This file must exist - CAN-200"..., 4096) = 48 > read(3, "", 4096) = 0 > close(3)= 0 > munmap(0x4001a000, 4096)= 0 > open("/home/dhoworth/.my.cnf", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No > such file or directory) > --- SIGSEGV (Segmentation fault) --- > +++ killed by SIGSEGV +++ > > The gdb output is: > > Program received signal SIGSEGV, Segmentation fault. > 0x401cc030 in strcend () from /usr/lib/libmysqlclient.so.10 > (gdb) bt > #0 0x401cc030 in strcend () from /usr/lib/libmysqlclient.so.10 > #1 0x401bd922 in simple_command () from /usr/lib/libmysqlclient.so.10 > #2 0x401be31d in mysql_real_connect () from /usr/lib/libmysqlclient.so.10 > #3 0x4019ebd4 in mysql_dr_connect () >from /usr/lib/perl5/auto/DBD/mysql/mysql.so > #4 0x4019ef40 in mysql_dr_connect () >from /usr/lib/perl5/auto/DBD/mysql/mysql.so > #5 0x4019efb3 in mysql_db_login () from > /usr/lib/perl5/auto/DBD/mysql/mysql.so > #6 0x401a3114 in XS_DBD__mysql__db__login () >from /usr/lib/perl5/auto/DBD/mysql/mysql.so > #7 0x0809c70c in Perl_pp_entersub () > #8 0x08097090 in Perl_runops_standard () > #9 0x0805cdca in perl_call_sv () > #10 0x0805c981 in perl_call_sv () > #11 0x401910d1 in XS_DBI_dispatch () from /usr/lib/perl5/auto/DBI/DBI.so > #12 0x0809c70c in Perl_pp_entersub () > #13 0x08097090 in Perl_runops_standard () > #14 0x0805c565 in perl_run () > #15 0x0805c2cb in perl_run () > #16 0x08059ca0 in main () > #17 0x4005b0bf in __libc_start_main () from /lib/libc.so.6 > > HTH, Dave == Dave Howorth wrote: > I'm trying to use LOAD DATA and it is returning Warnings: 12. I can't > use SHOW WARNINGS because I'm using mysql 3.23.49 since I'm on > Debian/Woody. A search of mysql list archives showed up a Perl script > called load_diag.pl by Paul Dubois that diagnoses problems in data files > so I've downloaded that. > > Sadly, it is crashing. When I run it like this: > > ~/bin/load_diag.pl -u dhoworth attributes attributes.txt > > it reports "Segmentation fault". When I run it in the debugger it > reports "Aborted". By single-stepping, I've tracked the failure to this > call: > > DBD::mysql::dr::connect(/usr/lib/perl5/DBD/mysql.pm:131): > 131: DBD::mysql::db::_login($this, $dsn, $username, $password) > 132: or $this = undef; > > It aborts when I try to single-step into it. > > perl is v5.6.1, examining the modules shows > > # $Id: DBI.pm,v 11.7 2002/02/07 03:00:53 timbo Exp $ > $DBI::VERSION = 1.21; # ==> ALSO update the version in the pod text below! > > # $Id: dbd.pm.in,v 1.6 1999/10/21 20:05:43 joe Exp $ > $VERSION = '2.0416'; > > > I've written a small Perl program to test my installation (see below) > and that works, as does the mysql client and mysqlcc, and I'm not sure > where to look next. > > All suggestions welcome. > > Thanks, Dave > > > === > > #!/usr/bin/perl > use strict; > use warnings; > > use DBI; > > my $dsn = 'dbi:mysql:t1'; > my $user = 'dhoworth'; > my $password = ''; > > my $dbh = DBI->connect($dsn, $user, $password, > { RaiseError => 1 }); > > my $sth = $dbh->prepare('SELECT * FROM regions'); > > $sth->execute(); > > while (my @row = $sth->fetchrow_array) > { > print "@row\n"; > } -- MySQL General Mailing List For list archives: http://lists.mysql.com/mysql To unsubscribe:http://lists.mysql.com/[EMAIL PROTECTED]
[Fwd: Fwd: MySQL segmentation faults...]
Jochen Wiedman asked that I post this stack trace. Please cc me on any replies, as I'm not subscribed to the list. The original problem description is at the end. Cheers, Dave Original Message Subject: Re: MySQL segmentation faults... Date: Thu, 18 Sep 2003 20:59:57 +0200 From: Jochen Wiedmann <[EMAIL PROTECTED]> To: [EMAIL PROTECTED] CC: [EMAIL PROTECTED] References: <[EMAIL PROTECTED]> <[EMAIL PROTECTED]> <[EMAIL PROTECTED]> Excellent stack trace, post this to the MySQL mailing list. It is a bug in the C driver. Jochen Dave Howorth wrote: > On the mysqlcc list Adam Hooper just wrote: > >> In general, running "strace " will give some useful output; >> it'll give developers a good idea of where the problem is. Beyond >> that, a backtrace is useful. To produce one: >> >> 1. Run gdb (gdb is available for EVERY distribution) >> 2. Type 'run' >> 3. Get a segfault. The window won't close, and gdb will pop up a >> warning of sorts. >> 4. Type 'bt' and email the output here :). > > > This seems like it might be relevant to diagnosing my > DBD::mysql::db::_login crash, so in the hope it may help ... > > The strace output is: > > open("/var/lib/mysql/my.cnf", O_RDONLY|O_LARGEFILE) = 3 > fstat64(3, {st_mode=S_IFREG|0644, st_size=48, ...}) = 0 > old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, > -1, 0) = 0x4001a000 > read(3, "# This file must exist - CAN-200"..., 4096) = 48 > read(3, "", 4096) = 0 > close(3)= 0 > munmap(0x4001a000, 4096)= 0 > open("/home/dhoworth/.my.cnf", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No > such file or directory) > --- SIGSEGV (Segmentation fault) --- > +++ killed by SIGSEGV +++ > > The gdb output is: > > Program received signal SIGSEGV, Segmentation fault. > 0x401cc030 in strcend () from /usr/lib/libmysqlclient.so.10 > (gdb) bt > #0 0x401cc030 in strcend () from /usr/lib/libmysqlclient.so.10 > #1 0x401bd922 in simple_command () from /usr/lib/libmysqlclient.so.10 > #2 0x401be31d in mysql_real_connect () from /usr/lib/libmysqlclient.so.10 > #3 0x4019ebd4 in mysql_dr_connect () >from /usr/lib/perl5/auto/DBD/mysql/mysql.so > #4 0x4019ef40 in mysql_dr_connect () >from /usr/lib/perl5/auto/DBD/mysql/mysql.so > #5 0x4019efb3 in mysql_db_login () from > /usr/lib/perl5/auto/DBD/mysql/mysql.so > #6 0x401a3114 in XS_DBD__mysql__db__login () >from /usr/lib/perl5/auto/DBD/mysql/mysql.so > #7 0x0809c70c in Perl_pp_entersub () > #8 0x08097090 in Perl_runops_standard () > #9 0x0805cdca in perl_call_sv () > #10 0x0805c981 in perl_call_sv () > #11 0x401910d1 in XS_DBI_dispatch () from /usr/lib/perl5/auto/DBI/DBI.so > #12 0x0809c70c in Perl_pp_entersub () > #13 0x08097090 in Perl_runops_standard () > #14 0x0805c565 in perl_run () > #15 0x0805c2cb in perl_run () > #16 0x08059ca0 in main () > #17 0x4005b0bf in __libc_start_main () from /lib/libc.so.6 > > HTH, Dave == Dave Howorth wrote: > I'm trying to use LOAD DATA and it is returning Warnings: 12. I can't > use SHOW WARNINGS because I'm using mysql 3.23.49 since I'm on > Debian/Woody. A search of mysql list archives showed up a Perl script > called load_diag.pl by Paul Dubois that diagnoses problems in data files > so I've downloaded that. > > Sadly, it is crashing. When I run it like this: > > ~/bin/load_diag.pl -u dhoworth attributes attributes.txt > > it reports "Segmentation fault". When I run it in the debugger it > reports "Aborted". By single-stepping, I've tracked the failure to this > call: > > DBD::mysql::dr::connect(/usr/lib/perl5/DBD/mysql.pm:131): > 131: DBD::mysql::db::_login($this, $dsn, $username, $password) > 132: or $this = undef; > > It aborts when I try to single-step into it. > > perl is v5.6.1, examining the modules shows > > # $Id: DBI.pm,v 11.7 2002/02/07 03:00:53 timbo Exp $ > $DBI::VERSION = 1.21; # ==> ALSO update the version in the pod text below! > > # $Id: dbd.pm.in,v 1.6 1999/10/21 20:05:43 joe Exp $ > $VERSION = '2.0416'; > > > I've written a small Perl program to test my installation (see below) > and that works, as does the mysql client and mysqlcc, and I'm not sure > where to look next. > > All suggestions welcome. > > Thanks, Dave > > > === > > #!/usr/bin/perl > use strict; > use warnings; > > use DBI; > > my $dsn = 'dbi:mysql:t1'; > my $user = 'dhoworth'; > my $password = ''; > > my $dbh = DBI->connect($dsn, $user, $password, > { RaiseError => 1 }); > > my $sth = $dbh->prepare('SELECT * FROM regions'); > > $sth->execute(); > > while (my @row = $sth->fetchrow_array) > { > print "@row\n"; > } -- Dave Howorth MRC Centre for Protein Engineering Hills Road, Cambridge, CB2 2QH 01223 252960 -- MySQL General Mailing List For list archives: http://lists.mysql.com/mysql To unsubscribe:h