Bug 961282

Summary: Cancelling Enterprise Login 'Add' leads to abort
Product: [Fedora] Fedora Reporter: Stef Walter <stefw>
Component: control-centerAssignee: Control Center Maintainer <control-center-maint>
Status: CLOSED CURRENTRELEASE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 19CC: control-center-maint, mkasik, ofourdan, rstrode
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: control-center-3.8.3-1.fc19 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2013-06-13 06:49:10 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 959458    

Description Stef Walter 2013-05-09 10:43:45 UTC
Description of problem:

When in the 'Add account' dialog of the user panel, if click 'Add' and then cancel, I get an abort.

Version-Release number of selected component (if applicable):

Name        : control-center
Arch        : x86_64
Epoch       : 1
Version     : 3.8.1
Release     : 2.fc19

How reproducible:

Every time

Steps to Reproduce:
1. User panel
2. Unlock
3. [+]
4. Enterprise login
5. Domain: blah.com, User: auou, Password: onuto
6: Add
7: Cancel (while spinner)
  
Actual results:

(gnome-control-center:6040): user-accounts-cc-panel-CRITICAL **: um_realm_manager_discover_finish: assertion `UM_IS_REALM_MANAGER (self)' failed
**
user-accounts-cc-panel:ERROR:um-account-dialog.c:724:on_realm_discover_input: assertion failed: (realms != NULL)

(gdb) bt
#0  0x0000003f9a835819 in __GI_raise (sig=sig@entry=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:56
#1  0x0000003f9a836f28 in __GI_abort () at abort.c:90
#2  0x0000003f9cc6bd16 in g_assertion_message (domain=domain@entry=0x53cdc4 "user-accounts-cc-panel", file=file@entry=0x53d9ff "um-account-dialog.c", line=line@entry=724, 
    func=func@entry=0x53dcc0 <__PRETTY_FUNCTION__.48758> "on_realm_discover_input", message=<optimized out>) at gtestutils.c:1912
#3  0x0000003f9cc6bd74 in g_assertion_message_expr (domain=domain@entry=0x53cdc4 "user-accounts-cc-panel", file=file@entry=0x53d9ff "um-account-dialog.c", 
    line=line@entry=724, func=func@entry=0x53dcc0 <__PRETTY_FUNCTION__.48758> "on_realm_discover_input", expr=expr@entry=0x53dbcc "realms != NULL") at gtestutils.c:1923
#4  0x00000000004bf086 in on_realm_discover_input (source=<optimized out>, result=<optimized out>, user_data=<optimized out>) at um-account-dialog.c:724
#5  0x0000003f9e46b4e7 in g_simple_async_result_complete (simple=0x1af3990 [GSimpleAsyncResult]) at gsimpleasyncresult.c:777
#6  0x00000000004cb2a2 in on_provider_discover (source=<optimized out>, result=<optimized out>, user_data=<optimized out>) at um-realm-manager.c:357
#7  0x0000003f9e46b4e7 in g_simple_async_result_complete (simple=0xd23070 [GSimpleAsyncResult]) at gsimpleasyncresult.c:777
#8  0x0000003f9e4c3b8d in reply_cb (connection=<optimized out>, res=<optimized out>, user_data=0xd23070) at gdbusproxy.c:2632
#9  0x0000003f9e46b4e7 in g_simple_async_result_complete (simple=0xd230e0 [GSimpleAsyncResult]) at gsimpleasyncresult.c:777
#10 0x0000003f9e4b92c6 in g_dbus_connection_call_done (source=<optimized out>, result=<optimized out>, user_data=0x1b302c0) at gdbusconnection.c:5333
#11 0x0000003f9e46b4e7 in g_simple_async_result_complete (simple=0x1404aa0 [GSimpleAsyncResult]) at gsimpleasyncresult.c:777
#12 0x0000003f9e46b549 in complete_in_idle_cb (data=<optimized out>) at gsimpleasyncresult.c:789
#13 0x0000003f9cc47f56 in g_main_dispatch (context=0xbaf9d0) at gmain.c:3054
#14 g_main_context_dispatch (context=context@entry=0xbaf9d0) at gmain.c:3630
#15 0x0000003f9cc482a8 in g_main_context_iterate (context=context@entry=0xbaf9d0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at gmain.c:3701
#16 0x0000003f9cc4834c in g_main_context_iteration (context=0xbaf9d0, context@entry=0x0, may_block=may_block@entry=1) at gmain.c:3762
#17 0x0000003f9e496564 in g_application_run (application=0xbac010 [CcApplication], argc=argc@entry=1, argv=argv@entry=0x7fffffffdac8) at gapplication.c:1623
#18 0x0000000000449348 in main (argc=1, argv=0x7fffffffdac8) at main.c:52


Expected results:

Cancels dialog.

Comment 1 Stef Walter 2013-05-27 10:23:21 UTC
Patch available upstream.

Comment 2 Stef Walter 2013-06-12 15:53:34 UTC
Patch available upstream, not yet released:

commit bd5ab948430e1293c8e955869712d2bc2e6f667e
Author: Stef Walter <stefw>
Date:   Fri May 24 14:32:51 2013 +0200

    user-accounts: After the add account dialog is cancelled, discard results
    
    When closing the dialog, we cancel the cancellable, but don't
    wait for all the async calls to complete before closing the dialog
    so discard results when they come in.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=700958

Comment 3 Stef Walter 2013-06-12 15:56:43 UTC
Actually, this is part of gnome-control-center 3.8.3

$ git tag --contains 7cdcb6989ed04d0729aafc524a3bd3f2dccf1f1c
GNOME_CONTROL_CENTER_3_8_3

https://admin.fedoraproject.org/updates/FEDORA-2013-10587/gnome-shell-3.8.3-1.fc19,mutter-3.8.3-1.fc19,gnome-settings-daemon-3.8.3-2.fc19,control-center-3.8.3-1.fc19

Comment 4 Stef Walter 2013-06-13 06:49:10 UTC
Pushed to fedora 19 stable.