Bug #7172 Mysqld Crashes
Submitted: 10 Dec 2004 14:17 Modified: 11 Jan 2005 0:22
Reporter: Sumit Kumar Roy Email Updates:
Status: No Feedback Impact on me:
None 
Category:MySQL Server: Replication Severity:S2 (Serious)
Version:4.0.17 OS:Linux (Linux)
Assigned to: CPU Architecture:Any

[10 Dec 2004 14:17] Sumit Kumar Roy
Description:
We are developing system on Linux and Mysql ver 4.0.17.We are using Database Replication. We have the Master and Slave in the same machine. The Master crashes after 30 minutes. The following is from the server log file.

041210 14:39:40  Out of memory;  Check if mysqld or some other process uses all available memory. If not you may have to use 'ulimit' to allow mysqld to use more memory or you can add more swap space
041210 14:39:40  Out of memory;  Check if mysqld or some other process uses all available memory. If not you may have to use 'ulimit' to allow mysqld to use more memory or you can add more swap space
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=2093056
max_used_connections=51
max_connections=500
threads_connected=52
It is possible that mysqld could use up to 
key_buffer_size + (read_buffer_size + sort_buffer_size)*max_connections = 2177068 K
bytes of memory
Hope that's ok; if not, decrease some variables in the equation.

thd=0x79c38ce8
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=0x79b3e5a8, backtrace may not be correct.
Stack range sanity check OK, backtrace follows:
0x8070610
0x8289628
0x80bf05e
0x80beb88
0x80bba9f
0x80a6471
0x807c429
0x807eb8a
0x807a0e3
0x8079b3d
0x8079329
0x8286ddc
0x82bc5ba
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 0x298d56f8 = UPDATE ACTIVITY SET ACTIVITY_STATE_ID = 4 , ACTIVITY_PID = 23686, ACTIVITY_NODE = 1,  ACTIVITY_DATETIME_SCHEDULED = '2004-12-10 14:39:37' WHERE ACTIVITY_ID = 40
thd->thread_id=4694
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.

After doing a stack trace the following is the output :

0x8070610 handle_segfault + 420
0x8289628 pthread_sighandler + 184
0x80bf05e get_quick_keys__FP13st_qsel_paramP12QUICK_SELECTP11st_key_partP7SEL_ARGPcUiT4Ui + 1150
0x80beb88 get_quick_select__FP13st_qsel_paramUiP7SEL_ARG + 120
0x80bba9f test_quick_select__10SQL_SELECTP3THDUlUlUlb + 1539
0x80a6471 mysql_update__FP3THDP13st_table_listRt4List1Z4ItemT2P4ItemP8st_orderUl15enum_duplicates + 745
0x807c429 mysql_execute_command__Fv + 6229
0x807eb8a mysql_parse__FP3THDPcUi + 146
0x807a0e3 dispatch_command__F19enum_server_commandP3THDPcUi + 1435
0x8079b3d do_command__FP3THD + 165
0x8079329 handle_one_connection + 641
0x8286ddc pthread_start_thread + 220
0x82bc5ba thread_start + 4

Can you please help
Regards
Sumit Kumar Roy

How to repeat:
mysql configuration file is 

[client]
port = 3356
socket = /usr/local/mysql/data/mysql.sock2
mysqladmin=/usr/local/mysql/bin/mysqladmin

[mysqld]
user=mysql
# basedir=/var/lib
datadir=/usr/local/mysql/data
port = 3356
socket = /usr/local/mysql/data/mysql.sock2
pid-file=/usr/local/mysql/data/my_master.pid
skip-locking
key_buffer=128M
max_allowed_packet=16M
table_cache = 2600
max_connections = 500
sort_buffer_size = 2M
read_buffer_size = 2M
myisam_sort_buffer_size = 32M
thread_cache = 16
query_cache_size = 64M
thread_concurrency = 16
 net_buffer_length = 8K
 transaction_prealloc_size = 32M
#transaction_prealloc_block_size = 16M
 query_prealloc_size = 4M
 range_alloc_block_size = 4M
 join_buffer_size = 4M
log-bin=/usr/local/mysql/data/log/db1_log_bin
log-bin-index=/usr/local/mysql/data/log/db1_log_bin.index
server-id = 1
innodb_data_file_path = ibdata/ibdata1:100M;ibdata/ibdata2:100M;ibdata/ibdata3:100M;ibdata/ibdata4:100M:autoextend
innodb_buffer_pool_size = 64M
innodb_additional_mem_pool_size=20M
innodb_flush_log_at_trx_commit=1
innodb_lock_wait_timeout=50
# innodb_thread_concurrency=20

[mysqldump]
quick
max_allowed_packet=16M

[mysql.server]
user=mysql
# basedir=/var/lib

[safe_mysqld]
err-log=/usr/local/mysql/data/log/mysqld.log
pid-file=/usr/local/mysql/data/my_master.pid
[11 Dec 2004 0:22] Heikki Tuuri
Hi!

How much memory and swap does your computer have?

If you use

'top'

to follow the memory usage of mysqld, how much does it use and does the memory usage grow constantly? Please post a FULL output of 'top' when the memory starts to run out.

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".