Bug #90402 | innodb async io error handling in io_event | ||
---|---|---|---|
Submitted: | 12 Apr 2018 7:39 | Modified: | 26 Nov 2018 13:43 |
Reporter: | Wei Zhao (OCA) | Email Updates: | |
Status: | Closed | Impact on me: | |
Category: | MySQL Server: InnoDB storage engine | Severity: | S3 (Non-critical) |
Version: | mysql-5.7.17 | OS: | Any |
Assigned to: | CPU Architecture: | Any | |
Tags: | Contribution |
[12 Apr 2018 7:39]
Wei Zhao
[12 Apr 2018 7:41]
Wei Zhao
this patch handles the error case of a submitted aio operation (*) I confirm the code being submitted is offered under the terms of the OCA, and that I am authorized to contribute it.
Contribution: idb_aio_error_check.diff (application/octet-stream, text), 937 bytes.
[12 Apr 2018 7:51]
MySQL Verification Team
Hello Wei Zhao, Thank you for the bug report and contribution. Thanks, Umesh
[14 Nov 2018 8:28]
Daniƫl van Eeden
On MySQL 8.0.13: 2018-11-14T02:05:20.170317Z 86292 [ERROR] [MY-000035] [Server] Disk is full writing '../log/relaylog.007577' (OS errno 28 - No space left on device). Waiting for someone to free space... Retry in 60 secs. Message reprinted in 600 secs. 2018-11-14T02:05:44.997259Z 0 [ERROR] [MY-011825] [InnoDB] [FATAL] Native Linux AIO interface. io_submit() call failed when resubmitting a partial I/O request on the file ./app/flat_cdf_new.ibd. 2018-11-14T02:05:44.997308Z 0 [ERROR] [MY-013183] [InnoDB] Assertion failure: ut0ut.cc:620 thread 140434978346752 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/8.0/en/forcing-innodb-recovery.html InnoDB: about forcing recovery. 02:05:44 UTC - mysqld got signal 6 ; 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=268435456 read_buffer_size=131072 max_used_connections=10027 max_threads=10000 thread_count=11 connection_count=10 It is possible that mysqld could use up to key_buffer_size + (read_buffer_size + sort_buffer_size)*max_threads = 11892769 K bytes of memory Hope that's ok; if not, decrease some variables in the equation. Thread pointer: 0x0 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_bottom = 0 thread_stack 0x46000 /usr/sbin/mysqld(my_print_stacktrace(unsigned char*, unsigned long)+0x3d) [0x1c1f2cd] /usr/sbin/mysqld(handle_fatal_signal+0x423) [0xdafab3] /lib64/libpthread.so.0(+0xf6d0) [0x7fbed446b6d0] /lib64/libc.so.6(gsignal+0x37) [0x7fbed2782277] /lib64/libc.so.6(abort+0x148) [0x7fbed2783968] /usr/sbin/mysqld(ut_dbg_assertion_failed(char const*, char const*, unsigned long)+0x2c2) [0x1ec1fb2] /usr/sbin/mysqld(ib::fatal::~fatal()+0x129) [0x1ec3c49] /usr/sbin/mysqld(LinuxAIOHandler::poll(fil_node_t**, void**, IORequest*)+0x3d8) [0x1db1718] /usr/sbin/mysqld(os_aio_handler(unsigned long, fil_node_t**, void**, IORequest*)+0x58b) [0x1db3a6b] /usr/sbin/mysqld(fil_aio_wait(unsigned long)+0x51) [0x1fcdc01] /usr/sbin/mysqld() [0x1e607e8] /usr/sbin/mysqld(std::thread::_State_impl<std::thread::_Invoker<std::tuple<Runnable, void (*)(unsigned long), unsigned long> > >::_M_run()+0x68) [0x1e60878] /usr/sbin/mysqld() [0x229f5af] /lib64/libpthread.so.0(+0x7e25) [0x7fbed4463e25] /lib64/libc.so.6(clone+0x6d) [0x7fbed284abad] 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.
[26 Nov 2018 13:43]
Daniel Price
Posted by developer: Fixed as of the upcoming 5.7.26, 8.0.15 release, and here's the changelog entry: A Linux AIO handler function failed to check if completed I/O events succeeded.