Russian Qt Forum

Qt => Работа с сетью => Тема начата: vbi от Август 10, 2013, 20:25



Название: Segmentation fault при присваении адреса в QUrl()
Отправлено: vbi от Август 10, 2013, 20:25
Есть процедура, а в ней код:

Код:
        QByteArray arr = QByteArray("test");
        convUrl = QUrl();
        convUrl = QUrl("http://www.test.com");
        convUrl = QUrl("http://www.test.com",QUrl::StrictMode);
        convUrl = QUrl("http://www.test.com",QUrl::TolerantMode);


Процедура выполняется потом запускается снова и снова. Далее после этого кода идет запуск процедур в отдельных потоках. Вообщем через пол часа - час работы программа вылетает с ошибкой Segmentation fault в строке
Код:
convUrl = QUrl("http://www.test.com");
Именно при передаче урлу строку. На QByteArray не вылетает. Утечек нет, проверял валгриндом.

Что можете подсказать?


Название: Re: Segmentation fault при присваении адреса в QUrl()
Отправлено: Bepec от Август 10, 2013, 21:30
Неверный код, накапливающаяся ошибка, неинициированный указатель, запись по неверному указателю, выход за границы массива, потерянные указатели, гонка потоков.

% на 99 первый пункт :P


Название: Re: Segmentation fault при присваении адреса в QUrl()
Отправлено: Alex Custov от Август 14, 2013, 20:42
ошибка совместного доступа к convUrl


Название: Re: Segmentation fault при присваении адреса в QUrl()
Отправлено: vbi от Август 22, 2013, 16:34
Тогда почему
Код:
QByteArray arr = QByteArray("test");
не выдает ошибки, а
Код:
convUrl = QUrl("http://www.test.com");
постоянно вылетает. динамически сдесь ничего не создается.

Какой совместный доступ к convUrl? - локально создается и уничножается в рамхах процедуры.



Название: Re: Segmentation fault при присваении адреса в QUrl()
Отправлено: vbi от Август 22, 2013, 16:39
Вот бектрейс:
(http://f3.s.qip.ru/eLukkQdd.png)


Название: Re: Segmentation fault при присваении адреса в QUrl()
Отправлено: vbi от Август 23, 2013, 13:07
Скачал последний mingw, установил - ошибка пропала.