gnome-initial-setup hangs enabling livepatch

Bug #1784163 reported by Robie Basak on 2018-07-28
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
gnome-initial-setup (Ubuntu)
Undecided
Unassigned
gnome-online-accounts (Ubuntu)
Undecided
Unassigned

Bug Description

I just upgraded from Artful to Bionic. gnome-initial-setup ran. It asked me if I wanted to enable Livepatch, and I agreed. I believe my Internet connection was working fine at the time. It gave me a username/password prompt. After entering those in it asked me for a 2FA code. After entering that in, I got a spinner with "Connecting..." in the bottom left, but nothing further happens. It's been about ten minutes hung like that.

I tried to click the Cancel button but nothing happened. Then I tried to close the app from the bar on the left (right click -> Quit) but nothing happened.

After the previous actions, netstat reports no TCP connections on IPv4 nor IPv6. It's appears not to be "Connecting" to anything.

Expected: at least some kind of timeout reporting failure so I can progress with any other "initial setup" actions.

A few things about my installation:

I installed this laptop with Artful initially, around the beta1 milestone. I dist upgraded it to Artful after release. Before upgrading to Bionic I made sure it was fully up to date.

apport-bug didn't work. After I click Send, I got no browser prompt to finish my report. This might be because I have an unusual Firefox setup (multiple profiles).

I noticed that I have bionic-proposed enabled. This is unintentional. It seems likely that I had artful-proposed enabled for test purposes previously. I did have a pin deprioritising it, but it refers to artful specifically so doesn't seem to have acted on Bionic, so unfortunately I've ended up upgrading all the way up to bionic-proposed.

Robie Basak (racb) wrote :

> apport-bug didn't work. After I click Send, I got no browser prompt to finish my report. This might be because I have an unusual Firefox setup (multiple profiles).

OTOH, apport-collect brought up Firefox for authorization just fine.

Robie Basak (racb) wrote :

> OTOH, apport-collect brought up Firefox for authorization just fine.

Though it seems to also have failed to update the bug.

I'm running gnome-initial-setup 3.28.0-2ubuntu6.16.04.2 on Bionic.

Robie Basak (racb) wrote :

I attached gdb to the running (hung) process. Here's a backtrace:

(gdb) bt
#0 0x00007f9ee44dcbf9 in __GI___poll (fds=0x7f9e9c001390, nfds=3, timeout=-1)
    at ../sysdeps/unix/sysv/linux/poll.c:29
#1 0x00007f9ee5098439 in ?? () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#2 0x00007f9ee50987d2 in g_main_loop_run ()
   from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#3 0x00007f9eebad2299 in ?? ()
   from /usr/lib/x86_64-linux-gnu/libgoa-backend-1.0.so.1
#4 0x00007f9eebad2e65 in ?? ()
   from /usr/lib/x86_64-linux-gnu/libgoa-backend-1.0.so.1
#5 0x00007f9eebab52c8 in goa_provider_add_account ()
   from /usr/lib/x86_64-linux-gnu/libgoa-backend-1.0.so.1
#6 0x00005562e6e10d3b in add_ubuntusso_account (page=0x5562e875d610)
    at gis-livepatch-page.c:151
#7 login_and_enable_livepatch (page=page@entry=0x5562e875d610)
    at gis-livepatch-page.c:275
#8 0x00005562e6e116cc in on_livepatch_permission_acquired (
    source=<optimised out>, res=0x5562e901f9f0, data=<optimised out>)
    at gis-livepatch-page.c:317
#9 0x00007f9ee5631026 in g_simple_async_result_complete ()
   from /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0
#10 0x00007f9eec5fcca6 in ?? ()
   from /usr/lib/x86_64-linux-gnu/libpolkit-gobject-1.so.0
#11 0x00007f9ee5631026 in g_simple_async_result_complete ()
---Type <return> to continue, or q <return> to quit---
   from /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0
#12 0x00007f9eec5f408d in ?? ()
   from /usr/lib/x86_64-linux-gnu/libpolkit-gobject-1.so.0
#13 0x00007f9ee5643093 in ?? () from /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0
#14 0x00007f9ee5643ab6 in ?? () from /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0
#15 0x00007f9ee56823fb in ?? () from /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0
#16 0x00007f9ee5643093 in ?? () from /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0
#17 0x00007f9ee5643ab6 in ?? () from /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0
#18 0x00007f9ee5676ed2 in ?? () from /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0
#19 0x00007f9ee5643093 in ?? () from /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0
#20 0x00007f9ee56430c9 in ?? () from /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0
#21 0x00007f9ee50980f5 in g_main_context_dispatch ()
   from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#22 0x00007f9ee50984c0 in ?? () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#23 0x00007f9ee509854c in g_main_context_iteration ()
   from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#24 0x00007f9ee5658d2d in g_application_run ()
   from /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0
#25 0x00005562e6de801e in main (argc=<optimised out>, argv=<optimised out>)
    at gnome-initial-setup.c:309

Robie Basak (racb) wrote :

Here's a backtrace with symbols from /usr/lib/x86_64-linux-gnu/libgoa-backend-1.0.so.1 added:

(gdb) bt
#0 0x00007f9ee44dcbf9 in __GI___poll (fds=0x7f9e9c001390, nfds=3, timeout=-1)
    at ../sysdeps/unix/sysv/linux/poll.c:29
#1 0x00007f9ee5098439 in ?? () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#2 0x00007f9ee50987d2 in g_main_loop_run ()
   from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#3 0x00007f9eebad2299 in get_tokens_and_identity (
    provider=provider@entry=0x5562e82df660, add_account=add_account@entry=1,
    existing_identity=existing_identity@entry=0x0,
    dialog=dialog@entry=0x5562e859e8e0, vbox=vbox@entry=0x5562e87ff2a0,
    data=data@entry=0x7ffd038254a0) at goaubuntussoprovider.c:882
#4 0x00007f9eebad2e65 in add_account (provider=0x5562e82df660,
    client=0x5562e85cea10, dialog=0x5562e859e8e0, vbox=0x5562e87ff2a0,
    error=0x7ffd038256d0) at goaubuntussoprovider.c:956
#5 0x00007f9eebab52c8 in goa_provider_add_account (
    self=self@entry=0x5562e82df660, client=0x5562e85cea10,
    dialog=0x5562e859e8e0, vbox=vbox@entry=0x5562e87ff2a0,
    error=error@entry=0x7ffd038256d0) at goaprovider.c:472
#6 0x00005562e6e10d3b in add_ubuntusso_account (page=0x5562e875d610)
    at gis-livepatch-page.c:151
#7 login_and_enable_livepatch (page=page@entry=0x5562e875d610)
    at gis-livepatch-page.c:275
#8 0x00005562e6e116cc in on_livepatch_permission_acquired (
    source=<optimised out>, res=0x5562e901f9f0, data=<optimised out>)
    at gis-livepatch-page.c:317
#9 0x00007f9ee5631026 in g_simple_async_result_complete ()
   from /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0
#10 0x00007f9eec5fcca6 in ?? ()
   from /usr/lib/x86_64-linux-gnu/libpolkit-gobject-1.so.0
#11 0x00007f9ee5631026 in g_simple_async_result_complete ()
   from /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0
#12 0x00007f9eec5f408d in ?? ()
   from /usr/lib/x86_64-linux-gnu/libpolkit-gobject-1.so.0
#13 0x00007f9ee5643093 in ?? () from /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0
#14 0x00007f9ee5643ab6 in ?? () from /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0
#15 0x00007f9ee56823fb in ?? () from /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0
#16 0x00007f9ee5643093 in ?? () from /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0
#17 0x00007f9ee5643ab6 in ?? () from /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0
#18 0x00007f9ee5676ed2 in ?? () from /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0
#19 0x00007f9ee5643093 in ?? () from /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0
#20 0x00007f9ee56430c9 in ?? () from /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0
#21 0x00007f9ee50980f5 in g_main_context_dispatch ()
   from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#22 0x00007f9ee50984c0 in ?? () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#23 0x00007f9ee509854c in g_main_context_iteration ()
   from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#24 0x00007f9ee5658d2d in g_application_run ()
   from /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0
#25 0x00005562e6de801e in main (argc=<optimised out>, argv=<optimised out>)
    at gnome-initial-setup.c:309

Robie Basak (racb) wrote :

Looks like it's hung here:

https://git.launchpad.net/ubuntu/+source/gnome-online-accounts/tree/src/goabackend/goaubuntussoprovider.c?h=applied/ubuntu/bionic-proposed#n882

Is there some kind of error path which is causing the async operation to never complete?

Adding a gnome-online-accounts task as the hang seems to be in there.

Andrea: subscribing you for attention. I don't care about my own system, but if there's an edge error case that isn't handled, then other users might end up stuck too.

If you're around, I can debug further. I don't know if I can reproduce, but I'll try to avoid killing this hung process that I have gdb attached to in case you want me to peek at anything specific.

Robie Basak (racb) wrote :

I was forced to reboot due to a wifi hang so I no longer have the process available. However I can try again to reproduce if you like - gnome-initial-setup came up on next login. I'll wait though in case you want me to instrument anything first.

To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers