[TOPBLOCKER] Threading issue with the MenuModel Updates

Bug #1374419 reported by Mathieu Trudel-Lapierre
50
This bug affects 6 people
Affects Status Importance Assigned to Milestone
indicator-network (Ubuntu)
Fix Released
Critical
Antti Kaijanmäki
Utopic
Won't Fix
Undecided
Antti Kaijanmäki
Vivid
Fix Released
Critical
Antti Kaijanmäki
indicator-network (Ubuntu RTM)
Fix Released
Critical
Antti Kaijanmäki

Bug Description

This and other "corruptions" in the i-network menus is caused by a race condition in the i-network-service GMainLoop synchronization.

===
Some access points in indicator-network show twice, when they should be merged into a single entry given that security and SSID are the same.

See attached screenshot.

For example, "Instant Staff" should only show once, not greyed out. There are not multiple APs with different security settings to justify two different entries.

Related branches

Revision history for this message
Mathieu Trudel-Lapierre (cyphermox) wrote :
Revision history for this message
Mathieu Trudel-Lapierre (cyphermox) wrote :

This bug also affects ubuntu-system-settings wifi screen; I've attached the screenshot that shows this issue.

Revision history for this message
Mathieu Trudel-Lapierre (cyphermox) wrote :

Example scan list.

SSID BSSID MODE FREQ RATE SIGNAL SECURITY ACTIVE
'Canonical-2.4GHz-g' <redacted> Infrastructure 2462 MHz 54 MB/s 92 WPA2 no
'Canonical-2.4GHz-g' <redacted> Infrastructure 2437 MHz 54 MB/s 87 WPA2 no
'Canonical-2.4GHz-g' <redacted> Infrastructure 2437 MHz 54 MB/s 80 WPA2 no
'Ruckus-Wireless-1' <redacted> Infrastructure 2462 MHz 54 MB/s 39 WPA WPA2 no
'Masterchef @ BFV' <redacted> Infrastructure 2462 MHz 54 MB/s 37 WPA WPA2 no
'MChef Guest' <redacted> Infrastructure 2462 MHz 54 MB/s 37 -- no
'COGUEST' <redacted> Infrastructure 2437 MHz 54 MB/s 27 -- no
'COMOB' <redacted> Infrastructure 2412 MHz 54 MB/s 35 WPA2 Enterprise no
'COGUEST' <redacted> Infrastructure 2412 MHz 54 MB/s 34 -- no
'Instant Staff' <redacted> Infrastructure 2417 MHz 54 MB/s 22 WPA2 no
'DATAGuest' <redacted> Infrastructure 2462 MHz 54 MB/s 24 -- no
'COWF' <redacted> Infrastructure 2412 MHz 54 MB/s 34 WPA2 Enterprise no
'Instant Setup' <redacted> Infrastructure 2417 MHz 54 MB/s 22 -- no
'Instant Guest' <redacted> Infrastructure 2417 MHz 54 MB/s 22 -- no
'Canonical-2.4GHz-g' <redacted> Infrastructure 2412 MHz 54 MB/s 80 WPA2 yes
'COMOB' <redacted> Infrastructure 2437 MHz 54 MB/s 27 WPA2 Enterprise no
'IPCDev' <redacted> Infrastructure 2462 MHz 54 MB/s 20 WPA2 no
'TableauGuest' <redacted> Infrastructure 2462 MHz 54 MB/s 15 WPA2 no
'JustWireless' <redacted> Infrastructure 2472 MHz 54 MB/s 15 WPA2 no
'Ruckus-Wireless-1' <redacted> Infrastructure 2427 MHz 54 MB/s 30 WPA WPA2 no
'TSILAKEVIEW' <redacted> Infrastructure 2412 MHz 54 MB/s 15 WPA2 Enterprise no

Revision history for this message
Mathieu Trudel-Lapierre (cyphermox) wrote :

This was tested with Silo 11 on image 61.

Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name Version Architecture Description
+++-======================-========================================-============-=================================================
ii indicator-network 0.5.1+14.10.20140925.1-0ubuntu1 armhf Systems settings menu service - Network indicator
ii ubuntu-system-settings 0.3+14.10.20140924-0ubuntu1 armhf System Settings application for Ubuntu Touch
ii urfkill 0.6.0~20140923.183149.c5012c3.1-0ubuntu1 armhf wireless killswitch management daemon for laptops

Revision history for this message
Matthew Paul Thomas (mpt) wrote :

There might be multiple bugs here.

The scan list shows "COGUEST" twice, but it is correctly shown only once in the screenshots. Meanwhile, the scan list shows "Canonical-2.4GHz-g" four times, but it is shown twice in the screenshots -- not once, but not four times either.

I think that problem might be that the list is showing the currently-connected network first, and then listing all available networks, instead of listing all *other* available networks. That is, it forgets to exclude the current network from the second part of the list.

However, none of that would explain why "Instant Staff" shows up only once in the scan list but ends up with two items in the screenshots.

Changed in indicator-network (Ubuntu):
assignee: nobody → Antti Kaijanmäki (kaijanmaki)
importance: Undecided → High
Revision history for this message
Antti Kaijanmäki (kaijanmaki) wrote :

Was this with the URfkill silo?

Seems like the menumodel being out of sync. The greyed out item should never appear as it means the item does not have an Action attached to it.

I would need a full dump of iwlist scan when you see access points that are not merged properly. Thanks!

Changed in indicator-network (Ubuntu):
status: New → Incomplete
Changed in ubuntu-system-settings (Ubuntu):
status: New → Invalid
Changed in indicator-network (Ubuntu):
assignee: Antti Kaijanmäki (kaijanmaki) → Mathieu Trudel-Lapierre (mathieu-tl)
Revision history for this message
Antti Kaijanmäki (kaijanmaki) wrote :

Marking as invalid for system-settings as the access point list is coming from i-network.

Revision history for this message
Mathieu Trudel-Lapierre (cyphermox) wrote :

You already have the scan list, from NetworkManager. The same list would come from iw. I can't get you the list anymore, since I'm no longer in the same location, but the list of networks is already available.

Changed in indicator-network (Ubuntu):
assignee: Mathieu Trudel-Lapierre (mathieu-tl) → Antti Kaijanmäki (kaijanmaki)
Revision history for this message
Brendan Donegan (brendan-donegan) wrote :

I also see APs twice with the following test case:

Prerequisite: Make sure you are already connected to a network
1. Open the network indicator
2. Select another network to connect to
3. Cancel the snap decision
4. Check the AP list, the previously selected AP will be shown twice and selected each time.

I feel this is a different bug than the one mentioned here but Antii says otherwise, so for now I'm just adding this comment.

Changed in indicator-network (Ubuntu):
status: Incomplete → Triaged
importance: High → Critical
tags: added: rtm14
Thomas Strehl (strehl-t)
tags: added: touch-2014-10-23
Changed in indicator-network (Ubuntu):
status: Triaged → In Progress
summary: - Some APs show twice, should be merged
+ Race issue with the MenuModel Updates
description: updated
summary: - Race issue with the MenuModel Updates
+ Threading issue with the MenuModel Updates
Revision history for this message
Selene ToyKeeper (toykeeper) wrote : Re: Threading issue with the MenuModel Updates

Bug 1362296 is probably a dupe of this, and has extra screenshots and details for reproducing the issue in the welcome wizard.

Alexander Sack (asac)
summary: - Threading issue with the MenuModel Updates
+ [TOPBLOCKER] Threading issue with the MenuModel Updates
Changed in indicator-network (Ubuntu RTM):
status: New → Incomplete
status: Incomplete → In Progress
importance: Undecided → Critical
assignee: nobody → Antti Kaijanmäki (kaijanmaki)
Changed in ubuntu-system-settings (Ubuntu Utopic):
status: New → Invalid
Changed in indicator-network (Ubuntu Utopic):
assignee: nobody → Antti Kaijanmäki (kaijanmaki)
no longer affects: ubuntu-system-settings (Ubuntu)
no longer affects: ubuntu-system-settings (Ubuntu Utopic)
no longer affects: ubuntu-system-settings (Ubuntu Vivid)
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package indicator-network - 0.5.1+15.04.20141103-0ubuntu1

---------------
indicator-network (0.5.1+15.04.20141103-0ubuntu1) vivid; urgency=low

  [ CI bot ]
  * Resync trunk

  [ Jussi Pakkanen ]
  * Use std::quick_exit. (LP: #1381041)

  [ Marcus Tomlinson ]
  * Fix GMainLoopDispatch dispatching ordering when. called inside
    GMainLoop already Fix GMainLoopDispatch locking. Force all signals
    from external (dbus-cpp) threads through. GMainLoopDispatch (LP:
    #1374419)

  [ Antti Kaijanmäki ]
  * Increase the default timeouts to match industry standards. (LP:
    #1381041)
  * Fix GMainLoopDispatch dispatching ordering when. called inside
    GMainLoop already Fix GMainLoopDispatch locking. Force all signals
    from external (dbus-cpp) threads through. GMainLoopDispatch (LP:
    #1374419)

indicator-network (0.5.1+14.10.20141015-0ubuntu1) 14.09; urgency=low

  [ Antti Kaijanmäki ]
  * deadlock if calling unlock() inside ready signal for a modem that
    does not require unlocking. (LP: #1333121)
 -- Ubuntu daily release <email address hidden> Mon, 03 Nov 2014 11:48:11 +0000

Changed in indicator-network (Ubuntu Vivid):
status: In Progress → Fix Released
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package indicator-network - 0.5.1+14.10.20141031.3~rtm-0ubuntu1

---------------
indicator-network (0.5.1+14.10.20141031.3~rtm-0ubuntu1) 14.09; urgency=low

  [ Jussi Pakkanen ]
  * Use std::quick_exit. (LP: #1381041)

  [ Marcus Tomlinson ]
  * Fix GMainLoopDispatch dispatching ordering when. called inside
    GMainLoop already Fix GMainLoopDispatch locking. Force all signals
    from external (dbus-cpp) threads through. GMainLoopDispatch (LP:
    #1374419)

  [ Antti Kaijanmäki ]
  * Increase the default timeouts to match industry standards. (LP:
    #1381041)
  * Fix GMainLoopDispatch dispatching ordering when. called inside
    GMainLoop already Fix GMainLoopDispatch locking. Force all signals
    from external (dbus-cpp) threads through. GMainLoopDispatch (LP:
    #1374419)
 -- Ubuntu daily release <email address hidden> Fri, 31 Oct 2014 14:16:08 +0000

Changed in indicator-network (Ubuntu RTM):
status: In Progress → Fix Released
Changed in indicator-network (Ubuntu Utopic):
status: New → Won't Fix
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.