InnoDB: Cannot allocate 18446744073709540680 bytes of memory after 60 retries over 60 seconds.

From: <djburbridge_at_gmail.com>
Date: Wed, 1 Feb 2017 01:19:03 -0800 (PST)
Message-ID: <69904e7a-0907-4014-a38c-2b9eada3e515_at_googlegroups.com>



[Quoted] [Quoted] Just tried starting my mysql server (on localhost) this morning, and got the error above. I've put more detail below. I then get Windows' "mysqld.exe has stopped working" message. I've tried starting with innodb_force_recovery=1, but I still get the error.

Any idea what I should be looking for? Note that I can't get into the database so can't run queries...

[Quoted] [Quoted] In the detail below, I note that InnoDB is trying to allocate something like 16.8TB of memory - something that's highly likely to fail given that I've only got 4GB of RAM and 3GB of free disk space. How is this value calculated? I've made no recent config changes or updates to my MySQL installation.

Thanks for any help or pointers!
Dave

In more detail:

2017-02-01T09:03:14.477672Z 0 [ERROR] InnoDB: Cannot allocate 184467440737095406 80 bytes of memory after 60 retries over 60 seconds. OS error: Not enough space (12). Check if you should increase the swap file or ulimits of your operating sy stem. Note that on most 32-bit computers the process memory space is limited to 2 GB or 4 GB.
2017-02-01 09:03:14 0x1b98 InnoDB: Assertion failure in thread 7064 in file ut0 ut.cc line 931

InnoDB: Failing assertion: !m_fatal
InnoDB: We intentionally generate a memory trap.
InnoDB: Submit a detailed bug report to http://bugs.mysql.com.
InnoDB: If you get repeated assertion failures or crashes, even
InnoDB: immediately after the mysqld startup, there may be
InnoDB: corruption in the InnoDB tablespace. Please refer to
InnoDB: http://dev.mysql.com/doc/refman/5.7/en/forcing-innodb-recovery.html
InnoDB: about forcing recovery.

09:03:14 UTC - mysqld got exception 0x80000003 ; 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. Attempting to collect some information that could help diagnose the problem. As this is a crash and something is definitely wrong, the information collection process might fail.

key_buffer_size=8388608
read_buffer_size=131072
max_used_connections=0
max_threads=151
thread_count=0
connection_count=0
It is possible that mysqld could use up to key_buffer_size + (read_buffer_size + sort_buffer_size)*max_threads = 68011 K b ytes of memory
Hope that's ok; if not, decrease some variables in the equation.

Thread pointer: 0x143c3140
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...

13ff7e262    mysqld.exe!my_sigabrt_handler()[my_thr_init.c:449]
140328489    mysqld.exe!raise()[winsig.c:587]
140327380    mysqld.exe!abort()[abort.c:82]
14008f178    mysqld.exe!ut_dbg_assertion_failed()[ut0dbg.cc:67]
14008f44f    mysqld.exe!ib::fatal_or_error::~fatal_or_error()[ut0ut.cc:931]
13ffc190f    mysqld.exe!ut_allocator<unsigned char>::allocate()[ut0new.h:369]
1400a8aed    mysqld.exe!mem_heap_create_block_func()[mem0mem.cc:302]
1400a88c9    mysqld.exe!mem_heap_add_block()[mem0mem.cc:408]
1400a8bd6    mysqld.exe!mem_heap_dup()[mem0mem.cc:59]
1401f543c    mysqld.exe!trx_undo_get_undo_rec_low()[trx0rec.cc:2124]
1401f6b8c    mysqld.exe!trx_undo_prev_version_build()[trx0rec.cc:2259]
1401d1458    mysqld.exe!row_vers_vc_matches_cluster()[row0vers.cc:704]
1401d0d48    mysqld.exe!row_vers_old_has_index_entry()[row0vers.cc:950]
1401e5b6d    mysqld.exe!row_purge_poss_sec()[row0purge.cc:264]
140100ac1    mysqld.exe!btr_cur_search_to_nth_level()[btr0cur.cc:1152]
1401ae87b    mysqld.exe!btr_pcur_open_low()[btr0pcur.ic:470]
1401b09bf    mysqld.exe!row_search_index_entry()[row0row.cc:1076]
1401e6238    mysqld.exe!row_purge_remove_sec_if_poss_leaf()[row0purge.cc:471]
1401e5fdd    mysqld.exe!row_purge_remove_sec_if_poss()[row0purge.cc:587]
1401e6c57    mysqld.exe!row_purge_upd_exist_or_extern_func()[row0purge.cc:710]
1401e5c34    mysqld.exe!row_purge_record_func()[row0purge.cc:988]
1401e53b2    mysqld.exe!row_purge()[row0purge.cc:1034]
1401e6a42    mysqld.exe!row_purge_step()[row0purge.cc:1112]
1401b2d6f    mysqld.exe!que_thr_step()[que0que.cc:1056]
1401b24cd    mysqld.exe!que_run_threads_low()[que0que.cc:1121]
1401b22c2    mysqld.exe!que_run_threads()[que0que.cc:1160]
13fffcc6f    mysqld.exe!srv_task_execute()[srv0srv.cc:2461]
13fffdf1e    mysqld.exe!srv_worker_thread()[srv0srv.cc:2508]
76dc59cd kernel32.dll!BaseThreadInitThunk() 76efa561 ntdll.dll!RtlUserThreadStart()

Trying to get some variables.
Some pointers may be invalid and cause the dump to abort. Query (0):
Connection ID (thread ID): 0
Status: NOT_KILLED

The manual page at http://dev.mysql.com/doc/mysql/en/crashing.html contains information that should help you find out what is causing the crash. Received on Wed Feb 01 2017 - 10:19:03 CET

Original text of this message