Summary -------- I have a MySQL bug, or some bug in some lib that MySQL uses, manifesting itself on my Ti PowerBook running Debian testing. What I need to know is if anyone else can duplicate this and how do I go about reporting this bug. I dont know if the bug is in MySQL or a Debian library perhaps ppl here can help me narrow it down.
Details -------- I have been trying to install a major application on my TiPBook and the install script kept seg faulting. All works fine on an Intel server. I narrowed it down and have this little program below that replicates the error.
The program below works fine on an Athlon running Debian STABLE.
MySQL Version: 3.23.49-8
Its output is this:
mikel$ ./mysql.test
Available drivers....
ADO, CSV, ExampleP, File, Multiplex, Proxy, mysql
Trying to connect to database...
connected ok
Testing a select..
There are 10 users in the mysql.user table.
mikel$On my TiPBook with Debian TESTING
MySQL Version: 4.0.16-2
Output is this:
mikel$ ./mysql.test
Available drivers....
ADO, CSV, ExampleP, File, Multiplex, Proxy, mysql
Trying to connect to database...
Segmentation fault
mikel$
The script mysql.test: ---------------------------------------- #!/usr/bin/perl -w
# Test to replicate a seg fault with mysql on Debian testing # use strict; use DBI;
print "Available drivers....\n";
my @available= DBI->available_drivers;
print join(", ", @available), "\n\n";print "Trying to connect to database...\n";
my $dbh = DBI->connect('dbi:mysql:mysql',
'root', 'YourPassword',
{ RaiseError => 1, AutoCommit => 1 })
or die "Can't connect";# seg fault occurs before here !!!!
print "connected ok\n";
print "Testing a select..\n";
{
my $query = $dbh->prepare("SELECT * FROM user;") or die "Can't
prepare";
my $result = $query->execute;
my $nusers = $query->rows;
print "There are $nusers users in the mysql.user table.\n";
}$dbh->disconnect() or die "Cannot disconnect\n"; ---------------------------------------------------
Running strace --------------- If I run "strace perl mysql.test" I get this at the end.
setsockopt(3, SOL_SOCKET, SO_KEEPALIVE, [1], 4) = 0
read(3, "+\0\0\0", 4) = 4
read(3, "\n4.0.16-log\0\7\0\0\0#&4p\\Y*e\0,\0\10\2\0\0\0"..., 43) = 43
open("/usr/share/libmysqlclient/charsets/Index", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory)
write(3, "\30\0\0\1\217 [EMAIL PROTECTED]", 28) = 28
read(3, "\3\0\0\2", 4) = 4
read(3, "\0\0\0", 3) = 3
--- SIGSEGV (Segmentation fault) @ 0 (0) ---
+++ killed by SIGSEGV +++
mikel$
The above is gobblygook to me but might be useful to those with insight at this level down.
Searching on Google
--------------------
I have found via google ONE thread that refers to this problem.
(I created the perl script based on the one in this thread)
RE: Bug#221811: libdbd-odbc-perl: hangs with a "prepare" statement
* From: Jeff Urlwin
* Subject: RE: Bug#221811: libdbd-odbc-perl: hangs with a "prepare" statement
* Date: Thu, 20 Nov 2003 07:14:18 -0800
But there was no follow up later than this :-(
Any help or pointers are appreciated.
-- Mike Lake Caver, Linux enthusiast and interested in anything technical.
-- SLUG - Sydney Linux User's Group Mailing List - http://slug.org.au/ Subscription info and FAQs: http://slug.org.au/faq/mailinglists.html
