App store does not display images

Bug #1507769 reported by Pat McGowan on 2015-10-19
12
This bug affects 2 people
Affects Status Importance Assigned to Milestone
Canonical System Image
High
Michał Sawicz
indicator-network (Ubuntu)
Undecided
Pete Woods
network-manager (Ubuntu)
Undecided
Unassigned
qtbase-opensource-src (Ubuntu)
Undecided
Unassigned
qtbase-opensource-src (Ubuntu RTM)
Undecided
Unassigned
thumbnailer (Ubuntu)
Undecided
Unassigned
unity8 (Ubuntu)
High
Unassigned

Bug Description

On both mako and arale using latest rc-proposed
No images are loaded in the app store view
I noticed free showed less than 100MB available on the mako
Closing a few apps and refreshing loaded the images, as did a reboot on the arale.

Changed in canonical-devices-system-image:
assignee: nobody → Alejandro J. Cura (alecu)
importance: Undecided → High
milestone: none → backlog
status: New → Confirmed
Jean-Baptiste Lallement (jibel) wrote :

I don't think it is caused by the system running low on memory. I saw this issue this morning on arale and the system has plenty of memory free:
             total used free shared buffers cached
Mem: 1937952 1327364 610588 31468 11028 254584
-/+ buffers/cache: 1061752 876200
Swap: 524284 0 524284

There are these suspicious lines in .cache/upstart/unity8-dash.log

QNetworkReplyImplPrivate::error: Internal problem, this method must only be called once.
file:///usr/share/unity8//Components/LazyImage.qml:91:16: QML Image: Cannot open: file:///usr/share/unity8//Dash/Previews/broken_image
file:///usr/share/unity8//Components/LazyImage.qml:91:16: QML Image: The specified configuration cannot be used.
file:///usr/share/unity8//Dash/Previews/PreviewImageGallery.qml:82: Error: Cannot assign [undefined] to QUrl
file:///usr/share/unity8//Components/LazyImage.qml:91:16: QML Image: The specified configuration cannot be used.
file:///usr/share/unity8//Dash/Previews/PreviewImageGallery.qml:82: Error: Cannot assign [undefined] to QUrl
file:///usr/share/unity8//Dash/Previews/PreviewImageGallery.qml:124:23: QML QQuickImage: The specified configuration cannot be used.
file:///usr/share/unity8//Dash/Previews/PreviewImageGallery.qml:138: Error: Cannot assign [undefined] to QUrl
file:///usr/share/unity8//Dash/Previews/PreviewImageGallery.qml:124:23: QML QQuickImage: The specified configuration cannot be used.
file:///usr/share/unity8//Dash/Previews/PreviewImageGallery.qml:138: Error: Cannot assign [undefined] to QUrl
file:///usr/share/unity8//Dash/Previews/PreviewHeader.qml:81:28: QML QQuickImage: The specified configuration cannot be used.

Sebastien Bacher (seb128) wrote :

confirmed as well, I hit that bug a week ago on my bq rc-proposed device

Changed in unity-scope-click (Ubuntu):
importance: Undecided → High
assignee: nobody → Rodney Dawes (dobey)
Pat McGowan (pat-mcgowan) wrote :

Agreed with comment #1, just hit this again, its quite frequent it seems

summary: - App store does not display images when system memory is low
+ App store does not display images
Changed in canonical-devices-system-image:
milestone: backlog → ww46-2015
dobey (dobey) wrote :

Moving this to unity8 as results being displayed without icons is an issue in the dash itself. The scope only gets the URLs and hands them off to the dash for it to display the images.

affects: unity-scope-click (Ubuntu) → unity8 (Ubuntu)
Jean-Baptiste Lallement (jibel) wrote :

I seems to happen systematically when I long press on an icon to see the details immediately after resuming from suspend. I also attached a screenshot of the broken images.

Michał Sawicz (saviq) on 2015-10-20
Changed in unity8 (Ubuntu):
assignee: Rodney Dawes (dobey) → nobody
status: New → Confirmed
Changed in canonical-devices-system-image:
assignee: Alejandro J. Cura (alecu) → Michał Sawicz (saviq)
Albert Astals Cid (aacid) wrote :

What does "resuming from suspend" mean?

Albert Astals Cid (aacid) wrote :

Also i'd appreciate more clarity on what "App store does not display images" means? Is it what Jean-Baptiste shows in #5?

Jean-Baptiste Lallement (jibel) wrote :

By resuming from suspend, I meant let the phone go to sleep, then wake it up with the power button. Although I am not sure it is what triggers the issue because it is not always reproducible this way.

Albert Astals Cid (aacid) wrote :

Is this on a MX4 or a bq?

Albert Astals Cid (aacid) wrote :

"The specified configuration cannot be used." -> QNetworkAccessManager got confused and tried to use a QNetworkSession that is "broken"

Adding qtbase-opensource-src and network-manager since this is basically a "the network didn't work" problem

In my case it is on arale
current build number: 145
device name: arale
channel: ubuntu-touch/rc-proposed/meizu.en

It happens on every scope randomly, not only the store.

Timo Jyrinki (timo-jyrinki) wrote :

Silo 32's qtbase ( 5.4.1+dfsg-2ubuntu11~vivid1~test1 ) has had a batch of network fixes waiting for bug #1470700. It fixes at least two networking problems (non OTA targeted though), but causes a regression #1508945 that is also now seen on Qt 5.5.1 where the patches are backported from.

If 32 has anything to fix this bug too (please check the instruction in 1470700 description), we should start considering the landing of 032 and finding out what causes the regression. I've tried a bit looking at the weather app's logs and code but found no hints. I did start to wonder though if it could be something new apparmor blocks when the patches are in use.

As a sidenote Jolla just started shipping essentially 032 sans the QNAM-hang-when-offline patch http://is.gd/Nu0A6y - ie the two network accesibility patches backported all the way to Qt 5.2. They use connman however so it's otherwise a different code path.

If 32 doesn't change anything, then I don't have currently other networking related patches in queue.

Albert Astals Cid (aacid) wrote :

Please when you have this problem install qdbus-qt5 on the phone and run
  qdbus com.ubuntu.connectivity1 /com/ubuntu/connectivity1/NetworkingStatus com.ubuntu.connectivity1.NetworkingStatus.Status
also on the phone (via adb shell or phablet-shell) and write here the output of it.

Michał Sawicz (saviq) wrote :

I've added indicator-network as a task because that's what provides the connectivity dbus service.

Also, qdbus isn't installed on the device by default, use gdbus (the below is when things work fine):

$ gdbus introspect --session --dest com.ubuntu.connectivity1 --object-path /com/ubuntu/connectivity1/NetworkingStatus -p
node /com/ubuntu/connectivity1/NetworkingStatus {
  interface com.ubuntu.connectivity1.NetworkingStatus {
    properties:
      readonly as Limitations = [];
      readonly s Status = 'online';
      readonly b FlightMode = false;
      readonly b WifiEnabled = true;
      readonly b ModemAvailable = true;
      readonly ay HotspotSsid = [0x53, 0x61, 0x77, 0x69, 0x6b];
      readonly b HotspotEnabled = false;
      readonly s HotspotMode = 'ap';
      readonly b HotspotStored = true;
      readonly b FlightModeSwitchEnabled = true;
      readonly b WifiSwitchEnabled = true;
      readonly b HotspotSwitchEnabled = true;
  };
};

Changed in indicator-network (Ubuntu):
assignee: nobody → Pete Woods (pete-woods)
Pete Woods (pete-woods) wrote :

I've managed to reproduce this issue on image 153 on my Arale. I had adb connected for the duration and polled the value of the online status, and it was consistently set to "online". Strangely I even get this behaviour after refreshing the store scope. It's as if the failed image requests are cached somehow.

Pete Woods (pete-woods) wrote :

The phone definitely knows it's connected to the internet, as all the metadata, reviews, etc for apps load in correctly. It's only images that fail. Could this be some kind of problem with the thumbnailer?

Pete Woods (pete-woods) wrote :

$ thumbnailer-admin stats
Image cache:
    Path: /home/phablet/.cache/unity-thumbnailer/images
    Policy: lru_ttl
    Size: 0
    Size in bytes: 0
    Max size in bytes: 52428800
    Hits: 0
    Misses: 0
    Hits since last miss: 0
    Misses_since_last_hit: 0
    Longest hit run: 0
    Longest miss run: 0
    Avg hit run length: 0.00
    Avg miss run length: 0.00
    TTL evictions: 0
    LRU evictions: 0
    Most-recent hit time: never
    Most-recent miss time: never
    Longest hit-run time: never
    Longest miss-run time: never
Thumbnail cache:
    Path: /home/phablet/.cache/unity-thumbnailer/thumbnails
    Policy: lru_ttl
    Size: 0
    Size in bytes: 0
    Max size in bytes: 104857600
    Hits: 0
    Misses: 0
    Hits since last miss: 0
    Misses_since_last_hit: 0
    Longest hit run: 0
    Longest miss run: 0
    Avg hit run length: 0.00
    Avg miss run length: 0.00
    TTL evictions: 0
    LRU evictions: 0
    Most-recent hit time: never
    Most-recent miss time: never
    Longest hit-run time: never
    Longest miss-run time: never
Failure cache:
    Path: /home/phablet/.cache/unity-thumbnailer/failures
    Policy: lru_only
    Size: 0
    Size in bytes: 0
    Max size in bytes: 2097152
    Hits: 0
    Misses: 0
    Hits since last miss: 0
    Misses_since_last_hit: 0
    Longest hit run: 0
    Longest miss run: 0
    Avg hit run length: 0.00
    Avg miss run length: 0.00
    TTL evictions: 0
    LRU evictions: 0
    Most-recent hit time: never
    Most-recent miss time: never
    Longest hit-run time: never
    Longest miss-run time: never

Pete Woods (pete-woods) wrote :

The fact that all the caches are empty seems pretty strange to me. Maybe I'm misinterpreting that information, though..

Michi Henning (michihenning) wrote :

@Pete: All that means is that no-one has spoken to the thumbnailer.

It's not clear to me how this issue could relate to the thumbnailer, off-hand. The apps/scopes that use it:

Music, gallery, photo app, telegram app, video scope. (Music scope should be using it, but currently isn't.) The app store doesn't use the thumbnailer, to the best of my knowledge.

Albert Astals Cid (aacid) wrote :

Pete: You need to use something that uses QNetworkAccessManager and see what it thinks about being connected to the internet or not.

Pete Woods (pete-woods) wrote :

Shutting down the thumbnail and nuking the thumbnailer cache didn't help.

Following that I restarted unity8-dash, and it started behaving again.

Therefore I would surmise that the problem is either in the actual thumbnailer QML plugin, or perhaps in the built-in QML image cache (not really sure how they both interact).

I'm about to try restoring the thumbnailer cache to see if it causes the trouble again.

Pete Woods (pete-woods) wrote :

Okay, so the thumbnailer is obviously not involved here, as the cache hasn't been re-created and the thumbnailer doesn't get restarted when loading up the store scope. Seems like my research is a red-herring then.

Changed in thumbnailer (Ubuntu):
status: New → Invalid
Changed in indicator-network (Ubuntu):
status: New → Invalid
Pete Woods (pete-woods) wrote :

Closing network-manager and indicator-network, as I'm pretty sure they aren't the culprit here.

Changed in network-manager (Ubuntu):
status: New → Invalid
Changed in canonical-devices-system-image:
milestone: ww46-2015 → ww02-2016

I haven't seen this problem for a while. Has anyone been able to reproduce it recently?

Changed in canonical-devices-system-image:
milestone: ww02-2016 → backlog
status: Confirmed → Incomplete
Timo Jyrinki (timo-jyrinki) wrote :

Silo 032 has long pending networking fixes that now have seen more recent work and the silo might be in shape for landing.

As an interested party in this networking related bug (among many), could you please give 032 a whirl on vivid-overlay (xenial also available) and test your networking in general in addition to this particular bug? If we see no regressions - and we do see fixes - we could try landing the silo.

Upgrade with 'citrain device-upgrade 32 0000'.

Changed in canonical-devices-system-image:
milestone: backlog → ww08-2016
Łukasz Zemczak (sil2100) wrote :

This bug was fixed in the package qtbase-opensource-src 5.4.1+dfsg-2ubuntu11~vivid4 in https://launchpad.net/~ci-train-ppa-service/+archive/ubuntu/stable-phone-overlay

---------------

qtbase-opensource-src (5.4.1+dfsg-2ubuntu11~vivid4) vivid; urgency=medium

  * Lorn Potter's networking fixes:
    - debian/patches/Make-sure-to-report-correct-NetworkAccessibility.patch
    - debian/patches/Make-sure-networkAccessibilityChanged-is-emitted.patch
    - debian/patches/Fix-hang-in-qnam-when-disconnecting.patch
    - debian/patches/Make-UnknownAccessibility-not-block-requests.patch
    - debian/patches/qnam-ubuntu-fix6.patch (not yet upstreamed)
    (LP: #1470700) (LP: #1506015) (LP: #1507769) (LP: #1528886) (LP: #1533508)
  * debian/patches/Add-an-option-to-skip-the-generic-bearer-engine.patch
    - Backport to replace disable-generic-plugin-when-others-available.patch

 -- Timo Jyrinki <email address hidden> Mon, 14 Dec 2015 12:53:41 +0000

Changed in qtbase-opensource-src (Ubuntu RTM):
status: New → Fix Released
Timo Jyrinki (timo-jyrinki) wrote :

The discussed QNAM parts should now be fixed, even if no-one recently reconfirmed this bug happening.

Changed in canonical-devices-system-image:
status: Incomplete → Fix Committed
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package qtbase-opensource-src - 5.5.1+dfsg-13ubuntu2

---------------
qtbase-opensource-src (5.5.1+dfsg-13ubuntu2) xenial; urgency=medium

  * Forward-port networking fixes from 5.4 series:
    - net-bearer-nm-disconnect-ap-signals7.patch (LP: #1480877)
    - qnam-ubuntu-fix6.patch (LP: #1528886)
    - xenial would potentially now have fixes for (LP: #1506015)
      (LP: #1507769) (LP: #1533508)

 -- Timo Jyrinki <email address hidden> Tue, 09 Feb 2016 08:19:43 +0000

Changed in qtbase-opensource-src (Ubuntu):
status: New → Fix Released

Hi @jibel,

The video attached is from a user that reproduces this on OTA-9

Another attachment.

I reproduce this on OTA 9.1

Pat McGowan (pat-mcgowan) wrote :

The fix from comment #26 will be in ota 10, now in proposed.

Changed in canonical-devices-system-image:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers