@Absolute138

Почему падает mysqld?

InnoDB: Warning: a long semaphore wait:
--Thread 140561570850560 has waited at log0log.cc line 2315 for 524.00 seconds the semaphore:
S-lock on RW-latch at 0x7fd78686e7b8 '&log_sys->checkpoint_lock'
a writer (thread id 140561570850560) has reserved it in mode exclusive
number of readers 0, waiters flag 1, lock_word: 0
Last time read locked in file log0log.cc line 2315
Last time write locked in file log0log.cc line 2077
Holder thread 0 file not yet reserved line 0
InnoDB: Warning: semaphore wait:
--Thread 140561570850560 has waited at log0log.cc line 2315 for 525.00 seconds the semaphore:
S-lock on RW-latch at 0x7fd78686e7b8 '&log_sys->checkpoint_lock'
a writer (thread id 140561570850560) has reserved it in mode exclusive
number of readers 0, waiters flag 1, lock_word: 0
Last time read locked in file log0log.cc line 2315
Last time write locked in file log0log.cc line 2077
Holder thread 0 file not yet reserved line 0
InnoDB: Warning: Writer thread is waiting this semaphore:
--Thread 140561570850560 has waited at log0log.cc line 2315 for 525.00 seconds the semaphore:
S-lock on RW-latch at 0x7fd78686e7b8 '&log_sys->checkpoint_lock'
a writer (thread id 140561570850560) has reserved it in mode exclusive
number of readers 0, waiters flag 1, lock_word: 0
Last time read locked in file log0log.cc line 2315
Last time write locked in file log0log.cc line 2077
Holder thread 0 file not yet reserved line 0
InnoDB: ###### Starts InnoDB Monitor for 30 secs to print diagnostic info:
InnoDB: Pending reads 0, writes 0
InnoDB: ###### Diagnostic info printed to the standard error stream
2021-03-04 4:05:18 140561667290880 [ERROR] InnoDB: The OS said file flush did not succeed
2021-03-04 04:05:18 7fd7103f7700 InnoDB: Operating system error number 1 in a file operation.
InnoDB: Error number 1 means 'Operation not permitted'.
InnoDB: Some operating system error numbers are described at
InnoDB: http://dev.mysql.com/doc/refman/5.6/en/operating-system-error-codes.html
 InnoDB: Operation flush to file /build/mariadb-10.1-53Dg5K/mariadb-10.1-10.1.41/storage/xtradb/os/os0file.cc and at line 2949
2021-03-04 4:05:18 140561667290880 [ERROR] InnoDB: File (unknown): 'flush' returned OS error 201. Cannot continue operation
210304 4:05:18 [ERROR] mysqld got signal 6 ;

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 = 0x0 thread_stack 0x30000
/usr/sbin/mysqld(my_print_stacktrace+0x2e)[0x564a0209ebee]
/usr/sbin/mysqld(handle_fatal_signal+0x3bd)[0x564a01bdf45d]
/lib/x86_64-linux-gnu/libpthread.so.0(+0x110e0)[0x7fd7898960e0]
/lib/x86_64-linux-gnu/libc.so.6(gsignal+0xcf)[0x7fd788403fff]
/lib/x86_64-linux-gnu/libc.so.6(abort+0x16a)[0x7fd78840542a]
/usr/sbin/mysqld(+0x8a006c)[0x564a01ecc06c]
/usr/sbin/mysqld(+0x8a3fb0)[0x564a01ecffb0]
/usr/sbin/mysqld(+0x9e62f8)[0x564a020122f8]
/usr/sbin/mysqld(+0x9e6824)[0x564a02012824]
/usr/sbin/mysqld(+0x993705)[0x564a01fbf705]
/usr/sbin/mysqld(+0x99889f)[0x564a01fc489f]
/usr/sbin/mysqld(+0x98dd28)[0x564a01fb9d28]
/usr/sbin/mysqld(+0x9e0f8b)[0x564a0200cf8b]
/usr/sbin/mysqld(+0x91de00)[0x564a01f49e00]
/lib/x86_64-linux-gnu/libpthread.so.0(+0x74a4)[0x7fd78988c4a4]
/lib/x86_64-linux-gnu/libc.so.6(clone+0x3f)[0x7fd7884b9d0f]
The manual page at dev.mysql.com/doc/mysql/en/crashing.html contains
information that should help you find out what is causing the crash.
2021-03-04 4:05:26 139836899855744 [Note] InnoDB: Using mutexes to ref count buffer pool pages
2021-03-04 4:05:26 139836899855744 [Note] InnoDB: The InnoDB memory heap is disabled
2021-03-04 4:05:26 139836899855744 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins
2021-03-04 4:05:26 139836899855744 [Note] InnoDB: GCC builtin __atomic_thread_fence() is used for memory barrier
2021-03-04 4:05:26 139836899855744 [Note] InnoDB: Compressed tables use zlib 1.2.8
2021-03-04 4:05:26 139836899855744 [Note] InnoDB: Using Linux native AIO
2021-03-04 4:05:26 139836899855744 [Note] InnoDB: Using SSE crc32 instructions
2021-03-04 4:05:26 139836899855744 [Note] InnoDB: Initializing buffer pool, size = 1.0G
2021-03-04 4:05:26 139836899855744 [Note] InnoDB: Completed initialization of buffer pool
2021-03-04 4:05:26 139836899855744 [Note] InnoDB: Highest supported file format is Barracuda.
2021-03-04 4:05:26 139836899855744 [Note] InnoDB: Starting crash recovery from checkpoint LSN=290193987981
2021-03-04 4:05:29 139836899855744 [Note] InnoDB: Restoring possible half-written data pages from the doublewrite buffer...
2021-03-04 4:05:29 139836899855744 [Note] InnoDB: Starting final batch to recover 202 pages from redo log
2021-03-04 4:05:31 139836899855744 [Note] InnoDB: 128 rollback segment(s) are active.
2021-03-04 4:05:31 139836899855744 [Note] InnoDB: Waiting for purge to start
2021-03-04 4:05:31 139836899855744 [Note] InnoDB: Percona XtraDB (percona.com) 5.6.44-86.0 started; log sequence number 290194011212
2021-03-04 4:05:32 139836899855744 [ERROR] InnoDB: The OS said file flush did not succeed
2021-03-04 04:05:32 7f2e50be0d80 InnoDB: Operating system error number 1 in a file operation.
InnoDB: Error number 1 means 'Operation not permitted'.
InnoDB: Some operating system error numbers are described at
InnoDB: dev.mysql.com/doc/refman/5.6/en/operating-system-error-codes.html
InnoDB: Operation flush to file /build/mariadb-10.1-53Dg5K/mariadb-10.1-10.1.41/storage/xtradb/os/os0file.cc and at line 2949
2021-03-04 4:05:32 139836899855744 [ERROR] InnoDB: File (unknown): 'flush' returned OS error 201. Cannot continue operation
210304 4:05:32 [ERROR] mysqld got signal 6 ;

Server version: 10.1.41-MariaDB-0+deb9u1
key_buffer_size=268435456
read_buffer_size=131072
max_used_connections=0
max_threads=502
thread_count=0
It is possible that mysqld could use up to 
key_buffer_size + (read_buffer_size + sort_buffer_size)*max_threads = 1364903 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 = 0x0 thread_stack 0x30000
*** buffer overflow detected ***: /usr/sbin/mysqld terminated
===== Backtrace: =======
/lib/x86_64-linux-gnu/libc.so.6(+0x70bfb)[0x7f2e4f3f9bfb]
/lib/x86_64-linux-gnu/libc.so.6(__fortify_fail+0x37)[0x7f2e4f482437]
/lib/x86_64-linux-gnu/libc.so.6(+0xf7570)[0x7f2e4f480570]
/lib/x86_64-linux-gnu/libc.so.6(+0xf93aa)[0x7f2e4f4823aa]
/usr/sbin/mysqld(my_addr_resolve+0xd8)[0x562c88780968]
/usr/sbin/mysqld(my_print_stacktrace+0x1bb)[0x562c88769d7b]
/usr/sbin/mysqld(handle_fatal_signal+0x3bd)[0x562c882aa45d]
/lib/x86_64-linux-gnu/libpthread.so.0(+0x110e0)[0x7f2e5084e0e0]
/lib/x86_64-linux-gnu/libc.so.6(gsignal+0xcf)[0x7f2e4f3bbfff]
/lib/x86_64-linux-gnu/libc.so.6(abort+0x16a)[0x7f2e4f3bd42a]
/usr/sbin/mysqld(+0x8a006c)[0x562c8859706c]
/usr/sbin/mysqld(+0x8a3fb0)[0x562c8859afb0]
/usr/sbin/mysqld(+0x9e62f8)[0x562c886dd2f8]
/usr/sbin/mysqld(+0x9e63dc)[0x562c886dd3dc]
/usr/sbin/mysqld(+0x993d8c)[0x562c8868ad8c]
/usr/sbin/mysqld(+0x99d028)[0x562c88694028]
/usr/sbin/mysqld(+0x8787e4)[0x562c8856f7e4]
/usr/sbin/mysqld(+0x8804c8)[0x562c885774c8]
/usr/sbin/mysqld(+0x922a4a)[0x562c88619a4a]
/usr/sbin/mysqld(+0x835de1)[0x562c8852cde1]
/usr/sbin/mysqld(_Z24ha_initialize_handlertonP13st_plugin_int+0x62)[0x562c882ac652]
/usr/sbin/mysqld(+0x42d115)[0x562c88124115]
/usr/sbin/mysqld(_Z11plugin_initPiPPci+0x7da)[0x562c8812577a]
/usr/sbin/mysqld(+0x38430c)[0x562c8807b30c]
/usr/sbin/mysqld(_Z11mysqld_mainiPPc+0x1bd3)[0x562c8807ee33]
/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf1)[0x7f2e4f3a92e1]
/usr/sbin/mysqld(_start+0x2a)[0x562c88072fca]
2021-03-04 4:05:37 140706713234816 [Note] InnoDB: Using mutexes to ref count buffer pool pages
2021-03-04 4:05:37 140706713234816 [Note] InnoDB: The InnoDB memory heap is disabled
2021-03-04 4:05:37 140706713234816 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins
2021-03-04 4:05:37 140706713234816 [Note] InnoDB: GCC builtin __atomic_thread_fence() is used for memory barrier
2021-03-04 4:05:37 140706713234816 [Note] InnoDB: Compressed tables use zlib 1.2.8
2021-03-04 4:05:37 140706713234816 [Note] InnoDB: Using Linux native AIO
2021-03-04 4:05:37 140706713234816 [Note] InnoDB: Using SSE crc32 instructions
2021-03-04 4:05:37 140706713234816 [Note] InnoDB: Initializing buffer pool, size = 1.0G
2021-03-04 4:05:38 140706713234816 [Note] InnoDB: Completed initialization of buffer pool
2021-03-04 4:05:38 140706713234816 [Note] InnoDB: Highest supported file format is Barracuda.
2021-03-04 4:05:38 140706713234816 [Note] InnoDB: Starting crash recovery from checkpoint LSN=290193987981
2021-03-04 4:05:38 140706713234816 [Note] InnoDB: Restoring possible half-written data pages from the doublewrite buffer..
2021-03-04 4:05:38 140706713234816 [Note] InnoDB: Starting final batch to recover 202 pages from redo log
2021-03-04 4:05:39 140706713234816 [Note] InnoDB: 128 rollback segment(s) are active.
2021-03-04 4:05:39 140706713234816 [Note] InnoDB: Waiting for purge to start
2021-03-04 4:05:39 140706713234816 [Note] InnoDB: Percona XtraDB (http://www.percona.com) 5.6.44-86.0 started; log sequence number 290194011222
2021-03-04 4:05:42 140706713234816 [ERROR] InnoDB: The OS said file flush did not succeed
2021-03-04 04:05:42 7ff8d5a8ed80 InnoDB: Operating system error number 1 in a file operation.
InnoDB: Error number 1 means 'Operation not permitted'.
InnoDB: Some operating system error numbers are described at
InnoDB: dev.mysql.com/doc/refman/5.6/en/operating-system-error-codes.html
InnoDB: Operation flush to file /build/mariadb-10.1-53Dg5K/mariadb-10.1-10.1.41/storage/xtradb/os/os0file.cc and at line 2949
2021-03-04 4:05:42 140706713234816 [ERROR] InnoDB: File (unknown): 'flush' returned OS error 201. Cannot continue operation
210304 4:05:42 [ERROR] mysqld got signal 6;
  • Вопрос задан
  • 972 просмотра
Решения вопроса 1
@vitaly_il1
DevOps Consulting
Я бы
1) проверил что у сервера нет проблем с железом, на диске есть место и т.п.
2) обновил MariaDB до последней стабильной 10.5
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
@Absolute138 Автор вопроса
Не буду называть хостера...
Vitaly Karasik оказался прав.
Далее переписка с саппортом:
Здравствуйте! В районе 4 утра упал mysqld.
IP сервера: XXX.XXX.XXX.XXX
Мой лог mysql по ссылке: http://*.ru/error.log_8.1.gz
Все рекомендуют проверить работу железа.
Похожая проблема на форуме MySQL:
https://forums.mysql.com/read.php?22,620521,620521...
https://bugs.mysql.com/bug.php?id=74824

После падения mysql поднялась и сейчас работает без критических ошибок в логах. Уточните, имеются ли на моем сервере проблемы с оборудованием/драйверами? И с чем может быть связано данное падение?

Ответ хостера:
Здравствуйте!

Да, на корневом сервере были проблемы с дисками. На данный момент все должно быть нормально, но рекомендуем на всякий случай перезагрузить сервер чтобы он проверил файловую систему.

И не уведомления, ни черта не было. Такое отношение((
Ответ написан
romesses
@romesses
Backend инженер
https://community.apachefriends.org/f/viewtopic.ph...

Open MySQL config file by “Config” —> “my.ini”.
Insert
innodb_flush_method=normal

between
innodb_lock_wait_timeout = 50

and
## UTF 8 Settings

Start MySQL again in xampp.


Обновление
*** buffer overflow detected ***: /usr/sbin/mysqld terminated

Переполнение буфера - ошибка в самой СУБД. По мне, так нужно или обновиться или до последнего исправления, если есть, или, как советует Vitaly Karasik , до более поздней версии. Это может быть вызвано окружением, настройками и т.д.
Ну и очень специфичные вопросы лучше задавать напрямую у разработчиков MariaDB на английском языке.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы