Ошибка недетерминированной ссылки на объект в PHP 5.3.X

Со вчерашнего дня (возможно, после недавнего обновления PHP?) я получаю очень странные недетерминированные ошибки в php 5.3.3. Они также появляются на нашем производственном сервере в PHP 5.3.2.

Ошибки по существу составляют Fatal error: Uncaught exception 'ErrorException' with message 'Attempt to assign property of non-object' в различных частях кодовой базы. Как правило, строка ошибки выглядит примерно так: $this->foo = $bar в вызове __construct().

$this не найден в конструкторе?!

Я понятия не имею, что происходит. Любые идеи? Возможно, это регресс этой ошибки?: http://bugs.php.net/31525

Редактировать: я должен упомянуть, что обновление скрипта через некоторое время без каких-либо изменений в коде заставляет его снова работать. Следовательно, недетерминирован.

Редактировать 2. Кроме того, хотя PHP настроен на регистрацию даже мельчайших ошибок и записывает другие ошибки по мере их возникновения, эта ошибка не регистрируется в файле журнала. Это наводит меня на мысль, что мы смотрим на ошибку зависимости PHP-движка.


person Karan    schedule 15.11.2010    source источник
comment
На моем локальном компьютере их нет: pastie.org/pastes/1300493/text ?key=79mmr7dmm10qi4cvy6kvg   -  person Karan    schedule 15.11.2010
comment
Покажите конструктор... На самом деле, покажите весь класс, если можете... Всегда ли это происходит в одном и том же классе? Или ошибка бродит? У вас есть полные обратные трассировки, чтобы убедиться, что ошибка не запускается в другой строке, а отображается там (например, внутри магического метода)?   -  person ircmaxell    schedule 15.11.2010
comment
Сегодня утром ошибка начала появляться в разных местах, но она постоянно появляется здесь: pastie.org/private/93cnqeowtwzawudurgrg9g< /а>   -  person Karan    schedule 15.11.2010


Ответы (1)


Ну видимо баг...

Вот некоторые соответствующие отчеты об ошибках:

person ircmaxell    schedule 15.11.2010
comment
Да, это подтверждает мои подозрения. Мы собираемся установить последнюю версию 5.3.x и опубликовать здесь наш прогресс. Спасибо за ответ! - person Karan; 15.11.2010
comment
Из любопытства, на какой платформе вы работаете (32-битная x86? или 64-битная x64)? - person ircmaxell; 15.11.2010
comment
Linux karan-desktop 2.6.35-22-generic #35-Ubuntu SMP, сб, 16 октября, 20:36:48 UTC 2010 i686 GNU/Linux (32-разрядная версия), а рабочий сервер работает под управлением 64-разрядной версии (Linux cyphontech 2.6.32-25). -server #45-Ubuntu SMP, сб, 16 октября, 20:06:58 UTC 2010 x86_64 GNU/Linux) - person Karan; 15.11.2010
comment
Это интересно, так как вторая ошибка предполагает, что это 64-битная проблема. Я предлагаю попробовать снимок. В любом случае (если это работает или нет) опубликуйте ответ на одну из ошибок с соответствующей информацией (я бы предложил 50027), а затем ответьте на другую, указав, что они, вероятно, связаны с проблемами... - person ircmaxell; 15.11.2010
comment
Подойдет, снимок сейчас компилируется. - person Karan; 16.11.2010
comment
Просто обновление, мы обновили до php 5.3.4-dev, собирая из снапшота. Обратите внимание, что сборка по какой-то причине заставляет файл php.ini находиться в /usr/local/lib. - person Karan; 16.11.2010