scudcloud icon indicating copy to clipboard operation
scudcloud copied to clipboard

QNetworkReplyImplPrivate::error: Internal problem, this method must only be called once.

Open shevek opened this issue 8 years ago • 16 comments

ScudCloud Version

Paste the output for scudcloud --version below: ScudCloud 1.50 Python 3.5.2 Qt 5.5.1 PyQt 5.5.1 SIP 4.17

Distro and Desktop info

  • Distribution:
  • Version/Release:
  • Desktop environment:

Distributor ID: Ubuntu Description: Ubuntu 16.04.2 LTS Release: 16.04 Codename: xenial xfce

Expected behavior

Actual behavior

QNetworkReplyImplPrivate::error: Internal problem, this method must only be called once. QNetworkReplyImplPrivate::error: Internal problem, this method must only be called once. QNetworkReplyImplPrivate::error: Internal problem, this method must only be called once.

Steps to reproduce

  1. perhaps changing networks
  2. perhaps suspend on one network, resume where it's absent and connect to a different one

shevek avatar Apr 01 '17 23:04 shevek

For sure, Qt5 is bad on reconnect (I actually have to re-open Scudcloud when I'm disconnected from Internet for few hours). I'll search if I can improve this in some way.

raelgc avatar Apr 13 '17 10:04 raelgc

Hm, I've updated my qtwebkit, and the reconnect improved a lot. Maybe I should publish a package with it.

raelgc avatar Apr 19 '17 10:04 raelgc

Perhaps so. Recent scudcloud ALWAYS needs a restart after network change.

shevek avatar May 02 '17 07:05 shevek

@shevek Yeap, I'm investigating this. Even with new qtwebkit I'm facing this too. I'll keep searching for a solution.

raelgc avatar May 02 '17 11:05 raelgc

It appears this was fixed in Qt 5.5.14: https://codereview.qt-project.org/#/c/113478/

I'll check if I can create a class inheriting from QtNetwork manager and apply a fix like that in python.

raelgc avatar May 02 '17 11:05 raelgc

Looks like the patches from https://bugreports.qt.io/browse/QTBUG-46323 are already included in current debian versions (https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=804883) but the problem still persists, even with Qt 5.7.1.

jayme-github avatar May 12 '17 12:05 jayme-github

Thank you for adding this info, @jayme-github.

In a first moment I though to try to mimic some of the patch using Python, but after check the code, not an easy task (similar to how I've translated the spell suggester from Qupzilla).

But if this is not fixed yet... :(

raelgc avatar May 12 '17 12:05 raelgc

Hm, yea - maybe the "new" problem is a different one. As said in #573 I can only see some errors in the webkit debug console, no QNetworkReplyImplPrivate errors here.

jayme-github avatar May 12 '17 12:05 jayme-github

Usually the QNetworkReplyImplPrivate error is displayed in the command line (so, you have to start scudcloud from there).

raelgc avatar May 12 '17 13:05 raelgc

Exactly the same problem here, running Ubuntu 16.04.2 LTS on Gnome3.

kristijan-ujevic avatar May 15 '17 21:05 kristijan-ujevic

Usually the QNetworkReplyImplPrivate error is displayed in the command line (so, you have to start scudcloud from there).

Did that of cause. I only see messages like the following, but I'm unsure if they are related to this issue: QObject::disconnect: Unexpected null parameter

jayme-github avatar May 16 '17 14:05 jayme-github

Even using the internal browser reload, the Qt libraries appears to not reconnect properly. I was thinking to build a try/catch around these failures and fire a reload.

raelgc avatar Jun 05 '17 11:06 raelgc

Yea, it's completely strange and probably there is more than one specific issue. I did some further testing with the changes in https://github.com/jayme-github/scudcloud/commit/af3cd5491c1ed5d97c51a5eedbb0da94b1e97e86:

  • When I change network from A to B the signal is triggered with new state: NotAccessible
  • A signal for new state Accessible is never received, scudcloud stops functioning
  • When I switch back from B to A the signal is triggered with new state: Accessible
  • Even in this case the new state is not (always?) recognized by scudcloud e.g. "Page Reload" is needed to re-enable input in slack etc.

@raelgc do you know where those QObject::disconnect: Unexpected null parameter messages are triggered?

jayme-github avatar Jun 05 '17 14:06 jayme-github

@jayme-github I'm starting scudcloud by command line and I'll watch it for the next hours.

raelgc avatar Jun 05 '17 21:06 raelgc

This could be related: https://bugreports.qt.io/browse/QTBUG-57110

Laptop just woke up from suspend (on the same network as when going to sleep):

"No such interface 'org.freedesktop.DBus.Properties' on object at path /org/freedesktop/NetworkManager/ActiveConnection/28"
"No such interface 'org.freedesktop.DBus.Properties' on object at path /org/freedesktop/NetworkManager/ActiveConnection/27"
"No such interface 'org.freedesktop.DBus.Properties' on object at path /org/freedesktop/NetworkManager/ActiveConnection/28"
"No such interface 'org.freedesktop.DBus.Properties' on object at path /org/freedesktop/NetworkManager/ActiveConnection/27"
QObject::disconnect: Unexpected null parameter
QObject::disconnect: Unexpected null parameter
QObject::disconnect: Unexpected null parameter
QObject::disconnect: Unexpected null parameter
QObject::disconnect: Unexpected null parameter
QObject::disconnect: Unexpected null parameter
QObject::disconnect: Unexpected null parameter
"No such interface 'org.freedesktop.DBus.Properties' on object at path /org/freedesktop/NetworkManager/ActiveConnection/30"
QObject::disconnect: Unexpected null parameter
2017-06-06 06:07:06.345186 _networkAccessibleChanged:  0
2017-06-06 06:07:06.345616 _networkAccessibleChanged:  0
2017-06-06 06:07:06.345664 _networkAccessibleChanged:  0

Switching networks does not bring back accessible state.

jayme-github avatar Jun 06 '17 04:06 jayme-github

Very similar results after suspend/wakeup:

sys:1: Warning: Source ID 599 was not found when attempting to remove it
sys:1: Warning: Source ID 1656 was not found when attempting to remove it
QObject::disconnect: Unexpected null parameter
QNetworkReplyImplPrivate::error: Internal problem, this method must only be called once.
"No such interface 'org.freedesktop.DBus.Properties' on object at path /org/freedesktop/NetworkManager/ActiveConnection/0"
"No such interface 'org.freedesktop.DBus.Properties' on object at path /org/freedesktop/NetworkManager/ActiveConnection/0"
"No such interface 'org.freedesktop.DBus.Properties' on object at path /org/freedesktop/NetworkManager/ActiveConnection/0"
"No such interface 'org.freedesktop.DBus.Properties' on object at path /org/freedesktop/NetworkManager/ActiveConnection/0"
"No such interface 'org.freedesktop.DBus.Properties' on object at path /org/freedesktop/NetworkManager/ActiveConnection/0"
"No such interface 'org.freedesktop.DBus.Properties' on object at path /org/freedesktop/NetworkManager/ActiveConnection/0"
"No such interface 'org.freedesktop.DBus.Properties' on object at path /org/freedesktop/NetworkManager/ActiveConnection/0"
"No such interface 'org.freedesktop.DBus.Properties' on object at path /org/freedesktop/NetworkManager/ActiveConnection/0"
"No such interface 'org.freedesktop.DBus.Properties' on object at path /org/freedesktop/NetworkManager/ActiveConnection/0"
"No such interface 'org.freedesktop.DBus.Properties' on object at path /org/freedesktop/NetworkManager/ActiveConnection/0"
"No such interface 'org.freedesktop.DBus.Properties' on object at path /org/freedesktop/NetworkManager/ActiveConnection/0"
QObject::disconnect: Unexpected null parameter

raelgc avatar Jun 07 '17 11:06 raelgc