Идентификация источника ошибки

Главные вкладки

Аватар пользователя kwinto kwinto 4 июня 2008 в 12:06

Приветствую всемогущий коллективный разум Smile

Проблема такая: Необходимо найти источник ошибки сохраняемой в watchlog при работе cron
Предыстория: Решился наконец испробовать поиск через друпаловский движок. Включил и получил ...
Во первых поиск далеко не полный - т.е. находит далеко не все документы с данным ключевым словом.
А во вторых - при выполнении переиндексации через cron в watchlog сыпется огромное количество ошибок типа:


mysql_num_rows(): supplied argument is not a valid MySQL result resource в файле <Путь>/p57/includes/database.mysql.inc в строке 236.


Изменения на библиотеку mysqli не приносят облегчения - ошибка подобная, текст несколько другой.
Для идентификации причины, хотелось бы выяснить откуда производиться вызов этой функции. Пробовал модуль trace, но он не помог в этом - ошибки появляются в watchlog, а он об этом в своих логах не пишет.
Опыта трассировки и отлова ошибок в PHP у меня практически нет, в целях экономии времени вынужден просить помощь у элитарного клуба Smile

Надеюсь и надеюсь, что не зря Wink

Версия 5.7. Есть CCK поля практически во всех нодах

Комментарии

Аватар пользователя kwinto kwinto 4 июня 2008 в 20:42

Спасибо за ответ, но дело в том, что модуль, который генерирует ошибки почти на 100% search. Меня интересует, откуда и с какими аргументами вызывается эта функция, когда возникает ошибка.

Аватар пользователя kwinto kwinto 5 июня 2008 в 11:57

Спасибо - я это видел Smile
Только список неполный (к тому же строки 855 и 865 к процессу переиндексации не имеют отношения) - serach еще хуки из других модулей вызывает при индексации и там куча вызовов этой функции тоже присутствует. Хорошо бы понять в каком месте и при каких условиях возникает эта ошибка.
Можно конечно в db_result встроить обработчик, но мне не совсем понятен механизм как drupal в php отлавливает ошибки и как мне в коде (встроенном после вызова mysql_num_rows) понять, что она произошла, что бы сбросить на диск стек вызовов с переменными.