Зависание при построение потока лексем

Issue #336 closed
Вадим Клевцов created an issue

Originally reported on Google Code with ID 336

Данный код вызывает зависания сервера:
require_once($CFG->dirroot.'/question/type/correctwriting/enum_analyzer.php');
require_once($CFG->dirroot.'/question/type/correctwriting/string_pair.php');
require_once($CFG->dirroot.'/blocks/formal_langs/language_base.php');
require_once($CFG->dirroot.'/question/type/correctwriting/processed_string.php');
require_once($CFG->dirroot.'/blocks/formal_langs/language_simple_english.php');

$lang = new block_formal_langs_language_simple_english;
$string = 'Today I meet some friends and my neighbors , with their three children :
Victoria , Carry and Tom .';
$correctanswer = $lang->create_from_string($string, 'qtype_correctwriting_proccesedstring');
var_dump($correctanswer->stream);


mamontovdp-mariabirvg-correctwriting2 + mamontovdp-mariabirvg-formallangs.

Reported by vad23klev on 2015-03-10 05:10:21

Comments (10)

  1. Former user Account Deleted
    У меня в репозитории нет ни enum_analyzer.php ни processed_string.php. Если убрать ненужное
    и оставить просто $lang->create_from_string($string);, то у меня все работает. Скорее
    всего, что-то у тебя.
    
    Сделай дебаг с логированием, где виснет.
    

    Reported by mamontov.dp on 2015-03-12 19:41:35

  2. Вадим Клевцов Account Deactivated reporter
    Последняя строка виснет 
    
    Moodle 2.9dev (Build: 20150305), mariadb, b90f98dadee06535fce23cb865690f4f9da15271
    PHPUnit 3.7.38 by Sebastian Bergmann.
    
    Configuration read from /var/www/moodle/phpunit.xml
    
    PHP Fatal error:  Allowed memory size of 2147483648 bytes exhausted (tried to allocate
    77 bytes) in /var/www/moodle/vendor/phpunit/phpunit/PHPUnit/Util/ErrorHandler.php on
    line 130
    
    Fatal error: Allowed memory size of 2147483648 bytes exhausted (tried to allocate 77
    bytes) in /var/www/moodle/vendor/phpunit/phpunit/PHPUnit/Util/ErrorHandler.php on line
    130
    

    Reported by vad23klev on 2015-03-12 21:25:05

  3. Former user Account Deleted
    Вадим, этот баг ко мне не относится. Я воспроизвел в точности твой случай, за исключением
    использования qtype_correctwriting_proccesedstring на своем клоне. У меня ничего не
    виснет. Если не веришь- подойди в понедельник.  У тебя вообще по сообщению оно падает
    в PHPUnit, что не верно. 
    
    Разбирайся, дебажь глубже. 
    
    Тем более, что судя по всему, у тебя мог съесть память кто-то до этого. Попробуй вставить
    перед вызовом gc_collect_cycles().
    
    Также сообщи мне версию PHP. Валерий недавно нашел баг, который ломает лексер:https://bugs.php.net/bug.php?id=68057
    в PHP 5.6 .
    

    Reported by mamontov.dp on 2015-03-13 05:58:46

  4. Вадим Клевцов Account Deactivated reporter
    Я пошел дебажить. Версия PHP 5.6. Функция вернула 0.
    

    Reported by vad23klev on 2015-03-13 06:59:01

  5. Former user Account Deleted
    Сделай даунгрейд у себя до версии 5.5 для начала. Проблема, описанная Валерием до сих
    пор не решена.
    

    Reported by mamontov.dp on 2015-03-13 07:04:37

  6. Вадим Клевцов Account Deactivated reporter
    после дайнгрейда виснет только 1 тест. gc_collect_cycles() вернул 19308. Буду искать
    проблему в тесте.
    

    Reported by vad23klev on 2015-03-16 08:51:11 - Status changed: InProgress

  7. Former user Account Deleted
    Какой прогресс по этой проблеме? Может её вообще лучше закрыть, раз проблема не в зависании.
    

    Reported by mamontov.dp on 2015-05-06 06:25:32

  8. Вадим Клевцов Account Deactivated reporter

    Reported by vad23klev on 2015-05-06 06:31:59 - Status changed: Fixed

  9. Log in to comment