Fwd: MySQL segmentation faults...

2003-09-19 Thread Dave Howorth
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...]

2003-09-19 Thread Dave Howorth
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