Я использую QNetworkRequest / QNetworkReply для загрузки файла. В более старой версии программы, которая использовалась тысячами людей, она работала безупречно (компилятор VS 2010). После обновления до Visual Studio 2015 и перекомпиляции всего проекта с целевым XP (та же процедура с OpenSSL) немного пользователи начали получать сообщение об ошибке при загрузке:
Доступ к сети отключен.
Ошибка регистрируется в слоте, который подключен к сигналу error () из QNetworkReply :: NetworkError.
Код:
QNetworkReply reply = nam.get(QNetworkRequest(url));
emit sendInfo("Starting download");
QObject::connect(reply, SIGNAL(finished()), this, SLOT(finishedSlot()));
QObject::connect(reply, SIGNAL(error(QNetworkReply::NetworkError)), this, SLOT(errorSlot(QNetworkReply::NetworkError)));
QObject::connect(reply, SIGNAL(downloadProgress(qint64, qint64)), this, SLOT(progressSlot(qint64, qint64)));
Мне удалось установить Wireshark на одну из уязвимых машин, но в интернет не поступало никаких запросов, поэтому он с самого начала не работает. До сих пор я не смог выяснить, что вызывает проблемы на этих машинах. Версия ОС не имеет значения, попытался отключить AV / firewall и т. Д. Я также не могу найти какие-либо подробности возвращаемой строки ошибки.
Код прекрасно работает для 90% людей и был протестирован с XP SP3 до Windows 10.
В чем может быть проблема и как мне вообще подойти к отладке этого?
Видимо ошибка в Qt 5.5.1 https://github.com/owncloud/client/issues/3600 хотя я не могу подтвердить это со 100% уверенностью.
Других решений пока нет …