Russian Qt Forum
Ноябрь 22, 2024, 14:38
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
Работа с сетью
>
Корректное завершение QNetworkReply, без вылетов
Страниц:
1
[
2
]
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: Корректное завершение QNetworkReply, без вылетов (Прочитано 14183 раз)
Kek
Гость
Re: Корректное завершение QNetworkReply, без вылетов
«
Ответ #15 :
Июнь 29, 2017, 17:15 »
Цитата: Авварон от Июнь 29, 2017, 16:22
Цитировать
(process:28413): GLib-ERROR **: Creating pipes for GWakeup: Слишком много открытых файлов
Ксттаи да, this у кунама нипричем, я думал, что у него парентом тред, а на самом деле - объект в треде. Так что там ошибки не было.
Краш происходит при попытке создать тред (всего у меня 610 тредов на момент краша) внутри треда Qt Http Thread. Похоже, QNAM сам
создает
треды.
Вкратце - так (создавать 300 тредов) делать не надо.
У меня было подозрение на потоки и я пробовал оставить только 1 поток, это лишь отложило момент краша, на минуты
2-3
10-20
«
Последнее редактирование: Июнь 29, 2017, 17:33 от Kek
»
Записан
Kek
Гость
Re: Корректное завершение QNetworkReply, без вылетов
«
Ответ #16 :
Июнь 29, 2017, 17:32 »
Забыл предупредить, если кто-то найдет время чтоб скачать проект и чекнуть ошибку то:
В файле "mainwindow.h" уберите эти включения, иначе выдаст ошибку (в проекте, что вы скачаете их нет)
Код:
#include "dudosbackend.h"
#include "dudosbackend_post_login.h"
Когда скомпилируете проект в релиз, в папку релиз-проекта, в папку /release рядом с "exe" файлом положите эти dll, без них не будут работать HTTPS...
https://drive.google.com/file/d/0B7-Ahrbw3_gOcHZtM1VBM2ZXeDQ/view?usp=sharing
Записан
Kek
Гость
Re: Корректное завершение QNetworkReply, без вылетов
«
Ответ #17 :
Июнь 29, 2017, 17:38 »
Чтоб в 1 потоке сымитировать ошибку быстрее, а не ждать ее 20-30 минут, замените в файле "dudosbackend_connect.cpp"
"timerReply.start(20);"
на
"timerReply.start(10);"
и она случится через минуту-две...
«
Последнее редактирование: Июнь 29, 2017, 17:40 от Kek
»
Записан
Авварон
Джедай : наставник для всех
Offline
Сообщений: 3260
Re: Корректное завершение QNetworkReply, без вылетов
«
Ответ #18 :
Июнь 29, 2017, 17:54 »
Ну падает в QCoreApplication::notify(), что означает, что кто-то пытается доставить эвент удаленному объекту.
Записан
Kek
Гость
Re: Корректное завершение QNetworkReply, без вылетов
«
Ответ #19 :
Июнь 29, 2017, 19:10 »
Цитата: Авварон от Июнь 29, 2017, 17:54
Ну падает в QCoreApplication::notify(), что означает, что кто-то пытается доставить эвент удаленному объекту.
Вот, дело значит в abort/close/delete... Как и писал ранее, так как же корректно удалять этот чертов NetworkReply, чтоб он удалился и ничего не упало?
Записан
Страниц:
1
[
2
]
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Qt
-----------------------------
=> Вопросы новичков
=> Уроки и статьи
=> Установка, сборка, отладка, тестирование
=> Общие вопросы
=> Пользовательский интерфейс (GUI)
=> Qt Quick
=> Model-View (MV)
=> Базы данных
=> Работа с сетью
=> Многопоточное программирование, процессы
=> Мультимедиа
=> 2D и 3D графика
=> OpenGL
=> Печать
=> Интернационализация, локализация
=> QSS
=> XML
=> Qt Script, QtWebKit
=> ActiveX
=> Qt Embedded
=> Дополнительные компоненты
=> Кладовая готовых решений
=> Вклад сообщества в Qt
=> Qt-инструментарий
-----------------------------
Программирование
-----------------------------
=> Общий
=> С/C++
=> Python
=> Алгоритмы
=> Базы данных
=> Разработка игр
-----------------------------
Компиляторы и платформы
-----------------------------
=> Linux
=> Windows
=> Mac OS X
=> Компиляторы
===> Visual C++
-----------------------------
Разное
-----------------------------
=> Новости
===> Новости Qt сообщества
===> Новости IT сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...