-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
I just started using innodb tables to help with some locking problems. The table I am trying to convert is large (100 Million rows, 23 GigByte). I setup 20 2Gig ibdata files. (I choose a size of 2 Gig as this is the maximum size I can easily transfer to another machine for backups. The files system can handle larger files). I did create a new table, and transfered the old table to the new tables using 'insert into newtable select * from oldtable'. (as a test, I did try 10 Million rows first which worked fine and took about 30 minutes). After a while (1 hr?), mysql crashed. Here are the details: Resolved stack: 0x80b39c6 handle_segfault__Fi + 406 0x4003b935 _end + 937197517 0x8184f3f fil_io + 607 0x816ca99 buf_read_page + 89 0x8164e3a buf_page_get_gen + 278 0x814a835 btr_cur_search_to_nth_level + 1101 0x812a970 ibuf_insert_low + 1256 0x812b2a0 ibuf_insert + 380 0x814a89a btr_cur_search_to_nth_level + 1202 0x812d6fb row_ins_index_entry_low + 143 0x812dbc8 row_ins + 504 0x812dd30 row_ins_step + 272 0x812e697 row_insert_for_mysql + 151 0x80fbc82 write_row__11ha_innobasePc + 394 0x80de7ff write_record__FP8st_tableP12st_copy_info + 527 0x80e036d send_data__13select_insertRt4List1Z4Item + 93 0x80dd68f end_send__FP4JOINP13st_join_tableb + 111 0x80d8788 sub_select__FP4JOINP13st_join_tableb + 240 0x80d84a1 do_select__FP4JOINPt4List1Z4ItemP8st_tableP9Procedure + 393 0x80d1a75 mysql_select__FP3THDP13st_table_listRt4List1Z4ItemP4ItemRt4List1Z15Item_func_matchP8st_orderT5T3T5UiP13select_result + 6953 0x80bb154 mysql_execute_command__Fv + 5736 0x80bcb77 mysql_parse__FP3THDPcUi + 211 0x80b9252 do_command__FP3THD + 1286 0x80b8798 handle_one_connection__FPv + 632 /usr/local/mysql/libexec/mysqld: ready for connections InnoDB: Assertion failure in thread 38951 in file fil0fil.c line 977 InnoDB: We intentionally generate a memory trap. InnoDB: Send a detailed bug report to [EMAIL PROTECTED] 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 agaist 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=402649088 record_buffer=2093056 sort_buffer=2097144 max_used_connections=45 max_connections=200 threads_connected=6 It is possible that mysqld could use up to key_buffer_size + (record_buffer + sort_buffer)*max_connections = 1211610 K bytes of memory Hope that's ok, if not, decrease some variables in the equation 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... Stack range sanity check OK, backtrace follows: 0x80b39c6 0x4003b935 0x8184f3f 0x816ca99 0x8164e3a 0x814a835 0x812a970 0x812b2a0 0x814a89a 0x812d6fb 0x812dbc8 0x812dd30 0x812e697 0x80fbc82 0x80de7ff 0x80e036d 0x80dd68f 0x80d8788 0x80d84a1 0x80d1a75 0x80bb154 0x80bcb77 0x80b9252 0x80b8798 Stack trace seems successful - bottom reached Please read http://www.mysql.com/doc/U/s/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 0xbf602658 is invalid pointer thd->thread_id=3604 Successfully dumped variables, if you ran with --log, take a look at the details of what thread 3604 did to cause the crash. In some cases of really bad corruption, the above values may be invalid The manual page at http://www.mysql.com/doc/C/r/Crashing.html contains information that should help you find out what is causing the crash Number of processes running now: 0 020203 20:10:16 mysqld restarted 020203 20:10:16 Can't start server: Bind on TCP/IP port: Address already in use 020203 20:10:16 Do you already have another mysqld server running on port: 3307 ? 020203 20:10:16 Aborting 020203 20:10:16 /usr/local/mysql/libexec/mysqld: Shutdown Complete 020203 20:10:16 mysqld ended - ---------------------------------------------------------------- As I start things back up, here is what is happening: 020203 20:15:03 mysqld started InnoDB: Database was not shut down normally. InnoDB: Starting recovery from log files... InnoDB: Starting log scan based on checkpoint at InnoDB: log sequence number 2 3711717251 InnoDB: Doing recovery: scanned up to log sequence number 2 3711782400 InnoDB: Doing recovery: scanned up to log sequence number 2 3711847936 InnoDB: Doing recovery: scanned up to log sequence number 2 3711913472 InnoDB: Doing recovery: scanned up to log sequence number 2 3711979008 .... (more like this ommited).... InnoDB: Doing recovery: scanned up to log sequence number 2 4256386560 InnoDB: Doing recovery: scanned up to log sequence number 2 4256446364 InnoDB: 1 uncommitted transaction(s) which must be rolled back InnoDB: Starting rollback of uncommitted transactions InnoDB: Rolling back trx no 5089 InnoDB: Starting an apply batch of log records to the database... InnoDB: Apply batch completed InnoDB: Assertion failure in thread 1024 in file fil0fil.c line 977 InnoDB: We intentionally generate a memory trap. InnoDB: Send a detailed bug report to [EMAIL PROTECTED] 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 agaist 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=402649088 record_buffer=2093056 sort_buffer=2097144 max_used_connections=0 max_connections=200 threads_connected=0 It is possible that mysqld could use up to key_buffer_size + (record_buffer + sort_buffer)*max_connections = 1211610 K bytes of memory Hope that's ok, if not, decrease some variables in the equation 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... Bogus stack limit or frame pointer, fp=0xbfffbce8, stack_bottom=0x1dc1cf60, thread_stack=65536, aborting backtrace. Trying to get some variables. Some pointers may be invalid and cause the dump to abort... thd->query at 0x1cd1ec70 is invalid pointer thd->thread_id=65537 Successfully dumped variables, if you ran with --log, take a look at the details of what thread 65537 did to cause the crash. In some cases of really bad corruption, the above values may be invalid The manual page at http://www.mysql.com/doc/C/r/Crashing.html contains information that should help you find out what is causing the crash 020203 20:28:35 mysqld ended - -------------------------------------------------------------------- I did try this three times, and finally just deleted the ibdata files, log files and the .frm files :-( - -- - ------- [EMAIL PROTECTED] Join http://www.DShield.org Distributed Intrusion Detection System -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.0.6 (GNU/Linux) Comment: For info see http://www.gnupg.org iD8DBQE8Xer1wWQP+4im9DYRAu/oAJ0XOZ9BmGQ25u2vNKFbjrKVonVOrwCguJPs r7m60QEznvsbSPDJWi3rqfw= =SD30 -----END PGP SIGNATURE----- --------------------------------------------------------------------- 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