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

Модуль JComments Latest:

На
локальном компьютере стоит
Денвер (Apache 2.2.22, PHP5 5.2.12, MySQL 5.5.25). Сделал полную копию файлов и базы данных с хостинга. Все работало нормально до последнего времени.
На днях слил последний дамп БД с хостинга и залил в локальную БД и
локальный сайт перестал открываться. Выдается ошибка "Прекращена работа программы Apache HTTP Server":
Пробовал на разных версиях Денвера и XAMPP. Результат везде одинаковый. Перезагрузка компьютера и отдельно Денвера не помогает.
Выкладываю error.log сервера Apache, в нем вроде ничего подозрительного не вижу:
[Wed Mar 20 09:03:29 2013] [warn] Init: Name-based SSL virtual hosts only work for clients with TLS server name indication support (RFC 4366)
[Wed Mar 20 09:03:29 2013] [warn] pid file Z:/usr/local/apache/logs/httpd.pid overwritten -- Unclean shutdown of previous Apache run?
[Wed Mar 20 09:03:30 2013] [warn] Init: Name-based SSL virtual hosts only work for clients with TLS server name indication support (RFC 4366)
[Wed Mar 20 09:03:30 2013] [notice] Apache/2.2.22 (Win32) mod_ssl/2.2.22 OpenSSL/1.0.1c PHP/5.2.12 configured -- resuming normal operations
[Wed Mar 20 09:03:30 2013] [notice] Server built: Apr 20 2012 18:42:30
[Wed Mar 20 09:03:30 2013] [notice] Parent: Created child process 8076
[Wed Mar 20 09:03:30 2013] [notice] Disabled use of AcceptEx() WinSock2 API
[Wed Mar 20 09:03:31 2013] [warn] Init: Name-based SSL virtual hosts only work for clients with TLS server name indication support (RFC 4366)
[Wed Mar 20 09:03:32 2013] [warn] Init: Name-based SSL virtual hosts only work for clients with TLS server name indication support (RFC 4366)
[Wed Mar 20 09:03:32 2013] [notice] Child 8076: Child process is running
[Wed Mar 20 09:03:32 2013] [notice] Child 8076: Acquired the start mutex.
[Wed Mar 20 09:03:32 2013] [notice] Child 8076: Starting 25 worker threads.
[Wed Mar 20 09:03:32 2013] [notice] Child 8076: Listening on port 443.
[Wed Mar 20 09:03:32 2013] [notice] Child 8076: Listening on port 8648.
[Wed Mar 20 09:03:32 2013] [notice] Child 8076: Listening on port 443.
[Wed Mar 20 09:03:32 2013] [notice] Child 8076: Listening on port 80.
[Wed Mar 20 09:07:13 2013] [notice] Parent: child process exited with status 3221225725 -- Restarting.
[Wed Mar 20 09:07:19 2013] [warn] Init: Name-based SSL virtual hosts only work for clients with TLS server name indication support (RFC 4366)
[Wed Mar 20 09:07:19 2013] [notice] Apache/2.2.22 (Win32) mod_ssl/2.2.22 OpenSSL/1.0.1c PHP/5.2.12 configured -- resuming normal operations
[Wed Mar 20 09:07:19 2013] [notice] Server built: Apr 20 2012 18:42:30
[Wed Mar 20 09:07:19 2013] [notice] Parent: Created child process 6500
[Wed Mar 20 09:07:19 2013] [notice] Disabled use of AcceptEx() WinSock2 API
[Wed Mar 20 09:07:19 2013] [warn] Init: Name-based SSL virtual hosts only work for clients with TLS server name indication support (RFC 4366)
[Wed Mar 20 09:07:20 2013] [warn] Init: Name-based SSL virtual hosts only work for clients with TLS server name indication support (RFC 4366)
[Wed Mar 20 09:07:20 2013] [notice] Child 6500: Child process is running
[Wed Mar 20 09:07:20 2013] [notice] Child 6500: Acquired the start mutex.
[Wed Mar 20 09:07:20 2013] [notice] Child 6500: Starting 25 worker threads.
[Wed Mar 20 09:07:20 2013] [notice] Child 6500: Listening on port 443.
[Wed Mar 20 09:07:20 2013] [notice] Child 6500: Listening on port 8648.
[Wed Mar 20 09:07:20 2013] [notice] Child 6500: Listening on port 443.
[Wed Mar 20 09:07:20 2013] [notice] Child 6500: Listening on port 80.
[Wed Mar 20 09:07:53 2013] [notice] Parent: child process exited with status 3221225725 -- Restarting.
[Wed Mar 20 09:07:59 2013] [warn] Init: Name-based SSL virtual hosts only work for clients with TLS server name indication support (RFC 4366)
[Wed Mar 20 09:07:59 2013] [notice] Apache/2.2.22 (Win32) mod_ssl/2.2.22 OpenSSL/1.0.1c PHP/5.2.12 configured -- resuming normal operations
[Wed Mar 20 09:07:59 2013] [notice] Server built: Apr 20 2012 18:42:30
[Wed Mar 20 09:07:59 2013] [notice] Parent: Created child process 5600
[Wed Mar 20 09:07:59 2013] [notice] Disabled use of AcceptEx() WinSock2 API
[Wed Mar 20 09:07:59 2013] [warn] Init: Name-based SSL virtual hosts only work for clients with TLS server name indication support (RFC 4366)
[Wed Mar 20 09:08:00 2013] [warn] Init: Name-based SSL virtual hosts only work for clients with TLS server name indication support (RFC 4366)
[Wed Mar 20 09:08:00 2013] [notice] Child 5600: Child process is running
[Wed Mar 20 09:08:00 2013] [notice] Child 5600: Acquired the start mutex.
[Wed Mar 20 09:08:00 2013] [notice] Child 5600: Starting 25 worker threads.
[Wed Mar 20 09:08:00 2013] [notice] Child 5600: Listening on port 443.
[Wed Mar 20 09:08:00 2013] [notice] Child 5600: Listening on port 8648.
[Wed Mar 20 09:08:00 2013] [notice] Child 5600: Listening on port 443.
[Wed Mar 20 09:08:00 2013] [notice] Child 5600: Listening on port 80.
Провел большую работу и путем исключений выяснил, что
дело в модуле JComments Latest. Стоит последняя версия 3.0.1 на Joomla 2.5.9. Если модуль отключить, локальный сайт грузится.
Далее, оказалось, что
дело всего лишь в одном последнем комментарии (на скриншотах это #8). Если отключить его в админке, все грузится и при включенном модуле.
Более того,
если укоротить текст цитаты в нем, например, как показано на скриншоте под спойлером, то все грузится и при включенном этом комментарии. Вот этот рабочий вариант в локалке:
Причем можно укоротить цитату в любом ее месте, не обязательно в конце. Посторонних невидимых символов в тексте цитаты и комментария нет. Число допустимых символов (1000) заведомо не превышается.
Что за странное поведение модуля? Почему падает локальный сервер Апач? Я догадаться не могу. Это может быть баг модуля JComments Latest? Если да, как его убрать? Дело не в одном конкретном комментарии (его можно и выкинуть или сократить), а в принципе. Ведь этот эффект/дефект может повториться в будущем и на других комментариях.
Что предложит разработчик, уважаемый
smart, в этой ситуации?