Hi folks, I'm having a hard time using bdb tables. Here are the
details...

I've create a few BDB tables, which are causing me great amounts
of grief. The tables worked fine for a while, then suddenly
started crashing mysqld. I decided to drop the offending
database, and re-create it. No problem so far. Right after
I run the offending queries (see below), mysqld dies. Any subsequent
connection attempt to mysqld hangs, and the server is basically
dead (requiring a killall -9 mysqld). There is a file called
log.0000000001 that appeared, as well as an error message (see below).

I can replicate this error quite easily, as it happens each time the
query
is run.


CREATE TABLE tblCharge (
  ChargeID int(10) unsigned DEFAULT '0' NOT NULL auto_increment,
  ServiceID int(10) unsigned DEFAULT '0' NOT NULL,
  ChargeDate date DEFAULT '0000-00-00' NOT NULL,
  ChargeAmount decimal(20,2) DEFAULT '0.00' NOT NULL,
  FedTaxes decimal(20,2) DEFAULT '0.00' NOT NULL,
  ProvTaxes decimal(20,2) DEFAULT '0.00' NOT NULL,
  ChargeStatus enum('New','Auth','Unauth','Sale','Denied','Refund')
DEFAULT 'New' NOT NULL,
  ChargeAuthorizationMessage text,
  ChargeComment text,
  ChargeTimeStamp varchar(20),
  PRIMARY KEY (ChargeID),
  KEY ServiceID (ServiceID),
  KEY ChargeDate (ChargeDate)
) type=BDB;



Query #1:
BEGIN;
INSERT INTO tblCharge
VALUES(NULL,1,CURRENT_DATE(),1,1,1,'New',NULL,NULL,UNIX_TIMESTAMP(NOW()));
COMMIT;

Query #2
BEGIN;
UPDATE tblCharge SET ChargeAuthorizationMessage = 'blablabla' WHERE
ChargeID = 1;
COMMIT;

Query #3
BEGIN;
INSERT INTO tblCharge
VALUES(NULL,1,CURRENT_DATE(),1,1,1,'New',NULL,NULL,UNIX_TIMESTAMP(NOW()));

<CRASH HERE>

ERROR 2013: Lost connection to MySQL server during query
mysql> COMMIT;
Number of processes running now: 0
010228 13:59:40  mysqld restarted

ERROR 2006: MySQL server has gone away
No connection. Trying to reconnect...
Connection id:    4
Current database: Funio

./mysqld --basedir=/usr/local/mysql --datadir=/usr/local/mysql/var \
        --user=root --pid-file=/usr/local/mysql/var/suave.pid --skip-locking
./mysqld: ready for connections
mysqld got signal 11;
The manual section 'Debugging a MySQL server' tells you how to use a
stack trace and/or the core file to produce a readable backtrace that
may
help in finding out why mysqld died
Attemping backtrace. You can use the following information to find out
where mysqld died.  If you see no messages after this, something went
terribly wrong                                


I've replicated this problem on 3 different machines, and on 3.23.33 and
3.23.32.
I had been using BDB tables for a couple weeks now in testing, without a
hitch
until the above query starting being used. I also tried to recompile
mysql
statically, with the same results.

I really hope there is an easy patch/fix to this problem, as my
development
team has just finished writing 15000 lines of code and use DBD tables
extensively throughout the application. My company has purchased a
basic license for mysql, and quite frankly this error really concerns
me.

If it was this easy to crash BDB tables and there is no quick fix, I
will
have to stop using mysql altogether throughout my company. We rely
heavily
on mysql right now, and this kind of error makes me wonder if this is
not a
mistake. Until a solution can be found, I will instruct my team to 
start porting the application to postgres, I simply can't take the
chance of using these versions of mysql in production.




Description:
        BDB tables crash very easily
How-To-Repeat:
        See above
Fix:
        no idea
 
Originator: Mark Steele
Organization:
  Mark Steele
  Vice president research and development
  Inet Technologies Inc.
  [EMAIL PROTECTED]

MySQL support: [email support]
Synopsis:      BDB tables crash
Severity:      <critical>
Priority:      <high>
Category:      mysql
Class:         <sw-bug>
Release:       mysql-3.23.32 (Source distribution)
Server: /usr/local/mysql/bin/mysqladmin  Ver 8.14 Distrib 3.23.32, for
pc-linux-gnu on i686
Copyright (C) 2000 MySQL AB & MySQL Finland AB & TCX DataKonsult AB
This software comes with ABSOLUTELY NO WARRANTY. This is free software,
and you are welcome to modify and redistribute it under the GPL license
 
Server version          3.23.32
Protocol version        10
Connection              Localhost via UNIX socket
UNIX socket             /tmp/mysql.sock
Uptime:                 1 min 12 sec
 
Threads: 1  Questions: 61  Slow queries: 0  Opens: 48  Flush tables: 1 
Open tables: 42 Queries per second avg: 0.847
Environment:
System: Linux suave 2.4.1 #11 Sat Feb 17 00:30:04 EST 2001 i686 unknown
Architecture: i686
 
Some paths:  /usr/bin/perl /usr/bin/make /usr/bin/gmake /usr/bin/gcc
/usr/bin/cc
GCC: Reading specs from
/usr/lib/gcc-lib/i386-slackware-linux/2.95.2/specs
gcc version 2.95.2 19991024 (release)
Compilation info: CC='gcc'  CFLAGS=''  CXX='c++'  CXXFLAGS='' 
LDFLAGS=''
LIBC:
lrwxrwxrwx   1 root     root           13 Feb 16 20:43 /lib/libc.so.6 ->
libc-2.2.1.so
-rwxr-xr-x   1 root     root      1008844 Sep  9  1999
/lib/libc-2.1.2.so
-rwxr-xr-x   1 root     root      4135126 May 29  2000
/lib/libc-2.1.3.so
-rwxr-xr-x   1 root     root      1128904 Jan 14 10:29
/lib/libc-2.2.1.so
-rwxr-xr-x   1 root     root      4808643 Nov 20 17:11 /lib/libc-2.2.so
-rw-r--r--   1 root     root     24076056 Nov 20 17:07 /usr/lib/libc.a
-rw-r--r--   1 root     root          178 Nov 20 17:07 /usr/lib/libc.so
Configure command: ./configure 
--prefix=/usr/local/mysql                     


Regards,

-- 
Mark Steele
Vice president research and development
Inet Technologies Inc.
[EMAIL PROTECTED]

010110010110111101110101001000000110000101110010011001010010000001100100011101010110110101100010

---------------------------------------------------------------------
Before posting, please check:
   http://www.mysql.com/manual.php   (the manual)
   http://lists.mysql.com/           (the list archive)

To request this thread, e-mail <[EMAIL PROTECTED]>
To unsubscribe, e-mail <[EMAIL PROTECTED]>
Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php

Reply via email to