Как отладить ошибку сегментации в php / libc?

Я запускаю команды PHP CLI внутри виртуальной машины Ubuntu через SSH. Проблема в том, что некоторые команды начали вызывать ошибки сегментации.

Как ни странно, это происходит только тогда, когда команда запускается через SSH. Если я запускаю его прямо внутри ВМ, проблем нет. Кроме того, это не происходит на другой машине с той же виртуальной машиной.

Когда я запускаю команду PHP (через SSH с хост-компьютера), единственное, что я вижу в журналах на виртуальной машине, это:

22 марта 14:53:00 локальное ядро: [ 1868.863475] php[4967]: segfault at 7ff60c200000 ip 00007ff6202b284e sp 00007ffce7f19448 ошибка 4 в libc-2.23.so[7ff620213000+1c0000]

Кажется, это указывает на то, что проблема на самом деле не в PHP, а в стандартной библиотеке. Если это так, как я могу отладить это и / или как я должен отправить отчет об ошибке?

Подробности, если они актуальны:

Мой хост-компьютер также является Ubuntu, а виртуальная машина - DrupalVM, использующая базовую коробку beet/box. На самом деле я запускаю команду blt setup (см. Https https://github/acquia/blt), которая вызывает drush cex внутри виртуальной машины через SSH.

Именно эта команда drush cex недавно начала вызывать ошибку сегмента.

1 ответ

Первый вариант:

      strace mycommand

... и смотреть, что происходит

Второй вариант

      gdb mycommand

... и пройти через это

Третий вариант

      gather the dumps and analyze them.
- https://stackoverflow.com/questions/17965/how-to-generate-a-core-dump-in-linux-on-a-segmentation-fault

Первого обычно достаточно, если у вас есть интуиция о том, что происходит. В вашем случае это, вероятно, что-то глупое, например, согласование возможностей терминала или что-то еще, не относящееся к основному ядру, но вы никогда не знаете .... может быть серьезно.

Второй вариант самый сложный.

Другие вопросы по тегам