Re: BDB tables crashing mysql 3.23.33

2001-03-02 Thread Michael Widenius


Hi!

 "Sasha" == Sasha Pachev [EMAIL PROTECTED] writes:

cut

Sasha I do have a patch for it now. From what I understood in the code, this is 
Sasha actually a more correct way to do things, but I would like to get Monty's 
Sasha approval to be sure. After the patch, MySQL still passes our test suite, 
Sasha which is a good sign. So if you are in dire straits, go ahead and apply it, 
Sasha otherwise, wait until 3.23.34 - if there is something wrong with the current 
Sasha fix, it will be corrected by then. Here it is:

Sasha --- 1.33/sql/field.cc   Wed Feb  7 19:43:54 2001
Sasha +++ 1.34/sql/field.cc   Thu Mar  1 11:49:05 2001
Sasha @@ -4075,8 +4075,8 @@
Sasha  const char *Field_blob::unpack(char *to, const char *from)
Sasha  {
Sashamemcpy(to,from,packlength);
Sasha +  ulong length=get_length(from);
Sashafrom+=packlength;
Sasha -  ulong length=get_length();
Sashaif (length)
Sasha  memcpy_fixed(to+packlength, from, sizeof(from));
Sashaelse 

Looks ok.  Thanks for fixing this!

Regards,
Monty

-
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




Re: BDB tables crashing mysql 3.23.33

2001-03-01 Thread Sinisa Milivojevic

[EMAIL PROTECTED] writes:
  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.01 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 '-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 version10
  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 

Re: BDB tables crashing mysql 3.23.33

2001-03-01 Thread Sasha Pachev

On Wednesday 28 February 2001 22:04, [EMAIL PROTECTED] wrote:
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.01 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 '-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

Thanks for reporting the bug - I have been able to repeat it, and am now 
trying to figure out what is happening. Unfortunately, Tim and Monty, who are 
the ones working on BDB code are not going to be available for a couple of 
days, and since I do not know that code as well, it would take me some time 
to understand how things work ( which I need to do anyway, and now is a good 
chance) before I can provide a fix.

Please note that our BDB tables have not yet received nearly as much of the 
"baptism of fire" as MyISAM. We will however, fix all the reported bugs 
promptly.

-- 
MySQL Development Team
   __  ___ ___   __ 
  /  |/  /_ __/ __/ __ \/ /   Sasha Pachev [EMAIL PROTECTED]
 / /|_/ / // /\ \/ /_/ / /__  MySQL AB, http://www.mysql.com/
/_/  /_/\_, /___/\___\_\___/  Provo, Utah, USA
   ___/  

-
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




Re: BDB tables crashing mysql 3.23.33

2001-03-01 Thread Sasha Pachev

On Wednesday 28 February 2001 22:04, [EMAIL PROTECTED] wrote:
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.01 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 '-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

Quick update on this bug - if you change ChargeAuthorizationMessage and 
ChargeComment to varchar(255) the bug does not happen. In other words, the 
offender is the text field.

-- 
MySQL Development Team
   __  ___ ___   __ 
  /  |/  /_ __/ __/ __ \/ /   Sasha Pachev [EMAIL PROTECTED]
 / /|_/ / // /\ \/ /_/ / /__  MySQL AB, http://www.mysql.com/
/_/  /_/\_, /___/\___\_\___/  Provo, Utah, USA
   ___/  

-
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




Re: BDB tables crashing mysql 3.23.33

2001-03-01 Thread Sasha Pachev

On Thursday 01 March 2001 13:32, Quentin Bennett wrote:
cut

After the patch, MySQL still passes our test suite, which is a good sign. 

/cut

But how come it passed the test suite with the bug in place ?? ;-)

It does not any more, with the bug not fixed, that is. We update the test 
suite every time we find a new bug.

-- 
MySQL Development Team
   __  ___ ___   __ 
  /  |/  /_ __/ __/ __ \/ /   Sasha Pachev [EMAIL PROTECTED]
 / /|_/ / // /\ \/ /_/ / /__  MySQL AB, http://www.mysql.com/
/_/  /_/\_, /___/\___\_\___/  Provo, Utah, USA
   ___/  

-
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