Russian Qt Forum

Qt => Работа с сетью => Тема начата: orlangur от Сентябрь 27, 2010, 23:13



Название: Случайный сбой где-то в qgenericbearer4.dll
Отправлено: orlangur от Сентябрь 27, 2010, 23:13
Все, что будет описано ниже относится к Qt 4.7 mingw сборке.

Во вложении мини-проект иллюстрирующий проблему, которая заключается в следующем:
при попытке в параллельных потоках выполнить HTTP запросы к разным сайтам через QNetworkAccessManager случайным образом возникает краш в файле qgenericbearer4.dll. Но не при всех запусках. Т.е. может произойти, а может и нет.
Если в main.cpp раскомментировать кусок кода, который заставляет открывать сетевую сессию, то подобных крашей не наблюдается. Кому не лень - гляньте, может я очевидного не вижу и проблема не в отсутствии открытия сетевой сессии?

Вкратце описание:
объект NetRequestManager создается локально в main-е и вызывается его метод process. В этом методе создаются и запускаются 3 объекта потока в которых будет происходить попытка доступа к урлу (который передан в объект). Сигнал о завершении потока подключен к слоту NetRequestManager. По окончании работы всех потоков приложение завершается. Т.е. все довольно тривиально...


Название: Re: Случайный сбой где-то в qgenericbearer4.dll
Отправлено: orlangur от Сентябрь 29, 2010, 11:22
Вопрос к скачавшим пример:
столкнулись ли вы с той же проблемой, что и я? с вылетом из-за ошибки где-то в qgenericbearer4.dll


Название: Re: Случайный сбой где-то в qgenericbearer4.dll
Отправлено: maxxant от Сентябрь 30, 2010, 13:42
Вопрос к скачавшим пример:
столкнулись ли вы с той же проблемой, что и я? с вылетом из-за ошибки где-то в qgenericbearer4.dll

Пробовал запустить под линуксом. Вылетает, но невсегда, в Qt файле qgenericengine.cpp line:287.
Код:
locker.relock();
Причём под отладчиком вылетает стабильно. После расскоментирования строк в main.cpp - не вылетатает. Дальше не копал.



Название: Re: Случайный сбой где-то в qgenericbearer4.dll
Отправлено: orlangur от Сентябрь 30, 2010, 13:51
Стало быть баг кроссплатформенный )
надо бы троллям запостить...