Bug 979123 - [abrt] network-manager-applet-0.9.8.1-4.git20130514.fc18: inner_auth_combo_changed_cb: Process /usr/bin/nm-applet was killed by signal 6 (SIGABRT)
Summary: [abrt] network-manager-applet-0.9.8.1-4.git20130514.fc18: inner_auth_combo_ch...
Keywords:
Status: CLOSED WONTFIX
Alias: None
Product: Fedora
Classification: Fedora
Component: network-manager-applet
Version: 18
Hardware: x86_64
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Dan Williams
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard: abrt_hash:3c467b26a24fb155283289f9436...
: 810004 880380 951944 953993 1003030 1011848 (view as bug list)
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2013-06-27 16:42 UTC by rcoe
Modified: 2014-02-05 23:12 UTC (History)
9 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2014-02-05 23:12:33 UTC
Type: ---


Attachments (Terms of Use)
File: backtrace (29.93 KB, text/plain)
2013-06-27 16:42 UTC, rcoe
no flags Details
File: cgroup (127 bytes, text/plain)
2013-06-27 16:42 UTC, rcoe
no flags Details
File: core_backtrace (2.53 KB, text/plain)
2013-06-27 16:42 UTC, rcoe
no flags Details
File: dso_list (10.04 KB, text/plain)
2013-06-27 16:42 UTC, rcoe
no flags Details
File: environ (1.24 KB, text/plain)
2013-06-27 16:42 UTC, rcoe
no flags Details
File: limits (1.29 KB, text/plain)
2013-06-27 16:42 UTC, rcoe
no flags Details
File: maps (51.81 KB, text/plain)
2013-06-27 16:42 UTC, rcoe
no flags Details
File: open_fds (1.05 KB, text/plain)
2013-06-27 16:42 UTC, rcoe
no flags Details
File: proc_pid_status (1.10 KB, text/plain)
2013-06-27 16:42 UTC, rcoe
no flags Details
File: xsession_errors (2.00 KB, text/plain)
2013-06-27 16:42 UTC, rcoe
no flags Details
[PATCH] eap: use G_DEFINE_BOXED_TYPE to be thread-safe (7.60 KB, patch)
2013-09-06 09:19 UTC, Jirka Klimes
no flags Details | Diff

Description rcoe 2013-06-27 16:42:25 UTC
Description of problem:
I believe the cause was that the network was protected by 802.1x security and network connection was not configured.  Every time I logged in as a user, the applet would crash.  Once I logged in as root and changed the applet settings, I could log in as the user without the applet crashing.

Version-Release number of selected component:
network-manager-applet-0.9.8.1-4.git20130514.fc18

Additional info:
reporter:       libreport-2.1.4
backtrace_rating: 4
cmdline:        nm-applet
crash_function: inner_auth_combo_changed_cb
executable:     /usr/bin/nm-applet
kernel:         3.9.6-200.fc18.x86_64
runlevel:       N 5
uid:            20992220
var_log_messages: Jun 26 08:21:16 l1203-008L abrt[3280]: Saved core dump of pid 2611 (/usr/bin/nm-applet) to /var/tmp/abrt/ccpp-2013-06-26-08:20:28-2611 (73682944 bytes)

Truncated backtrace:
Thread no. 1 (10 frames)
 #4 inner_auth_combo_changed_cb at eap-method-fast.c:214
 #5 eap_method_fast_new at eap-method-fast.c:420
 #6 ws_802_1x_auth_combo_init at wireless-security.c:415
 #7 ws_wpa_eap_new at ws-wpa-eap.c:128
 #8 dialog_set_security at ethernet-dialog.c:65
 #9 nma_ethernet_dialog_new at ethernet-dialog.c:108
 #10 nm_8021x_get_secrets at applet-device-ethernet.c:587
 #11 ethernet_get_secrets at applet-device-ethernet.c:624
 #12 get_existing_secrets_cb at applet.c:2938
 #13 keyring_find_secrets_cb at applet-agent.c:429

Comment 1 rcoe 2013-06-27 16:42:28 UTC
Created attachment 766253 [details]
File: backtrace

Comment 2 rcoe 2013-06-27 16:42:31 UTC
Created attachment 766254 [details]
File: cgroup

Comment 3 rcoe 2013-06-27 16:42:34 UTC
Created attachment 766255 [details]
File: core_backtrace

Comment 4 rcoe 2013-06-27 16:42:36 UTC
Created attachment 766256 [details]
File: dso_list

Comment 5 rcoe 2013-06-27 16:42:39 UTC
Created attachment 766257 [details]
File: environ

Comment 6 rcoe 2013-06-27 16:42:42 UTC
Created attachment 766258 [details]
File: limits

Comment 7 rcoe 2013-06-27 16:42:45 UTC
Created attachment 766259 [details]
File: maps

Comment 8 rcoe 2013-06-27 16:42:48 UTC
Created attachment 766260 [details]
File: open_fds

Comment 9 rcoe 2013-06-27 16:42:50 UTC
Created attachment 766261 [details]
File: proc_pid_status

Comment 10 rcoe 2013-06-27 16:42:53 UTC
Created attachment 766262 [details]
File: xsession_errors

Comment 11 Jirka Klimes 2013-06-28 07:39:54 UTC
*** Bug 880380 has been marked as a duplicate of this bug. ***

Comment 12 rcoe 2013-08-19 13:02:55 UTC
Activated a wireless connection (had already connected with a wired connection).  The connection requires 802.1x but was not previously set up.  The connection I attempted to use was auto-discovered.  So, I would have expected to see a config popup asking me for connection details but nothing happened, just the nm-applet disappeared and then I was notified of the crash.

reporter:       libreport-2.1.5
backtrace_rating: 4
cmdline:        nm-applet
crash_function: inner_auth_combo_changed_cb
executable:     /usr/bin/nm-applet
kernel:         3.10.7-100.fc18.x86_64
package:        network-manager-applet-0.9.8.2-1.fc18
reason:         Process /usr/bin/nm-applet was killed by signal 6 (SIGABRT)
runlevel:       N 5
uid:            20992220

Comment 13 Jirka Klimes 2013-09-03 14:13:53 UTC
*** Bug 951944 has been marked as a duplicate of this bug. ***

Comment 14 Jirka Klimes 2013-09-03 14:15:53 UTC
*** Bug 953993 has been marked as a duplicate of this bug. ***

Comment 15 Jirka Klimes 2013-09-03 14:17:43 UTC
*** Bug 1003030 has been marked as a duplicate of this bug. ***

Comment 16 Jirka Klimes 2013-09-03 14:19:23 UTC
*** Bug 810004 has been marked as a duplicate of this bug. ***

Comment 17 Jirka Klimes 2013-09-06 09:15:25 UTC
The code that failed was:

-->  model = gtk_combo_box_get_model (GTK_COMBO_BOX (combo));
     gtk_combo_box_get_active_iter (GTK_COMBO_BOX (combo), &iter);
     gtk_tree_model_get (model, &iter, I_METHOD_COLUMN, &eap, -1);
-->  g_assert (eap);
in eap-method-fast.c:inner_auth_combo_changed_cb()

model was NULL and thus later eap was NULL as well.

And the model was NULL because eap_method_get_type() failed before in
inner_auth_combo_init():
    auth_model = gtk_list_store_new (2, G_TYPE_STRING, eap_method_get_type ())

The problem looks like a threading issue. We should use G_DEFINE_BOXED_TYPE to be thread save, see attached patch.

Comment 18 Jirka Klimes 2013-09-06 09:19:13 UTC
Created attachment 794625 [details]
[PATCH]  eap: use G_DEFINE_BOXED_TYPE to be thread-safe

Patch to use G_DEFINE_BOXED_TYPE for registering GType instead of home-brewed functions.

Comment 19 Jirka Klimes 2013-09-06 09:25:54 UTC
The patch is also available in upstream branch jklimes/rh979123-eap-crash.

Unfortunately, my testing showed that the patch didn't fixed the bug even if it looks like a right thing to do.
Instead of a crash, I experienced nm-applet to be stuck:
Thread 1 (Thread 0x7fb6baa09a00 (LWP 9449)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:165
#1  0x00000030d2c8501f in g_cond_wait (cond=cond@entry=0x30d2f213a0 <g_once_cond>, mutex=mutex@entry=0x30d2f21398 <g_once_mutex>) at gthread-posix.c:748
#2  0x00000030d2c6b75b in g_once_init_enter (location=location@entry=0x7fb6bac59ff0 <g_define_type_id__volatile.50831>) at gthread.c:682
#3  0x00007fb6baa48b20 in eap_method_get_type () at eap-method.c:40
#4  0x00007fb6baa4cb66 in inner_auth_combo_init (secrets_only=1, s_8021x=0x1b17d20 [NMSetting8021x], connection=0x1b1f830 [NMConnection], method=0x15d69f0) at eap-method-fast.c:244
#5  eap_method_fast_new (ws_parent=<optimized out>, connection=0x1b1f830 [NMConnection], is_editor=<optimized out>, secrets_only=1) at eap-method-fast.c:419
#6  0x00007fb6baa455dd in ws_802_1x_auth_combo_init (sec=0x1b25ba0, combo_name=0x7fb6baa53038 "dynamic_wep_auth_combo", combo_label=0x7fb6baa5304f "dynamic_wep_auth_label", auth_combo_changed_cb=
    0x7fb6baa48150 <auth_combo_changed_cb>, connection=0x1b1f830 [NMConnection], is_editor=0, secrets_only=1) at wireless-security.c:403
#7  0x00007fb6baa4836f in ws_dynamic_wep_new (connection=0x1b1f830 [NMConnection], is_editor=is_editor@entry=0, secrets_only=secrets_only@entry=1) at ws-dynamic-wep.c:132
#8  0x00007fb6baa3a86f in security_combo_init (self=self@entry=0x7fb6ac00c500 [NMAWifiDialog], secrets_only=1) at nm-wifi-dialog.c:934
#9  0x00007fb6baa3ba92 in internal_init (self=self@entry=0x7fb6ac00c500 [NMAWifiDialog], specific_connection=specific_connection@entry=0x1b1f830 [NMConnection], specific_device=
    0x167dd00 [GtkListStore], specific_device@entry=0x0, secrets_only=secrets_only@entry=1, create=create@entry=0) at nm-wifi-dialog.c:1120
#10 0x00007fb6baa3ccb0 in nma_wifi_dialog_new (client=<optimized out>, settings=0x1634900 [NMRemoteSettings], connection=0x1b1f830 [NMConnection], device=device@entry=0x0, ap=ap@entry=0x0, 
    secrets_only=secrets_only@entry=1) at nm-wifi-dialog.c:1311
#11 0x0000000000421a86 in wifi_get_secrets (req=0x1681580, error=0x7fff05b28578) at applet-device-wifi.c:1671
#12 0x00000000004183c4 in get_existing_secrets_cb (agent=<optimized out>, connection=<optimized out>, secrets=<optimized out>, secrets_error=<optimized out>, user_data=<optimized out>)
    at applet.c:2938
#13 0x000000000041a43a in keyring_find_secrets_cb (source=<optimized out>, result=<optimized out>, user_data=0x167de50) at applet-agent.c:429
#14 0x00000030d586dff7 in g_simple_async_result_complete (simple=0x1a0ff50 [GSimpleAsyncResult]) at gsimpleasyncresult.c:775
#15 0x00000030ee21a979 in on_search_secrets () from /lib64/libsecret-1.so.0
#16 0x00000030d586dff7 in g_simple_async_result_complete (simple=0x1a2ea50 [GSimpleAsyncResult]) at gsimpleasyncresult.c:775
#17 0x00000030d586e0f9 in complete_in_idle_cb (data=<optimized out>) at gsimpleasyncresult.c:787
#18 0x00000030d2c47a55 in g_main_dispatch (context=0x1498a30) at gmain.c:2715
#19 g_main_context_dispatch (context=context@entry=0x1498a30) at gmain.c:3219
#20 0x00000030d2c47d88 in g_main_context_iterate (context=0x1498a30, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at gmain.c:3290
#21 0x00000030d2c48182 in g_main_loop_run (loop=0x14b3f80) at gmain.c:3484
#22 0x0000000000411647 in main (argc=1, argv=0x7fff05b288c8) at main.c:106

See http://ur1.ca/fed02 for the full trace.

Comment 20 Jirka Klimes 2013-09-06 09:34:40 UTC
I am not completely sure about the reproducer, but it seems to be this:
Create two EAP-enabled connections:
- Wi-Fi with WPA Enterprise
- Ethernet with 802.1X security enabled
and try to activate them simultaneously.

Comment 21 Jirka Klimes 2013-09-06 10:35:19 UTC
Also, these are the related glib assertions:
(nm-applet:9449): GLib-GObject-CRITICAL **: g_boxed_type_register_static: assertion `g_type_from_name (name) == 0' failed

(nm-applet:9449): GLib-CRITICAL **: g_once_init_leave: assertion `result != 0' failed

(nm-applet:9449): Gtk-WARNING **: gtkliststore.c:447: Invalid type (null)

(nm-applet:9449): Gtk-CRITICAL **: gtk_list_store_append: assertion `GTK_IS_LIST_STORE (list_store)' failed

(nm-applet:9449): Gtk-CRITICAL **: gtk_list_store_set_valist: assertion `GTK_IS_LIST_STORE (list_store)' failed

(nm-applet:9449): Gtk-CRITICAL **: gtk_list_store_append: assertion `GTK_IS_LIST_STORE (list_store)' failed

(nm-applet:9449): Gtk-CRITICAL **: gtk_list_store_set_valist: assertion `GTK_IS_LIST_STORE (list_store)' failed

Comment 22 Dan Winship 2013-09-12 16:26:38 UTC
The patch is fine, even if it doesn't fix the bug.

> See http://ur1.ca/fed02 for the full trace.

no longer there.

This might be related to https://bugzilla.gnome.org/show_bug.cgi?id=674885, in which case the only good workaround is to use g_type_ensure() to make sure the types get registered before they might be needed from another thread.

(Although... nm-applet doesn't use threads of its how, so why are its types getting referenced from other threads?)

Comment 23 Jirka Klimes 2013-09-13 08:12:40 UTC
The patch pushed:
https://git.gnome.org/browse/network-manager-applet/commit/?id=36a316be6cb424552782970c48305990e5af8437

Anyway, the bug needs more testing to find out what's going on. Dan, thanks for pointing to bgo 674885. It seems the issue described there could be the same.

Comment 24 Jirka Klimes 2013-09-26 06:48:41 UTC
*** Bug 1011848 has been marked as a duplicate of this bug. ***

Comment 25 Fedora End Of Life 2013-12-21 15:34:42 UTC
This message is a reminder that Fedora 18 is nearing its end of life.
Approximately 4 (four) weeks from now Fedora will stop maintaining
and issuing updates for Fedora 18. It is Fedora's policy to close all
bug reports from releases that are no longer maintained. At that time
this bug will be closed as WONTFIX if it remains open with a Fedora 
'version' of '18'.

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, simply change the 'version' 
to a later Fedora version prior to Fedora 18's end of life.

Thank you for reporting this issue and we are sorry that we may not be 
able to fix it before Fedora 18 is end of life. If you would still like 
to see this bug fixed and are able to reproduce it against a later version 
of Fedora, you are encouraged  change the 'version' to a later Fedora 
version prior to Fedora 18's end of life.

Although we aim to fix as many bugs as possible during every release's 
lifetime, sometimes those efforts are overtaken by events. Often a 
more recent Fedora release includes newer upstream software that fixes 
bugs or makes them obsolete.

Comment 26 Fedora End Of Life 2014-02-05 23:12:33 UTC
Fedora 18 changed to end-of-life (EOL) status on 2014-01-14. Fedora 18 is
no longer maintained, which means that it will not receive any further
security or bug fix updates. As a result we are closing this bug.

If you can reproduce this bug against a currently maintained version of
Fedora please feel free to reopen this bug against that version. If you
are unable to reopen this bug, please file a new report against the
current release. If you experience problems, please add a comment to this
bug.

Thank you for reporting this bug and we are sorry it could not be fixed.


Note You need to log in before you can comment on or make changes to this bug.