| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Perl: Общие вопросы > Скрипт сам завершает работу |
| Автор: winspice 22.4.2014, 21:17 |
| Скрипт многопоточный, когда запускаешь его с прокси, то всё нормально ... ставь хоть 150 потоков. А когда запускаешь без, и ставишь потоков 10 начинает просто жрать память и поток завершает работу. Я вот не могу понять из-за чего такое? Бывает что работает , работает и сам завершит работу. Можно как-нибудь узнать из-за чего такое происходит ? ... |
| Автор: Bulat 22.4.2014, 23:48 |
| Можно! |
| Автор: winspice 23.4.2014, 00:55 | ||
Это происходит в любом скрипте где используется многопоточность. (Это я про, то что жрет все 12гб при 10 потоках) и бывает не понятно почему еще сам завершает работу, даже когда идет работа с прокси и с памятью всё нормально.
|
| Автор: Bulat 23.4.2014, 06:55 |
| winspice, а сообщения об ошибках какие-нить вообще есть, может варнинги?? |
| Автор: noize 23.4.2014, 09:24 |
| вместо goto AGAIN используйте лучше next AGAIN или redo AGAIN. Потомки будут вам благодарны) |
| Автор: winspice 23.4.2014, 11:30 | ||
Хорошо, спасибо Проскакивает вот такое Thread 42 terminated abnormally: Can't locate object method "_uric_escape" via p ackage "URI::SUPER" at C:/Perl64/lib/URI.pm line 81. А так происходит, что никакая страница не открывается и начинает жрать память и выдает cout("thr $_: [!] bad proxy $murl"); Сайт 100% не блочит. |
| Автор: winspice 23.4.2014, 12:41 |
| И как от неё избавиться |
| Автор: Bulat 23.4.2014, 12:49 |
А по самому сообщению догадаться в чем причина?? Обращение не к существующему методу объекта, в следствии происходит Какая ось и какая версия интерпретатора?? И я так полагаю 64-х битная архитектура?? |
| Автор: tzirechnoy 23.4.2014, 14:39 |
| Ваш код, по очевидным причинам, не запускается -- и, например я, дажэ отдалённо не могу представить, что он должэн делать. |
| Автор: noize 23.4.2014, 14:39 |
| ковырните исходник URI, посмотрите, где вызывается метод "_uric_escape" Как вариант, стоит обновить все модули, участвующие в работе. Ну и может быть дело в самом виндовом интерпретаторе. Попробуйте поставить другой или проверьте работу на линуксовой машине. |
| Автор: winspice 23.4.2014, 15:08 | ||
This is perl 5, version 16, subversion 1 (v5.16.1) built for MSWin32-x64-multi-thread |
| Автор: Bulat 23.4.2014, 15:22 | ||
Ну тут я тебе не особый помошник, венды под рукой нету, как впрочем и версии интерпретатора 5.16 Могу лишь дать пару советов. 1. Попробуй поискать на репозитариях последнюю версию модуля URI под свою версию интерпретатора, то бишь 5.16 и залить к себе на машину - она мож уже попатченная будет. Ежели бага не попатчена 2. Попробуй установить версию интерпретатора 5.14 - ее библиотеки наверно постабильнее будет. Если манипуляции с версиями интерпретатора и модулями с репозитариев не дадут результата: 3. Лезь в сам код модуля URI и правь багу самостоятельно! Больше ничего посоветовать не могу! |
| Автор: winspice 23.4.2014, 16:30 | ||||
Всем спасибо. Буду разбираться. |
| Автор: GoodBoy 24.4.2014, 22:13 |
| winspice, я бы вам посоветовал, для начала, вообще избавиться от переходов по меткам... Честно говоря, последний раз такое видел на Бейсике, лет 20 назад. А на Перле вообще никогда не использовал. |