[MDEV-20547] mysqld crashes: Semaphore wait has lasted > 60 seconds Created: 2019-09-10 Updated: 2020-02-14 Resolved: 2020-02-14 |
|
| Status: | Closed |
| Project: | MariaDB Server |
| Component/s: | Storage Engine - InnoDB |
| Affects Version/s: | 10.3.17 |
| Fix Version/s: | N/A |
| Type: | Bug | Priority: | Critical |
| Reporter: | Federico Razzoli | Assignee: | Marko Mäkelä |
| Resolution: | Incomplete | Votes: | 1 |
| Labels: | need_feedback | ||
| Environment: |
CloudLinux 7.6 |
||
| Attachments: |
|
||||||||||||
| Issue Links: |
|
||||||||||||
| Description |
|
mysqld crashed multiple times. I'm attaching the error log. |
| Comments |
| Comment by Elena Stepanova [ 2019-09-10 ] | |||||||||||||||||||||||||||||||||||
|
| |||||||||||||||||||||||||||||||||||
| Comment by Marko Mäkelä [ 2019-09-10 ] | |||||||||||||||||||||||||||||||||||
|
f_razzoli, to better analyze this bug, we would need stack traces of all InnoDB threads during the hang:
Alternatively, you should enable core dumps and provide the output of the following command:
Starting with MariaDB Server 10.3, core dumps should be much smaller, because they will by default not include the InnoDB buffer pool (which we might actually need later to analyze the hang in more detail, in case some buf_block_t::lock are involved). We have similar reports in | |||||||||||||||||||||||||||||||||||
| Comment by Federico Razzoli [ 2019-09-12 ] | |||||||||||||||||||||||||||||||||||
|
I've run the first command short after a crash:
Unfortunately at the moment I don't have a core dump to submit. Does this make it impossible to investigate the bug? | |||||||||||||||||||||||||||||||||||
| Comment by Peanuts [ 2019-09-14 ] | |||||||||||||||||||||||||||||||||||
|
Dump attached. Please let us know if this is what you are looking for. | |||||||||||||||||||||||||||||||||||
| Comment by Federico Razzoli [ 2019-09-16 ] | |||||||||||||||||||||||||||||||||||
|
Please see the core dump uploaded by Peanuts. It comes from the same server. | |||||||||||||||||||||||||||||||||||
| Comment by Marko Mäkelä [ 2019-09-30 ] | |||||||||||||||||||||||||||||||||||
|
Peanuts, thank you, the stack traces in dump.txt
and then try to find the thread that is holding those (or has submitted an exclusive latch request on dict_operation_lock) by using the gdb command
It expects the thread identifier in hexadecimal, so you might want to use the print/x command. That is only the first step of analyzing the hang. Often hangs involve multiple mutexes or rw-latches. If you provide a core dump, then I’d also need download links to the executables and shared libraries (ldd /usr/sbin/mysqld). Otherwise the stack traces will typically be garbage. | |||||||||||||||||||||||||||||||||||
| Comment by Federico Razzoli [ 2019-10-07 ] | |||||||||||||||||||||||||||||||||||
|
Unfortunately mysqld is stripped. I have a dump to upload, from the most recent crash. But it's 2.2G, it compresses to 104M. And it seems I can't upload files > 10M here. So how can I share it? In the meanwhile, these are the libraries:
| |||||||||||||||||||||||||||||||||||
| Comment by Marko Mäkelä [ 2019-10-07 ] | |||||||||||||||||||||||||||||||||||
|
f_razzoli, is there a separate package available for your system that includes the debugging symbols? Where did you get the mysqld executable from? The core dump will be rather useless without having access to the debugging symbols and to the executable and the dynamic libraries. You can upload a .tar.bz2 file of the core dump (as well as all the listed .so files) to ftp://ftp.mariadb.com/uploads using anonymous FTP. Let us know the file name. It will only be accessible to employees of MariaDB Corporation. |