Bug #85065 | CREATE EVENT not OOM safe | ||
---|---|---|---|
Submitted: | 20 Feb 2017 2:56 | Modified: | 2 Mar 2017 7:59 |
Reporter: | Roel Van de Paar | Email Updates: | |
Status: | Verified | Impact on me: | |
Category: | MySQL Server: DDL | Severity: | S2 (Serious) |
Version: | 5.7.17 | OS: | Any |
Assigned to: | CPU Architecture: | Any |
[20 Feb 2017 2:56]
Roel Van de Paar
[20 Feb 2017 2:59]
Roel Van de Paar
Perhaps related to bug 83798
[20 Feb 2017 3:00]
Roel Van de Paar
(This bug is from an older run which still had the debug options added)
[20 Feb 2017 9:36]
MySQL Verification Team
Version: '5.7.18-debug' socket: '' port: 3570 Source distribution PULL: 2017-FEB-01 2017-02-20T09:34:43.365936Z 3 [Note] Event Scheduler: scheduler thread started with id 3 Assertion failed: ! is_set() || m_can_overwrite_status, file C:\build\2017FEB02\mysql-5.7\sql\sql_error.cc, line 444 R6010 - abort() has been called 09:34:43 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=1 max_threads=151 thread_count=2 connection_count=1 It is possible that mysqld could use up to key_buffer_size + (read_buffer_size + sort_buffer_size)*max_threads = 68072 K bytes of memory Hope that's ok; if not, decrease some variables in the equation. Thread pointer: 0x22ce1bd0d80 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... 7ff70bba8c75 mysqld.exe!my_sigabrt_handler()[my_thr_init.c:449] 7ff70c3b3a8f mysqld.exe!raise()[winsig.c:594] 7ff70c3b0730 mysqld.exe!abort()[abort.c:82] 7ff70c399098 mysqld.exe!_wassert()[assert.c:156] 7ff70aebb80c mysqld.exe!Diagnostics_area::set_error_status()[sql_error.cc:444] 7ff70af3d5bc mysqld.exe!THD::raise_condition()[sql_class.cc:1453] 7ff70ae0cad6 mysqld.exe!my_message_sql()[mysqld.cc:2259] 7ff70bbafac0 mysqld.exe!my_error()[my_error.c:211] 7ff70bbac4ca mysqld.exe!my_raw_malloc()[my_malloc.c:213] 7ff70bbabde8 mysqld.exe!my_malloc()[my_malloc.c:54] 7ff70bbcf520 mysqld.exe!lf_alloc_new()[lf_alloc-pin.c:439] 7ff70bbcfdbb mysqld.exe!lf_hash_insert()[lf_hash.c:488] 7ff70c23ebf8 mysqld.exe!find_or_create_digest()[pfs_digest.cc:290] 7ff70c221085 mysqld.exe!pfs_end_statement_v1()[pfs.cc:5408] 7ff70aee3705 mysqld.exe!dispatch_command()[sql_parse.cc:1910] 7ff70aee05c3 mysqld.exe!do_command()[sql_parse.cc:999] 7ff70ae2b628 mysqld.exe!handle_connection()[connection_handler_per_thread.cc:300] 7ff70c2247c2 mysqld.exe!pfs_spawn_thread()[pfs.cc:2190] 7ff70bba7516 mysqld.exe!win_thread_start()[my_thread.c:37] 7ff70c3b32a5 mysqld.exe!_callthreadstartex()[threadex.c:376] 7ff70c3b34f7 mysqld.exe!_threadstartex()[threadex.c:359] 7ff9ae758364 KERNEL32.DLL!BaseThreadInitThunk() 7ff9b11070d1 ntdll.dll!RtlUserThreadStart()
[20 Feb 2017 9:39]
MySQL Verification Team
Please read: https://bugs.mysql.com/bug.php?id=84755 below comment. Thanks. [8 Feb 13:10] Erlend Dahl Your testcase sets a debug flag. These flags are used within the server to simulate an internal failure or to force a certain behaviour. This is not possible for normal users of the production version. Their use is in carefully crafted testcases that take these intended behaviour changes into account. Used in another context, there is no guarantee they will work at all, and no point in trying to make them do so. Such flags are in our opinion not suitable for randomized testing, and the fact that they create asserts or crashes can't be used to draw conclusions about regressions or quality of the server. In our opinion, you should remove the use of debug flags from your scripts.
[20 Feb 2017 9:46]
Laurynas Biveinis
IMHO out of all the debug flags the out-of-memory simulating one is in particular relevant for testing, and this bug is valid, as it uncovers missing OOM handling in some code paths
[28 Feb 2017 8:49]
Roel Van de Paar
Miguel, please see comment by Laurynas