Asterisk на FreeBSD, обрывы и тишина при обзвоне

При обзвоне случайным образом переставал проигрываться звуковой файл. В консоль выдавалось предупреждение о том, что невозможно подобрать нужный кодек. В ходе отладки выяснилось, что структура в стеке не была инициализирована в коде. Лечится просто, нужно отключить оптимизацию кода.
--- build_tools/cflags.xml.orign 2014-04-11 05:33:03.000000000 +0400
+++ build_tools/cflags.xml 2015-08-05 13:50:56.000000000 +0300
@@ -1,5 +1,6 @@
 <category name="MENUSELECT_CFLAGS" displayname="Compiler Flags" positive_output="yes" remove_on_change=".lastclean">
  <member name="DONT_OPTIMIZE" displayname="Disable Optimizations by the Compiler">
+  <defaultenabled>no</defaultenabled>
   <support_level>core</support_level>
  </member> <member name="DEBUG_THREADS" displayname="Enable Thread Debugging">

Asterisk на FreeBSD, пропадание звука

Случайным образом на Asteriskе пропадает звук. Симптомы простые, отправляется только один, первый rtp пакет, а дальше тишина. Лечится перезапуском приложения. Причину удалось локализовать случайно, переставал работать DAHDI таймер. Проверяется командой:
timing test
Пришлось отказаться от его использования.

mc и настройки терминала

Как-то очень давно разбирался с mc который почему-то после обновления перестал выводить на консоль результат выполнения скриптов после Ctrl+o. Дело оказалось в escape последовательности управления терминала, в mc изменили команды сохранения и восстановления данных. Через пару месяцев пропатчили порты и все забылось. Прошло два года и всплыли те-же грабли, кто знает, когда мы опять на них наступим.

tcpdump на unix socket

Ну не умеет tcpdump снифить файловые сокеты. Можно воспользоватся утилитой «socat», ставится из портов. На примере ngnx и php-fpm.
Меняем конфигурацию ngnx:
fastcgi_pass unix:/tmp/php-fpm.sock.socat;
И перезапускаем:
/usr/local/etc/ngnx restart

Запускаем снифер и смотрим вывод:
socat -t100 -x -v UNIX-LISTEN:/tmp/php-fpm.sock.socat,mode=777,reuseaddr,fork UNIX-CONNECT:/tmp/php-fpm.sock
>2015/11/27 15:09:38.548061 length=752 from=0 to=751
01 01 00 01 00 08 00 00 00 01 00 00 00 00 00 00 ................
01 04 00 01 02 c3 05 00 0f 34 53 43 52 49 50 54 .........4SCRIPT
5f 46 49 4c 45 4e 41 4d 45 2f 75 73 72 2f 6c 6f _FILENAME/usr/lo
...

В поисках кота или наблюдение за черным ящиком

Не редко, запуская долгую рутинную операцию, нам хотелось бы знать, на каком этапе она находится. Если приложение делает обработку файлов на диски, за ним можно подсмотреть.
Посмотреть открытые файлы можно командой:
fstat -f /var/db/mysql

USER CMD PID FD MOUNT INUM MODE SZ|DV R/W
root bsdtar 1609 4 /var 27127719 drwx------ 20992 r
root bsdtar 1609 5 /var 27127719 drwx------ 20992 r

Найти имя файла можно командой:
find /var -inum 27127719 -ls

27127719 48 drwx------ 2 88 88 20992 Sep 25 09:38 /var/db/mysql/sc55db