Bug #86290 Assertion `rc == TYPE_OK' failed.
| Submitted: | 12 May 2017 3:35 | Modified: | 21 Aug 2017 13:11 |
|---|---|---|---|
| Reporter: | Roel Van de Paar | Email Updates: | |
| Status: | Closed | Impact on me: | |
| Category: | MySQL Server: Data Dictionary | Severity: | S1 (Critical) |
| Version: | 8.0.1 | OS: | Any |
| Assigned to: | CPU Architecture: | Any |
[14 May 2017 16:37]
MySQL Verification Team
Thank you for the bug report. I couldn't repeat on Windows with 8.0.1 and on Linux with most recent source. Any else instructions for? Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 5 Server version: 8.0.1-dmr-debug MySQL Community Server - Debug (GPL) Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql> SET timestamp=1000; Query OK, 0 rows affected (0.00 sec) mysql> SET time_zone='+00:00'; Query OK, 0 rows affected (0.00 sec) mysql> USE sys; Database changed mysql> CREATE EVENT event1 on schedule every 15 minute starts now()ends date_add(now(),interval 5 hour) DO begin end; Query OK, 0 rows affected (0.06 sec) mysql> CREATE EVENT root11 on schedule every '20:25' day_hour do select 1; Query OK, 0 rows affected (0.06 sec) mysql> SET GLOBAL event_scheduler=1; Query OK, 0 rows affected (0.00 sec) mysql> SELECT 1; # Shows server is gone +---+ | 1 | +---+ | 1 | +---+ 1 row in set (0.00 sec)
[17 May 2017 7:06]
Roel Van de Paar
This was on Centos 7 x64 with timezone (OS level) set to Sydney time. It was with source downloaded from mysql.com.
[17 May 2017 7:07]
Roel Van de Paar
May be good to try; download source, compile as debug, use Centos 7 with timezone set to Sydney time.
[17 May 2017 8:27]
Shane Bester
Version: '8.0.1-dmr-debug' MySQL Community Server - Debug (GPL) [Note] Event Scheduler: scheduler thread started with id 4 [Note] Event Scheduler: Last execution of sys.event1. Dropping. Assertion failed: rc == TYPE_OK, file raw_record.cc, line 178 abort() has been called08:26:32 UTC - mysqld got exception 0x80000003 ; mysqld-debug.exe!my_sigabrt_handler()[my_thr_init.cc:474] ucrtbased.dll!raise() ucrtbased.dll!abort() ucrtbased.dll!_get_wide_winmain_command_line() ucrtbased.dll!_get_wide_winmain_command_line() ucrtbased.dll!_get_wide_winmain_command_line() ucrtbased.dll!_wassert() mysqld-debug.exe!dd::Raw_record::store()[raw_record.cc:178] mysqld-debug.exe!dd::Event_impl::store_attributes()[event_impl.cc:181] mysqld-debug.exe!dd::Weak_object_impl::store()[weak_object_impl.cc:101] mysqld-debug.exe!dd::cache::Storage_adapter::store<dd::Event>()[storage_adapter.cc:306] mysqld-debug.exe!dd::cache::Dictionary_client::update<dd::Event>()[dictionary_client.cc:2166] mysqld-debug.exe!dd::update_event_time_and_status()[dd_event.cc:424] mysqld-debug.exe!Event_db_repository::update_timing_fields_for_event()[event_db_repository.cc:394] mysqld-debug.exe!Event_queue::get_top_for_execution_if_time()[event_queue.cc:667] mysqld-debug.exe!Event_scheduler::run()[event_scheduler.cc:587] mysqld-debug.exe!event_scheduler_thread()[event_scheduler.cc:277] mysqld-debug.exe!pfs_spawn_thread()[pfs.cc:2409] mysqld-debug.exe!win_thread_start()[my_thread.cc:42]
[17 May 2017 8:29]
Shane Bester
Thanks for the report! Repeated on recent git build. [Note] mysqld-debug.exe: ready for connections. Version: '8.0.2-dmr-debug' socket: '' port: 3306 (Built on 2017/05/13) [Note] Event Scheduler: scheduler thread started with id 5 [Note] Event Scheduler: Last execution of sys.event1. Dropping. Assertion failed: rc == TYPE_OK, file raw_record.cc, line 178 abort() has been called08:27:48 UTC - mysqld got exception 0x80000003 ; mysqld-debug.exe!my_sigabrt_handler()[my_thr_init.cc:418] ucrtbased.dll!raise() ucrtbased.dll!abort() ucrtbased.dll!_get_wide_winmain_command_line() ucrtbased.dll!_get_wide_winmain_command_line() ucrtbased.dll!_get_wide_winmain_command_line() ucrtbased.dll!_wassert() mysqld-debug.exe!dd::Raw_record::store()[raw_record.cc:178] mysqld-debug.exe!dd::Event_impl::store_attributes()[event_impl.cc:181] mysqld-debug.exe!dd::Weak_object_impl::store()[weak_object_impl.cc:102] mysqld-debug.exe!dd::cache::Storage_adapter::store<dd::Event>()[storage_adapter.cc:306] mysqld-debug.exe!dd::cache::Dictionary_client::update<dd::Event>()[dictionary_client.cc:2262] mysqld-debug.exe!dd::update_event_time_and_status()[dd_event.cc:431] mysqld-debug.exe!Event_db_repository::update_timing_fields_for_event()[event_db_repository.cc:395] mysqld-debug.exe!Event_queue::get_top_for_execution_if_time()[event_queue.cc:687] mysqld-debug.exe!Event_scheduler::run()[event_scheduler.cc:593] mysqld-debug.exe!event_scheduler_thread()[event_scheduler.cc:285] mysqld-debug.exe!pfs_spawn_thread()[pfs.cc:2395] mysqld-debug.exe!win_thread_start()[my_thread.cc:42]
[26 Jul 2017 6:52]
Shane Bester
Still affects recent trunk: mysqld-debug.exe: Version: '8.0.3-rc-debug' socket: '' port: 3306 (Built on 2017/07/20) Assertion failed: rc == TYPE_OK, file raw_record.cc, line 179 abort() has been called mysqld got exception 0x80000003 ; mysqld-debug.exe!my_sigabrt_handler()[my_thr_init.cc:418] ucrtbased.dll!raise() ucrtbased.dll!abort() ucrtbased.dll!_get_wide_winmain_command_line() ucrtbased.dll!_get_wide_winmain_command_line() ucrtbased.dll!_get_wide_winmain_command_line() ucrtbased.dll!_wassert() mysqld-debug.exe!dd::Raw_record::store()[raw_record.cc:179] mysqld-debug.exe!dd::Event_impl::store_attributes()[event_impl.cc:181] mysqld-debug.exe!dd::Weak_object_impl::store()[weak_object_impl.cc:102] mysqld-debug.exe!dd::cache::Storage_adapter::store<dd::Event>()[storage_adapter.cc:308] mysqld-debug.exe!dd::cache::Dictionary_client::update<dd::Event>()[dictionary_client.cc:2320] mysqld-debug.exe!dd::update_event_time_and_status()[dd_event.cc:431] mysqld-debug.exe!Event_db_repository::update_timing_fields_for_event()[event_db_repository.cc:369] mysqld-debug.exe!Event_queue::get_top_for_execution_if_time()[event_queue.cc:712] mysqld-debug.exe!Event_scheduler::run()[event_scheduler.cc:593] mysqld-debug.exe!event_scheduler_thread()[event_scheduler.cc:285] mysqld-debug.exe!pfs_spawn_thread()[pfs.cc:2991] mysqld-debug.exe!win_thread_start()[my_thread.cc:42]
[21 Aug 2017 13:11]
Daniel Price
Posted by developer: Fixed as of the upcoming 8.0.3 release, and here's the changelog entry: Timestamp data copied from the data dictionary cache during a DDL operation was converted using a time_zone value that was no longer valid. The resulting timestamp data was incorrect, causing an error in release builds and an assertion failure in debug builds.
Portions of this website are copyright © 2001, 2002 The PHP Group
Page generated in 0.043 sec. using MySQL 8.4.7-u6-cloud
Timestamp references displayed by the system are UTC.
Content reproduced on this site is the property of the
respective copyright holders.
It is not reviewed in advance
by Oracle and does not necessarily represent the opinion of
Oracle or any other party.
Description: mysqld: /git/mysql-8.0.1-dmr_dbg/sql/dd/impl/raw/raw_record.cc:178: bool dd::Raw_record::store(int, ulonglong, bool): Assertion `rc == TYPE_OK' failed. Core was generated by `/sda/MS120517-mysql-8.0.1-dmr-linux-x86_64-debug/bin/mysqld --no-defaults --cor'. Program terminated with signal 6, Aborted. #0 0x00007fd2b6035741 in __pthread_kill (threadid=<optimized out>, signo=6) at ../nptl/sysdeps/unix/sysv/linux/pthread_kill.c:61 61 val = INTERNAL_SYSCALL (tgkill, err, 3, THREAD_GETMEM (THREAD_SELF, pid), (gdb) t [Current thread is 1 (Thread 0x7fd2b65e7700 (LWP 8850))] (gdb) bt #0 0x00007fd2b6035741 in __pthread_kill (threadid=<optimized out>, signo=6) at ../nptl/sysdeps/unix/sysv/linux/pthread_kill.c:61 #1 0x0000000002609fc9 in my_write_core (sig=6) at /git/mysql-8.0.1-dmr_dbg/mysys/stacktrace.cc:291 #2 0x0000000001d14c5c in handle_fatal_signal (sig=6) at /git/mysql-8.0.1-dmr_dbg/sql/signal_handler.cc:231 #3 <signal handler called> #4 0x00007fd2b43c91d7 in __GI_raise (sig=sig@entry=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:56 #5 0x00007fd2b43ca8c8 in __GI_abort () at abort.c:90 #6 0x00007fd2b43c2146 in __assert_fail_base (fmt=0x7fd2b45133a8 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", assertion=assertion@entry=0x32f2183 "rc == TYPE_OK", file=file@entry=0x32f2128 "/git/mysql-8.0.1-dmr_dbg/sql/dd/impl/raw/raw_record.cc", line=line@entry=178, function=function@entry=0x32f2380 <dd::Raw_record::store(int, unsigned long long, bool)::__PRETTY_FUNCTION__> "bool dd::Raw_record::store(int, ulonglong, bool)") at assert.c:92 #7 0x00007fd2b43c21f2 in __GI___assert_fail (assertion=0x32f2183 "rc == TYPE_OK", file=0x32f2128 "/git/mysql-8.0.1-dmr_dbg/sql/dd/impl/raw/raw_record.cc", line=178, function=0x32f2380 <dd::Raw_record::store(int, unsigned long long, bool)::__PRETTY_FUNCTION__> "bool dd::Raw_record::store(int, ulonglong, bool)") at assert.c:101 #8 0x0000000001c77edf in dd::Raw_record::store (this=0x7fd26f01a078, field_no=15, ull=19700101001640, is_null=false) at /git/mysql-8.0.1-dmr_dbg/sql/dd/impl/raw/raw_record.cc:178 #9 0x0000000001cb67ed in dd::Event_impl::store_attributes (this=0x7fd26f016100, r=0x7fd26f01a078) at /git/mysql-8.0.1-dmr_dbg/sql/dd/impl/types/event_impl.cc:191 #10 0x0000000001ceed1e in dd::Weak_object_impl::store (this=0x7fd26f016100, otx=0x7fd2b65e5cd0) at /git/mysql-8.0.1-dmr_dbg/sql/dd/impl/types/weak_object_impl.cc:101 #11 0x0000000001c69cce in dd::cache::Storage_adapter::store<dd::Event> (thd=0x7fd26ed51000, object=0x7fd26f016120) at /git/mysql-8.0.1-dmr_dbg/sql/dd/impl/cache/storage_adapter.cc:306 #12 0x0000000001bb6b2b in dd::cache::Dictionary_client::update<dd::Event> (this=0x7fd26ed55000, new_object=0x7fd26f016120) at /git/mysql-8.0.1-dmr_dbg/sql/dd/impl/cache/dictionary_client.cc:2166 #13 0x0000000002045710 in dd::update_event_time_and_status (thd=0x7fd26ed51000, event=0x7fd26f016120, last_executed=1494555912, status=2) at /git/mysql-8.0.1-dmr_dbg/sql/dd/dd_event.cc:424 #14 0x000000000206c288 in Event_db_repository::update_timing_fields_for_event (this=0x7fd2a67ff338, thd=0x7fd26ed51000, event_db_name=..., event_name=..., last_executed=1494555912, status=2) at /git/mysql-8.0.1-dmr_dbg/sql/event_db_repository.cc:394 #15 0x000000000206f41d in Event_queue::get_top_for_execution_if_time (this=0x7fd26e5e1c00, thd=0x7fd26ed51000, event_name=0x7fd2b65e6d10) at /git/mysql-8.0.1-dmr_dbg/sql/event_queue.cc:665 #16 0x0000000002072cdf in Event_scheduler::run (this=0x7fd26e5e1d00, thd=0x7fd26ed51000) at /git/mysql-8.0.1-dmr_dbg/sql/event_scheduler.cc:587 #17 0x00000000020720f7 in event_scheduler_thread (arg=0x7fd26ec33270) at /git/mysql-8.0.1-dmr_dbg/sql/event_scheduler.cc:276 #18 0x000000000263cdae in pfs_spawn_thread (arg=0x7fd26ecb8520) at /git/mysql-8.0.1-dmr_dbg/storage/perfschema/pfs.cc:2407 #19 0x00007fd2b6030dc5 in start_thread (arg=0x7fd2b65e7700) at pthread_create.c:308 #20 0x00007fd2b448b73d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113 How to repeat: SET timestamp=1000; SET time_zone='+00:00'; USE sys; CREATE EVENT event1 on schedule every 15 minute starts now()ends date_add(now(),interval 5 hour) DO begin end; CREATE EVENT root11 on schedule every '20:25' day_hour do select 1; SET GLOBAL event_scheduler=1; SELECT 1; # Shows server is gone