clearlinux / distribution

Placeholder repository to allow filing of general bugs/issues/etc against the Clear Linux OS for Intel Architecture linux distribution
522 stars 29 forks source link

Removing a user doesn't refresh display #510

Open nsauzede opened 5 years ago

nsauzede commented 5 years ago

Describe the bug When removing a user from graphical tool, the user removal works, but graphically we don't see it unless quitting/re-running the tool Worst, in some case the application even crash (see below)

To Reproduce First, must have at least two users. (obviously)

  1. Launch Users tool
  2. Unlock it (enter password)
  3. Click on (eg: second) user to delete
  4. Delete it, eg: with delete all files
  5. Nothing happens graphically (yet, the user is deleted !) - first issue
  6. Click on Date & Time
  7. Click on Users again
  8. It crashes ! (windows disappear) - second issue
  9. Re-run Users tool : we can see the (second) user is deleted

Expected behavior Deleting (succesfully) a user should work (not crash) and be immediately visible : IE: hte "User view" should be automatically refreshed to select eg: the first remaining user

Environment (please complete the following information):

Additional context Running in VirtualBox Using native CLR kernel

mrkz commented 5 years ago

a gdb backtrace when reproducing this issue shows the following:

(gdb) bt
#0  0x00007f3cd1b2dd37 in _g_utf8_normalize_wc (str=0x0, max_len=max_len@entry=-1, mode=mode@entry=G_NORMALIZE_DEFAULT_COMPOSE)
    at ../glib/gunidecomp.c:372
#1  0x00007f3cd1b2e3d1 in g_utf8_normalize (str=<optimized out>, len=len@entry=-1, mode=mode@entry=G_NORMALIZE_DEFAULT_COMPOSE)
    at ../glib/gunidecomp.c:533
#2  0x000055bc8e6da44a in extract_initials_from_name (name=0x0) at ../panels/user-accounts/user-utils.c:572
#3  0x000055bc8e6da44a in generate_user_picture (size=80, name=0x0) at ../panels/user-accounts/user-utils.c:651
#4  0x000055bc8e6da44a in generate_default_avatar (user=user@entry=0x55bc90f9f100, size=size@entry=80) at ../panels/user-accounts/user-utils.c:730
#5  0x000055bc8e6db842 in cc_avatar_chooser_set_user (self=0x7f3cb808a1f0, user=user@entry=0x55bc90f9f100)
    at ../panels/user-accounts/cc-avatar-chooser.c:617
#6  0x000055bc8e6c5602 in show_user (self=0x55bc914a5720, user=0x55bc90f9f100) at ../panels/user-accounts/cc-user-panel.c:814
#7  0x000055bc8e6c5602 in set_selected_user (self=0x55bc914a5720, item=<optimized out>) at ../panels/user-accounts/cc-user-panel.c:188
#11 0x00007f3cd1c4ee73 in <emit signal ??? on instance ???>
    (instance=instance@entry=0x55bc914e2a80, signal_id=<optimized out>, detail=detail@entry=0) at ../gobject/gsignal.c:3447
    #8  0x00007f3cd1c44dbf in g_closure_invoke
    (closure=0x55bc911c50d0, return_value=0x0, n_param_values=2, param_values=0x7ffdbad25780, invocation_hint=0x7ffdbad25700)
    at ../gobject/gclosure.c:810
    #9  0x00007f3cd1c5e3a9 in signal_emit_unlocked_R
    (node=node@entry=0x55bc91655790, detail=detail@entry=0, instance=instance@entry=0x55bc914e2a80, emission_return=emission_return@entry=0x0, insta
nce_and_params=instance_and_params@entry=0x7ffdbad25780) at ../gobject/gsignal.c:3635
    #10 0x00007f3cd1c5fff4 in g_signal_emit_valist
    (instance=<optimized out>, signal_id=<optimized out>, detail=<optimized out>, var_args=var_args@entry=0x7ffdbad25940)
    at ../gobject/gsignal.c:3391
#12 0x000055bc8e6dc1b5 in cc_carousel_select_item (self=0x55bc914e2a80, item=item@entry=0x55bc8feadc10)
    at ../panels/user-accounts/cc-carousel.c:222
#13 0x000055bc8e6dc25c in on_item_toggled (item=item@entry=0x55bc8feadc10, event=<optimized out>, user_data=0x55bc914e2a80)
    at ../panels/user-accounts/cc-carousel.c:195
#18 0x00007f3cd1c4ee73 in <emit signal ??? on instance ???>
    (instance=instance@entry=0x55bc8feadc10, signal_id=<optimized out>, detail=detail@entry=0) at ../gobject/gsignal.c:3447
    #14 0x00007f3cd13a74f5 in _gtk_marshal_BOOLEAN__BOXED
    (closure=0x55bc914d2920, return_value=0x7ffdbad25c20, n_param_values=<optimized out>, param_values=0x7ffdbad25c80, invocation_hint=<optimized ou
t>, marshal_data=<optimized out>) at gtkmarshalers.c:83
    #15 0x00007f3cd1c44dbf in g_closure_invoke
    (closure=0x55bc914d2920, return_value=0x7ffdbad25c20, n_param_values=2, param_values=0x7ffdbad25c80, invocation_hint=0x7ffdbad25c00)
    at ../gobject/gclosure.c:810
    #16 0x00007f3cd1c5e3a9 in signal_emit_unlocked_R
    (node=node@entry=0x55bc8f7f5760, detail=detail@entry=0, instance=instance@entry=0x55bc8feadc10, emission_return=emission_return@entry=0x7ffdbad2
5d90, instance_and_params=instance_and_params@entry=0x7ffdbad25c80) at ../gobject/gsignal.c:3635
    #17 0x00007f3cd1c5f931 in g_signal_emit_valist
    (instance=<optimized out>, signal_id=<optimized out>, detail=<optimized out>, var_args=var_args@entry=0x7ffdbad25e40)
    at ../gobject/gsignal.c:3401
#19 0x00007f3cd13ec7d3 in gtk_widget_event_internal.part.0.lto_priv.0 (widget=widget@entry=0x55bc8feadc10, event=event@entry=0x55bc908dfc90)
    at gtkwidget.c:7789
#20 0x00007f3cd13ee8e9 in gtk_widget_event_internal (event=<optimized out>, widget=<optimized out>) at gtkwidget.c:7636
#21 0x00007f3cd13ee8e9 in gtk_widget_event (widget=0x55bc8feadc10, event=0x55bc908dfc90) at gtkwidget.c:7359
#22 0x00007f3cd15af578 in propagate_event_up (topmost=<optimized out>, event=<optimized out>, widget=0x55bc8feadc10) at gtkmain.c:2582
#23 0x00007f3cd15af578 in propagate_event (widget=<optimized out>, event=0x55bc908dfc90, captured=<optimized out>, topmost=0x0) at gtkmain.c:2685
--Type <RET> for more, q to quit, c to continue without paging--
#24 0x00007f3cd15b665b in gtk_main_do_event (event=0x55bc908dfc90) at gtkmain.c:1915
#25 0x00007f3cd15b665b in gtk_main_do_event (event=<optimized out>) at gtkmain.c:1685
#26 0x00007f3cd1297de9 in _gdk_event_emit (event=0x55bc908dfc90) at gdkevents.c:73
#27 0x00007f3cd1257663 in _gdk_event_emit (event=0x55bc908dfc90) at gdkdnd.c:738
#28 0x00007f3cd1257663 in gdk_event_source_dispatch (source=source@entry=0x55bc8f7e10c0, callback=<optimized out>, user_data=<optimized out>)
    at gdkeventsource.c:367
#29 0x00007f3cd1b6a435 in g_main_dispatch (context=0x55bc8f7e11b0) at ../glib/gmain.c:3189
#30 0x00007f3cd1b6a435 in g_main_context_dispatch (context=0x55bc8f7e11b0) at ../glib/gmain.c:3854
#31 0x00007f3cd1b6ac90 in g_main_context_iterate.isra.0.lto_priv.0
    (context=0x55bc8f7e11b0, block=<optimized out>, dispatch=<optimized out>, self=<optimized out>) at ../glib/gmain.c:3927
#32 0x00007f3cd1b6de2f in g_main_context_iteration (context=context@entry=0x55bc8f7e11b0, may_block=may_block@entry=1) at ../glib/gthread.c:1003
#33 0x00007f3cd1d7ddfd in g_application_run (application=0x55bc8fe0d5c0, argc=<optimized out>, argv=<optimized out>) at ../gio/gapplication.c:2516
#34 0x000055bc8e63a5e0 in main (argc=<optimized out>, argv=<optimized out>) at ../shell/main.c:70