На сервере с CentOS 5.1 столкнулся с такой проблемой: Apache при открытии PHP-страниц с завидным постоянством писал в лог следующие ошибки:
*** glibc detected *** /usr/sbin/httpd: corrupted double-linked list: 0x09a939f8 ***
К сожалению, поиск в Google практических результатов не дал: ошибка могла случаться на любом железе и любой версии Linux. Больше всего жаловались (не)счастливые обладатели Zend Optimizer.
Обновил CentOS до 5.2 (в обновлении пришёл новый glibc
), но это не помогло. Странно, я видел много серверов, работающих на CentOS без таких ошибок.
Пытаясь найти минимальную конфигурацию, на которой бы воспроизводились ошибки, я отключал один за одним модули Apache, модули PHP, но всё тщетно. Когда же я отключил mod_php, ошибка пропала — на статических страницах всё было прекрасно. Читать статью «Обновление PHP до 5.2.x в CentOS 5» полностью…
При создании сайтов, занимающихся email-маркетингом, полезно анализировать логи почтового сервера, например, для нахождения адресов, генерирующих hard bounce (перманентная ошибка доставки). Такие адреса нужно удалять из списка рассылки. Во-первых, для того, чтобы не нагружать сервер адресата, а во-вторых, чтобы не попасть в блок- или спамлист. Читать статью «Простой анализатор логов Postfix» полностью…
Забавно… С параметром debug
xl2tpd отлично работает. А если вместо debug
поставить nodebug
, перестаёт работать:
Dec 10 05:46:48 xl2tpd[2879]: child_handler : pppd exited for call 30961 with code 2
Dec 10 05:46:48 xl2tpd[2879]: read_packet: Error 9 (Bad file descriptor)
Dec 10 05:46:48 last message repeated 10 times
Dec 10 05:46:48 xl2tpd[2879]: read_packet: Too many errors. Declaring call dead.
Dec 10 05:46:53 xl2tpd[2879]: network_thread: unable to find call or tunnel to handle packet. call = 24450, tunnel = 23148 Dumping.
Dec 10 05:46:58 last message repeated 2 times
Всё же интересно: так и было задумано? Или всё-таки баг?
В последнее время на разных Ubuntu Intrepid Ibex я стал довольно часто сталкиваться с ошибкой
Cannot mix incompatible Qt libraries
Очень сильно этим грешит Skype. Но в последнее время такая проблема стала возникать для приложений KDE4.
Данная ошибка, как правило, вызывается одной из следующих причин:
- В системе установлены библиотеки Qt разных версий. Проверяется это очень просто:
dpkg -l | grep qt | grep -r "^[ih]"
Если в выдаче присутствуют библиотеки разных версий (третья колонка), значит, именно это вызвало проблему. Удаление старых библиотек, как правило, решает проблему.
В этом случае, например, конфликта нет:
ii libqt4-dbus 4.4.2-0ubuntu2 Qt 4 D-Bus module
ii libqt4-designer 4.4.2-0ubuntu2 Qt 4 designer module
ii libqt4-network 4.4.2-0ubuntu2 Qt 4 network module
ii libqt4-opengl 4.4.2-0ubuntu2 Qt 4 OpenGL module
ii libqt4-qt3support 4.4.2-0ubuntu2 Qt 3 compatibility library for Qt 4
ii libqt4-script 4.4.2-0ubuntu2 Qt 4 script module
ii libqt4-sql 4.4.2-0ubuntu2 Qt 4 SQL module
ii libqt4-svg 4.4.2-0ubuntu2 Qt 4 SVG module
ii libqt4-xml 4.4.2-0ubuntu2 Qt 4 XML module
ii libqtcore4 4.4.2-0ubuntu2 Qt 4 core module
ii libqtgui4 4.4.2-0ubuntu2 Qt 4 GUI module
ii libstrigiqtdbusclient0 0.5.11-1 library for writing D-Bus clients for Strigi Desktop Se
ii qt4-qtconfig 4.4.2-0ubuntu2 Qt 4 configuration tool
Тем не менее, если ошибка всё еще выдаётся, переходим к пункту 2.
- Если используется 64-битная платформа, проблема может возникать из-за того, что загрузчик пытается использовать 32-битные библиотеки. Определить это можно при помощи
ldd
.
Например,
ldd /usr/bin/ktorrent | grep '/lib32/'
# libQtDBus.so.4 => /lib32/libQtDBus.so.4 (0x00007f191cce7000)
В данном случае при загрузке libQtDBus загрузчик будет загружать её 32-битную версию (из /lib32
) вместо 64-битной (из /lib
).
Я использую следующее решение (оно не идеальное, но работает):
sudo -i
echo /lib32 > /etc/ld.so.conf.d/libQtDBus32.conf
echo /usr/lib > /etc/ld.so.conf.d/libQtDBus64.conf
ldconfig
- Наконец, если подобная проблема возникает при использовании Skype на 64-битной платформе, то проще всего скачать static version. Очень сильно экономит нервы
Не любят разработчики Ubuntu Skype… совсем не любят. Только-только нашлось решение после безумного обновления ia32-libs
, как через несколько дней возникла новая проблема: Skype (да и не только Skype) стал падать с сообщением об ошибке:
ALSA lib ../../src/conf.c:2700:(snd_config_hooks_call) Cannot open shared library /usr/lib/alsa-lib/libasound_module_conf_pulse.so
ALSA lib ../../../src/control/control.c:909:(snd_ctl_open_noupdate) Invalid CTL hw:0
Читать статью «Возвращаем Skype к жизни в Ubuntu Intrepid Ibex на 64-битной платформе» полностью…