| List: | General Discussion | « Previous MessageNext Message » | |
| From: | Michael Widenius | Date: | November 29 1999 7:12pm |
| Subject: | Re: ERROR 2013 at line 1960: Lost connection to MySQL server during query on Linux SMP | ||
| View as plain text | |||
>>>>> "Jim" == Jim Faucette <jimf@stripped> writes: Jim> Van wrote: >> >> Actually, my apologies. I don't recall submitting the table structure. >> Thanks for the continued interest in this. >> bash$ mysql cdarchive -e 'describe cd' >> +------------+------------+------+-----+---------+-------+ >> | Field | Type | Null | Key | Default | Extra | >> +------------+------------+------+-----+---------+-------+ >> | cdname | char(8) | | MUL | | | >> | datemod | char(8) | | | | | >> | timemod | char(8) | | | | | >> | size | bigint(21) | | | 0 | | >> | user | char(8) | | | | | >> | groupowned | char(10) | | | | | >> | perms | char(4) | | | | | >> | fullname | char(255) | | MUL | | | >> | filename | char(255) | | | | | >> +------------+------------+------+-----+---------+-------+ >> >> Yes, it does. I don't actually need the bigint (could be int, >> actually), but the nature of this database is to assist in filesystem >> library management once Linux files grow beyond 2 Gbytes natively. Jim> We had a similar problem (and changed to an int) on FreeBSD. When a Jim> BIGINT value exceeds some point mysqld core dumps on: Jim> mysql somedb < somedumpfile Jim> This consistantly happens with 0xFFFFFFFFFFFFFFFF. Here's the gdb Jim> output: Jim> Program terminated with signal 8, Floating point exception. Jim> #0 0x80c6691 in __fixunsdfdi () Jim> (gdb) where Jim> #0 0x80c6691 in __fixunsdfdi () Jim> #1 0x8063c57 in Field_longlong::store () Jim> #2 0x804c2ed in Item_real::save_in_field () Jim> #3 0x80838a3 in fill_record () Jim> #4 0x8090a35 in mysql_insert () Jim> #5 0x807460e in mysql_execute_command () Jim> #6 0x80756b5 in mysql_parse () Jim> #7 0x8073860 in do_command () Jim> #8 0x80733d3 in handle_one_connection () Jim> #9 0x2810e636 in _thread_start () Jim> See if there's a mysqld.core file in /usr/local/var (or where ever your Jim> DB files are located). Jim> jim... Hi! Thanks Jim for the extra information; Here is a TESTED patch for the problem with bigint on FreeBSD. (The patch should work for 3.22 too) *** /my/monty/master/mysql-3.23.6-alpha/sql/field.cc Sun Nov 14 00:02:10 1999 --- ./field.cc Mon Nov 29 21:08:27 1999 *************** *** 1518,1524 **** res=0; current_thd->cuted_fields++; } ! else if (nr > (double) ~ (ulonglong) 0) { res= ~(longlong) 0; current_thd->cuted_fields++; --- 1518,1524 ---- res=0; current_thd->cuted_fields++; } ! else if (nr >= (double) ~ (ulonglong) 0) { res= ~(longlong) 0; current_thd->cuted_fields++; Regards, Monty
