← Back to team overview

touch-packages team mailing list archive

[Bug 1470700] Re: QNetworkAccessManager hangs when in flight mode

 

I just tried this again with the latest PPA. The behavior is still
weird. Initially, I'm in flight mode and the status is correct, and the
GET request fails immediately, as expected. Then I turn flight mode off
and wait until the wifi connection is up, then request a few more
thumbnails. At that point, the accessibility status is still "network
down" for several GET requests in a row.

I'm also seeing a bunch of these in the log:

thumbnailer-service: [00:18:43.520] QNAM: -1
thumbnailer-service: [00:18:43.520] sending request
thumbnailer-service: [00:18:43.521] Warning: QObject::connect: Cannot connect (null)::stateChanged(QNetworkSession::State) to QNetworkReplyHttpImpl::_q_networkSessionStateChanged(QNetworkSession::State)

(The "QNAM" is the trace for the accessibility status.)

After a bunch more of these, in the end, I see this:

thumbnailer-service: [00:18:43.520] QNAM: -1
thumbnailer-service: [00:18:43.520] sending request
thumbnailer-service: [00:18:43.521] Warning: QObject::connect: Cannot connect (null)::stateChanged(QNetworkSession::State) to QNetworkReplyHttpImpl::_q_networkSessionStateChanged(QNetworkSession::State)
thumbnailer-service: [00:18:46.822] QNAM: -1
thumbnailer-service: [00:18:46.829] sending request
thumbnailer-service: [00:18:46.831] Warning: QObject::connect: Cannot connect (null)::stateChanged(QNetworkSession::State) to QNetworkReplyHttpImpl::_q_networkSessionStateChanged(QNetworkSession::State)
thumbnailer-service: [00:18:46.910] "artist: Pink Floyd/ (512,512): 3.454583 [d: 3.365325] sec (MISS)"
thumbnailer-service: [00:18:46.914] QNAM: -1
thumbnailer-service: [00:18:46.915] sending request
thumbnailer-service: [00:18:46.916] Warning: QObject::connect: Cannot connect (null)::stateChanged(QNetworkSession::State) to QNetworkReplyHttpImpl::_q_networkSessionStateChanged(QNetworkSession::State)
thumbnailer-service: [00:18:46.942] "artist: Pink Floyd/The Dark Side Of The Moon [2011 - Remaster] (512,512): 3.423468 [d: 3.393726] sec (MISS)"
thumbnailer-service: [00:18:48.096] QNAM: -1
thumbnailer-service: [00:18:48.100] sending request
thumbnailer-service: [00:18:48.109] Warning: QObject::connect: Cannot connect (null)::stateChanged(QNetworkSession::State) to QNetworkReplyHttpImpl::_q_networkSessionStateChanged(QNetworkSession::State)
thumbnailer-service: [00:18:48.190] "artist: Passport/Passport to Paradise (512,512): 4.671097 [q: 3.298519, d: 1.273558] sec (MISS)"
thumbnailer-service: [00:18:48.368] QNAM: -1
thumbnailer-service: [00:18:48.369] sending request
thumbnailer-service: [00:18:48.371] Warning: QObject::connect: Cannot connect (null)::stateChanged(QNetworkSession::State) to QNetworkReplyHttpImpl::_q_networkSessionStateChanged(QNetworkSession::State)
thumbnailer-service: [00:18:48.409] "artist: Mamady Keïta/ (512,512): 4.876946 [q: 3.379785, d: 1.454331] sec (MISS)"

Note that the accessibility status each time is still -1 even though,
eventually, a the requests succeed. So, something is definitely not
right here still.

Now I kill off the music app and wait for the thumbnailer-service to
exit, all while the wifi connection is up. I then try again and see
this:

thumbnailer-service: [00:27:35.858] QNAM: 1
thumbnailer-service: [00:27:35.864] sending request
thumbnailer-service: [00:27:35.873] QNAM: 1
thumbnailer-service: [00:27:35.879] sending request
thumbnailer-service: [00:27:35.927] "artist: Pink Floyd/The Dark Side Of The Moon [2011 - Remaster] (512,512): 10.127397 [d: 10.049212] sec (NETWORK DOWN)"
thumbnailer-service: [00:27:35.934] "artist: Passport/Passport to Paradise (512,512): 10.066997 [d: 10.004309] sec (NETWORK DOWN)"
thumbnailer-service: [00:27:37.638] QNAM: 1
thumbnailer-service: [00:27:37.641] sending request
thumbnailer-service: [00:27:37.719] "artist: Mamady Keïta/Afö (512,512): 11.852127 [q: 9.987196, d: 1.779486] sec (MISS)"
thumbnailer-service: [00:27:39.491] QNAM: 1
thumbnailer-service: [00:27:39.496] sending request
thumbnailer-service: [00:27:39.645] "album: Passport/Passport to Paradise (512,512): 13.765835 [q: 9.992015, d: 3.618609] sec (MISS)"
thumbnailer-service: [00:27:39.892] "album: Mamady Keïta/Afö (512,512): 13.944809 [q: 11.688131, d: 2.144388] sec (MISS)"
thumbnailer-service: [00:27:40.845] "album: Pink Floyd/The Dark Side Of The Moon [2011 - Remaster] (512,512): 14.866033 [q: 13.510416, d: 1.215110] sec (MISS)"

Now the accessibility status is 1, as it should be. But we get two more
failing requests (the first two entries in the trace). The NETWORK DOWN
status means that we waited for 10 seconds before giving up. But then we
end up with three successful requests in the end. These were previously
queued and held in the queue (by us) because we limit ourselves to two
concurrent downloads.

So, this doesn't look right to me. It's as if there is some retry logic
going on behind the scenes, and the accessibility status appears to
still be wrong at least some of the time.

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to qtbase-opensource-src in
Ubuntu.
https://bugs.launchpad.net/bugs/1470700

Title:
  QNetworkAccessManager hangs when in flight mode

Status in qtbase-opensource-src package in Ubuntu:
  Confirmed
Status in thumbnailer package in Ubuntu:
  Triaged

Bug description:
  Testing the fix:

  - Update rc-proposed (vivid) to citrain device-upgrade 32 0000
  - Reboot

  ---

  When my phone is in flight mode, HTTP requests made using
  QNetworkAccessManager seem to hang rather than erroring out
  immediately.

  From my tests, it looks like the HTTP request is blocked until the
  flight mode is disabled and a network connection is reestablished.
  This is contrary to the documentation, which states:

  """If the network is not accessible the network access manager will
  not process any new network requests, all such requests will fail with
  an error. Requests with URLs with the file:// scheme will still be
  processed."""

  http://doc.qt.io/qt-5/qnetworkaccessmanager.html#networkAccessible-
  prop

  By running strace on my test program, it doesn't even look like it
  attempts to open a TCP connection when blocked in flight mode.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/qtbase-opensource-src/+bug/1470700/+subscriptions


References