А в какой последовательности падает PHP?

Scud

Новичок
А в какой последовательности падает PHP?

Формулировка темы может быть не точной, попробую описать вопрос тут ;)

У меня есть некий скрипт, который стабильно вызывает падение PHP (версия 5.1.2) как на виндах так и на FreeBSD (на Linux - Centos не падает).
На виндах подает с просьбой отправить отчёт в MS ;), на FreeBSD c " terminated due to uncaught signal '11' (Segmentation fault".

Причем структура скрипта следующая.

1. Запрос данных из БД (MySQL).
2. Построение из этих данных XML-дерева (DOM - упрощенный, самописный, на базе ассоциативных массивов).
3. Код вызывающий кирдык, я его локализовал.
4. Сериализация DOM'a в строку и трансформация результата с помощью XSLT в HTML.
5. Вывод результата трансформации.

Так вот, как видно HTML отдаётся пользователю в самом конце, и код вызывающий падение PHP находиться до него, но при просмотре страниц сформированных данным скриптом, я всегда получаю некоторую часть HTML'я, каждый раз разную по длине. Почему так происходит? Может кто-нибудь дать объяснение?
 

itprog

Cruftsman
Bred Vilchec
зачем сразу то?
Сначало надо найти именно ту строку, которая вызывает падение
 

Bred Vilchec

Новичок
itprog
Затем, что багрепорты нужно постить точно туда, куда их нужно постить, а не куда попало.
Автор оригинала: itprog
Сначало надо найти именно ту строку, которая вызывает падение
Автор оригинала: Scud
3. Код вызывающий кирдык, я его локализовал.
Goto: http://bugs.php.net/report.php
 

Scud

Новичок
Причём тут багрепорты, багрепорты постят если есть код который воспроизводит ошибку, а у меня он на уровне "вот тут падает, но почему не знаю." Или я что спрашивал что мне делать, я спрашивал почему мне HTML отдаётся после крэша.
 

Bred Vilchec

Новичок
Автор оригинала: Scud
3. Код вызывающий кирдык, я его локализовал.
Автор оригинала: Scud
если есть код который воспроизводит ошибку
Так код локализован или нет? Вы можете хотя бы сюда привести _минимальный_ кусок php-кода, вызывающий сегфолт?
 

Andreika

"PHP for nubies" reader
Bred Vilchec
это некий абстрактный кусок и ошибку в нем надо искать такими же абстрактными методами )

Scud
>я спрашивал почему мне HTML отдаётся после крэша
вероятно потому, что этот код не место падения, а причина... хотя можно еще предположить, что интерпритатор настока быстрый, что разогнавшись еще доли секунды работает по инерции
 

Alexandre

PHPПенсионер
1. Запрос данных из БД (MySQL).
2. Построение из этих данных XML-дерева (DOM - упрощенный, самописный, на базе ассоциативных массивов).
3. Код вызывающий кирдык, я его локализовал.
4. Сериализация DOM'a в строку и трансформация результата с помощью XSLT в HTML.
5. Вывод результата трансформации.
Посторайся ответить на вопросы:
1. каково кол-во строк, отдаваемое БД ?
2. каков объем памяти процесса, занимаемый самописным домом
3. ...
4. Нужнали Сериализация DOM'a в строку , если XSLT все равно использует стандартный DOM использует. Каков расход памяти при этом?
 

ys

отодвинутый новичок
Автор оригинала: Andreika
>я спрашивал почему мне HTML отдаётся после крэша

вероятно потому, что этот код не место падения, а причина... хотя можно еще предположить, что интерпритатор настока быстрый, что разогнавшись еще доли секунды работает по инерции
5 баллов :)
 
Сверху