Помогите воспроизвести ошибку в скрипте

grigori

( ͡° ͜ʖ ͡°)
Команда форума
Привет, у меня странная и не везде воспроизводимая ошибка со Смарти.

Воспроизводится на линуксе с 5.3.6, freebsd с 5.2.17, MacOS с 5.4RC3
Не воспроизводится на том же freebsd на 5.3.3 (в т.ч. с конфигом от 5.2.17)

Можете воспроизвести у себя? Может, поймем закономерность.
Может, это ошибка проявляется только в последних релизах php.

Вот архив с кодом:
grik.net/smarty_bug.tar.bz2
ошибка появляется при установке mbstring.func_overload = 2 в php.ini (должно стоять расширение mbstring)
из cli: $ php -d mbstring.func_overload=2 index.php

Проявляется ошибка через потребление 100% CPU, рост потрбления памяти и обвал или по таймауту, или по memory limit
 

Вурдалак

Продвинутый новичок
Ну ошибка где-то в лексере, когда он встречает кириллицу. Это видно, если включить $_parserdebug.

P.S. В том же лексере есть какие-то зависимости от ini_get('mbstring.func_overload') & 2 — их баг скорее всего.
 

grigori

( ͡° ͜ʖ ͡°)
Команда форума
ошибка в бесконечном цикле на strlen
а вот что там есть специальная обработка mbstring.func_overload - это интересно
 
Сверху