Bug #4648 Database Crashing
Submitted: 20 Jul 2004 14:49 Modified: 23 Aug 2004 4:25
Reporter: [ name withheld ] Email Updates:
Status: No Feedback Impact on me:
None 
Category:MySQL Server Severity:S1 (Critical)
Version:4.0.15-Max-log (4.0.16, 4.0.20) OS:Linux (RedHat 7.2 (8))
Assigned to: Assigned Account CPU Architecture:Any

[20 Jul 2004 14:49] [ name withheld ]
Description:
This problem exists on 3 servers, one with Redhat 7.2 and two with Redhat 8. One with 4.0.16-Max-log, another with 4.0.16-Max-log and another with 4.0.20-Max-log mysql databases. The crashes are cause by a select query. 

This is a dumb (part of it):

mysqld got signal 11;
This could be because you hit a bug. It is also possible that this binary
or one of the libraries it was linked against is corrupt, improperly built,
or misconfigured. This error can also be caused by malfunctioning hardware.
We will try our best to scrape up some info that will hopefully help diagnose
the problem, but since we have already crashed, something is definitely wrong
and this may fail.

key_buffer_size=134217728
read_buffer_size=67104768
max_used_connections=0
max_connections=600
threads_connected=1
It is possible that mysqld could use up to 
key_buffer_size + (read_buffer_size + sort_buffer_size)*max_connections = 4159131 K
bytes of memory
Hope that's ok; if not, decrease some variables in the equation.

thd=0x88047a8
Attempting backtrace. You can use the following information to find out
where mysqld died. If you see no messages after this, something went
terribly wrong...
Cannot determine thread, fp=0x50b38e08, backtrace may not be correct.
Stack range sanity check OK, backtrace follows:
0x80d99b4
0x4003e8d5
0x8128128
0x8127e3b
0x8127510
0x8127b9e
0x81268a6
0x8125b3d
0x8125a6d
0x81256fb
0x80fed15
0x80ff6ed
0x80fd8b9
0x80fd066
0x80e45da
0x80e81f5
0x80e3753
0x80e319e
0x80e298e
0x4003bb9c
0x401aa1ea
New value of fp=(nil) failed sanity check, terminating stack trace!
Please read http://www.mysql.com/doc/en/Using_stack_trace.html and follow instructions on how to resolve the stack trace. Resolved
stack trace is much more helpful in diagnosing the problem, so please do 
resolve it
Trying to get some variables.
Some pointers may be invalid and cause the dump to abort...
thd->query at 0x883a938 = SELECT SQL_CALC_FOUND_ROWS SQL_CACHE DID FROM Feed WHERE ((GeoLatitude>=2159995 AND GeoLatitude<=2161445 AND GeoLongitude>=1001120 AND GeoLongitude<=1003040) OR (GeoLatitude>=2158835 AND GeoLatitude<=2160285 AND GeoLongitude>=998980 AND GeoLongitude<=1000900) OR (GeoLatitude>=2159985 AND GeoLatitude<=2161435 AND GeoLongitude>=1003390 AND GeoLongitude<=1005310))  order by DisplayWeight desc, LastModified desc limit 100
thd->thread_id=3
The manual page at http://www.mysql.com/doc/en/Crashing.html contains
information that should help you find out what is causing the crash.

Number of processes running now: 0
040720 07:09:05  mysqld restarted

This was traced to the following (resolve_stack_dump -s /usr/lib/mysql/mysqld.sym -n mysqld.stack | c++filt):

0x80d99b4 read_sep_field(THD *, st_copy_info &, st_table *, List<Item> &, READ_INFO &, String &) + 420
0x4003e8d5 _end + 935065305
0x8128128 ibuf_delete_rec + 2104
0x8127e3b ibuf_delete_rec + 1355
0x8127510 ibuf_insert_to_index_page + 1888
0x8127b9e ibuf_delete_rec + 686
0x81268a6 ibuf_insert_low + 5974
0x8125b3d ibuf_insert_low + 2541
0x8125a6d ibuf_insert_low + 2333
0x81256fb ibuf_insert_low + 1451
0x80fed15 dict_boot + 3269
0x80ff6ed dict_create_sys_columns_tuple + 765
0x80fd8b9 innobase_shutdown_for_mysql + 89
0x80fd066 innobase_start_or_create_for_mysql + 1638
0x80e45da analyse::change_columns(List<Item> &) + 58
0x80e81f5 start_slave_threads(bool, bool, st_master_info *, char const *, char const *, int) + 37
0x80e3753 field_str::get_opt_type(String *, unsigned long) + 179
0x80e319e analyse::end_of_records(void) + 638
0x80e298e field_real::add(void) + 414
0x4003bb9c _end + 935053728
0x401aa1ea _end + 936554478

How to repeat:
SELECT DID FROM Feed WHERE ((GeoLatitude>=2159995 AND GeoLatitude<=2161445 AND GeoLongitude>=1001120 AND GeoLongitude<=1003040) OR (GeoLatitude>=2158835 AND GeoLatitude<=2160285 AND GeoLongitude>=998980 AND GeoLongitude<=1000900) OR (GeoLatitude>=2159985 AND GeoLatitude<=2161435 AND GeoLongitude>=1003390 AND GeoLongitude<=1005310))
[23 Jul 2004 4:25] Matthew Lord
Hi,

Could you provide a dump of the FEED table so that I can try and repeat this crash?
If it's of any size you can put it on ftp.mysql.com using the anonymous account.

Best Regards
[23 Jul 2004 15:30] Heikki Tuuri
Hi!

The resolved stack trace is nonsensical. Did you use the right mysqld.sym file to resolve it?

Regards,

Heikki
[14 Feb 2005 22:54] Bugs System
No feedback was provided for this bug for over a month, so it is
being suspended automatically. If you are able to provide the
information that was originally requested, please do so and change
the status of the bug back to "Open".