Launchpad has imported 8 comments from the remote bug at https://bugzilla.gnome.org/show_bug.cgi?id=785674.
If you reply to an imported comment from within Launchpad, your comment will be sent to the remote bug automatically. Read more about Launchpad's inter-bugtracker facilities at https://help.launchpad.net/InterBugTracking. ------------------------------------------------------------------------ On 2017-08-01T09:21:59+00:00 bewied wrote: Steps to reproduce on my system: - Run 'nm-connection-editor' - Select any network (in my case, a home WLAN for which the computer doesn't have the password yet; but *all other* networks are also affected) - Click the 'Edit' button Expected behavior: Not sure how, but it should open the configuration dialog eventually. Actual behavior: Segfault in src/libnma/nma-cert-chooser-button.c:95 Relevant part of gdb's output: #0 0xb76b121e in modules_initialized (object=0x0, res=0x8104d8e0, user_data=0x81058178) at src/libnma/nma-cert-chooser-button.c:95 self = 0x81058178 [NMACertChooserButton] error = 0x0 modules = 0x0 iter = {stamp = -2134551640, user_data = 0x80c553c8, user_data2 = 0x1, user_data3 = 0x80f8af20} And line 95 is: 93 if (!modules) { 94 /* The Front Fell Off. */ 95 g_critical ("Error getting registered modules: %s", error->message); 96 g_error_free (error); 97 } It tries to access the 'message' field of 'error', which is null. So there is a soft-error (no modules found), which is then handled badly at some point ('error' ends up being null-but-accessed). 'error' probably should be written by 'gck_modules_initialize_registered_finish', and I have no idea why it doesn't. Not sure if the problem is with gck or with libnma's usage of it. Assuming it's libnma's fault, is this the right place to report bugs? Can someone look into it and maybe even fix it? Cheers, Ben PS: Already report downstream in the Debian BTS as https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=865013#41 Reply at: https://bugs.launchpad.net/ubuntu/+source/network-manager- applet/+bug/1806269/comments/0 ------------------------------------------------------------------------ On 2017-08-01T09:27:08+00:00 bewied wrote: I forgot to mention: This is *not* related to any of the existing bugs, for the following reasons: - 781580: Different kind of behavior. Here: segfault; there: disabled buttons. - 768986: Crashes in a different place. - 733034: May have the same underlying cause, but sounds different enough. - 755663: Here: broken existing feature; there: proposed/missing feature. Reply at: https://bugs.launchpad.net/ubuntu/+source/network-manager- applet/+bug/1806269/comments/1 ------------------------------------------------------------------------ On 2018-01-14T05:20:32+00:00 David Tomaschik wrote: I believe I am having a related (or the same issue). With network- manager-gnome 1.8.10, I also get a crash on clicking the "Edit" icon for any network. I have discovered this only occurs when I have the opensc- pkcs11 package installed. I get this message before the segfault: (nm-connection-editor:29856): Gck-WARNING **: couldn't get slot info: An error occurred on the device [1] 29856 segmentation fault (core dumped) nm-connection-editor My full backtrace: #0 0x00007ffff7ba931e in is_this_a_slot_nobody_loves (slot=0x55555612ac60) at src/libnma/nma-cert-chooser-button.c:69 #1 0x00007ffff7ba931e in modules_initialized (object=<optimized out>, res=<optimized out>, user_data=user_data@entry=0x555555f92730) at src/libnma/nma-cert-chooser-button.c:113 #2 0x00007ffff54c9af4 in process_result (unused=0x0, call=0x555555e3aaa0) at gck/gck-call.c:151 #3 0x00007ffff54c9af4 in process_completed (klass=<optimized out>) at gck/gck-call.c:165 #4 0x00007ffff54ca43c in _gck_call_async_go (call=0x55555617edf0) at gck/gck-call.c:498 #5 0x00007ffff66c5735 in g_type_create_instance () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0 #6 0x00007ffff66a65d8 in () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0 #7 0x00007ffff66a8450 in g_object_new_valist () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0 #8 0x00007ffff66a87c9 in g_object_new () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0 #9 0x00007ffff7ba9e22 in nma_cert_chooser_button_new (flags=flags@entry=NMA_CERT_CHOOSER_BUTTON_FLAG_KEY) at src/libnma/nma-cert-chooser-button.c:447 #10 0x00007ffff7baa63e in init (cert_chooser=0x555555895020) at src/libnma/nma-pkcs11-cert-chooser.c:437 #11 0x00007ffff7ba5eab in constructor (type=<optimized out>, n_construct_properties=<optimized out>, construct_properties=<optimized out>) at src/libnma/nma-cert-chooser.c:635 #12 0x00007ffff66a640e in () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0 #13 0x00007ffff66a8450 in g_object_new_valist () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0 #14 0x00007ffff66a87c9 in g_object_new () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0 #15 0x00007ffff7ba68e7 in nma_cert_chooser_new (title=<optimized out>, flags=<optimized out>) at src/libnma/nma-cert-chooser.c:813 #16 0x00005555555a53ad in eap_method_ttls_new (ws_parent=0x555555eb0270, connection=0x5555559faf60, is_editor=<optimized out>, secrets_only=0x0) at src/wireless-security/eap-method-ttls.c:446 #17 0x000055555559db1b in ws_802_1x_auth_combo_init (sec=0x555555eb0270, combo_name=0x5555555b0750 "dynamic_wep_aut"..., combo_label=0x5555555b0767 "dynamic_wep_aut"..., auth_combo_changed_cb=0x5555555a0580 <auth_combo_changed_cb>, connection=0x5555559faf60, is_editor=0x1, secrets_only=0x0) at src/wireless-security/wireless-security.c:479 #18 0x00005555555a069f in ws_dynamic_wep_new (connection=0x5555559faf60, is_editor=0x1, secrets_only=0x0) at src/wireless-security/ws-dynamic-wep.c:121 #19 0x0000555555577387 in finish_setup (self=0x555555e45030, unused=<optimized out>, error=<optimized out>, user_data=<optimized out>) at src/connection-editor/page-wifi-security.c:391 #20 0x00007ffff66a0f9d in g_closure_invoke () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0 #21 0x00007ffff66b3c9e in () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0 #22 0x00007ffff66bc475 in g_signal_emit_valist () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0 #23 0x00007ffff66bce8f in g_signal_emit () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0 #24 0x00005555555713d3 in emit_initialized (error=<optimized out>, self=<optimized out>) at src/connection-editor/ce-page.c:667 #25 0x00005555555713d3 in ce_page_complete_init (self=0x555555e45030, setting_name=0x555555e23ff0 "802-11-wireless"..., secrets=0x7fffdc030810, error=<optimized out>) at src/connection-editor/ce-page.c:719 #26 0x000055555556a741 in get_secrets_cb (object=<optimized out>, result=0x555555ecd6d0, user_data=0x555555def7c0) at src/connection-editor/nm-connection-editor.c:818 #27 0x00007ffff695e846 in g_simple_async_result_complete () at /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0 #28 0x00007ffff6cd55b2 in () at /usr/lib/x86_64-linux-gnu/libnm.so.0 #29 0x00007ffff69701a3 in () at /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0 #30 0x00007ffff6970bc6 in () at /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0 #31 0x00007ffff69af01b in () at /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0 #32 0x00007ffff69701a3 in () at /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0 #33 0x00007ffff6970bc6 in () at /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0 #34 0x00007ffff69a3c82 in () at /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0 #35 0x00007ffff69701a3 in () at /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0 #36 0x00007ffff69701d9 in () at /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0 #37 0x00007ffff63c7e15 in g_main_context_dispatch () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #38 0x00007ffff63c81e0 in () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #39 0x00007ffff63c84f2 in g_main_loop_run () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #40 0x000055555556914f in main (argc=<optimized out>, argc@entry=0x1, argv=<optimized out>, argv@entry=0x7fffffffdaa8) at src/connection-editor/main.c:386 #41 0x00007ffff5994f2a in __libc_start_main (main=0x555555568b30 <main>, argc=0x1, argv=0x7fffffffdaa8, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7fffffffda98) at ../csu/libc-start.c:310 #42 0x00005555555693ba in _start () Other information that may be useful: pwndbg> info locals slot_info = <optimized out> ret_value = 0x0 pwndbg> up f 0 7ffff7ba931e modules_initialized+254 ► f 1 7ffff7ba931e modules_initialized+254 f 2 7ffff54c9af4 process_completed.isra+164 f 3 7ffff54c9af4 process_completed.isra+164 f 4 7ffff54ca43c _gck_call_async_go+60 f 5 7ffff66c5735 g_type_create_instance+485 f 6 7ffff66a65d8 f 7 7ffff66a8450 g_object_new_valist+976 f 8 7ffff66a87c9 g_object_new+153 f 9 7ffff7ba9e22 nma_cert_chooser_button_new+98 f 10 7ffff7baa63e init+254 f 11 7ffff7ba5eab constructor+235 pwndbg> info locals slot = 0x55555612ac60 self = <optimized out> slots = 0x555555a4d660 = {0x55555612ac60, 0x55555612ab80, 0x55555612aa90, 0x555555f419f0, 0x55555612adf0, 0x55555612ae40} list_iter = 0x555555a4d660 = {0x55555612ac60, 0x55555612ab80, 0x55555612aa90, 0x555555f419f0, 0x55555612adf0, 0x55555612ae40} error = 0x0 modules = 0x555555a37d80 = {0x555556002cb0, 0x555556002c20, 0x555556002b90} iter = { stamp = 0x396ba989, user_data = 0x7fffdc049a10, user_data2 = 0x1, user_data3 = 0x7ffff639c261 } model = 0x555555e34f80 info = <optimized out> label = <optimized out> Reply at: https://bugs.launchpad.net/ubuntu/+source/network-manager- applet/+bug/1806269/comments/2 ------------------------------------------------------------------------ On 2018-01-14T11:09:00+00:00 bewied wrote: Hmm, I think these are definitely distinct issues. Here's what I observe with 1.8.10: Thread 1 "nm-connection-e" received signal SIGSEGV, Segmentation fault. 0x00007ffff7bab4d3 in modules_initialized (object=<optimized out>, res=0x555555f34080, user_data=user_data@entry=0x555555f36360) at src/libnma/nma-cert-chooser-button.c:98 98 src/libnma/nma-cert-chooser-button.c: Datei oder Verzeichnis nicht gefunden. (gdb) info locals self = 0x555555f36360 slots = <optimized out> list_iter = <optimized out> error = 0x0 modules = 0x0 iter = {stamp = 1441177200, user_data = 0x7ffff63daa03 <g_queue_pop_tail+51>, user_data2 = 0x1, user_data3 = 0x7ffff639e261} model = <optimized out> info = <optimized out> label = <optimized out> (gdb) So it still crashes for me during the error-handling. Cheers, Ben Reply at: https://bugs.launchpad.net/ubuntu/+source/network-manager- applet/+bug/1806269/comments/3 ------------------------------------------------------------------------ On 2018-01-14T22:42:18+00:00 bewied wrote: Cause: Apparently it's perfectly okay if the list of modules is empty (e.g., NULL). However, the code assume that this indicates an error, tries to print the NULL error, and crashes. Checking for NULL before printing it fixes the issue. I'm not sure though whether an empty modules list is okay or not. See attached patch which implements this. It applies cleanly to current master. Reply at: https://bugs.launchpad.net/ubuntu/+source/network-manager- applet/+bug/1806269/comments/4 ------------------------------------------------------------------------ On 2018-01-14T22:43:34+00:00 bewied wrote: Created attachment 366805 Patch to fix the crash-on-warning Fixes #785674. Cause: Apparently it's perfectly okay if the list of modules is empty (e.g., NULL). However, the code assume that this indicates an error, tries to print the NULL error, and crashes. Checking for NULL before printing it fixes the issue. I'm not sure though whether an empty modules list is okay or not. Signed-off-by: Ben Wiederhake <[email protected]> Reply at: https://bugs.launchpad.net/ubuntu/+source/network-manager- applet/+bug/1806269/comments/5 ------------------------------------------------------------------------ On 2018-01-15T10:30:12+00:00 Lubomir Rintel wrote: (In reply to BenWiederhake.GitHub from comment #5) > Created attachment 366805 [details] [review] > Patch to fix the crash-on-warning Thank you. Applied, with a small change. https://git.gnome.org/browse/network-manager- applet/commit/?id=a37483c1a364ef3cc1cfa29e7ad51ca108d75674 Reply at: https://bugs.launchpad.net/ubuntu/+source/network-manager- applet/+bug/1806269/comments/6 ------------------------------------------------------------------------ On 2018-01-16T08:20:51+00:00 bewied wrote: @David Tomaschik: So it looks like you're experiencing a different bug, and you should open a new issue about it. I don't know what the underlying issue actually is, but a quick and dirty work-around might be to change this (line 69): if (g_str_has_prefix (slot_info->slot_description, "/")) to this: if (!slot_info || g_str_has_prefix (slot_info->slot_description, "/")) Again, this is quick and dirty, and just masks that there is a problem during `gck_slot_get_info`. Cheers, Ben Reply at: https://bugs.launchpad.net/ubuntu/+source/network-manager- applet/+bug/1806269/comments/7 ** Changed in: network-manager-applet Status: Unknown => Fix Released ** Changed in: network-manager-applet Importance: Unknown => Medium ** Bug watch added: Debian Bug tracker #865013 https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=865013 -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/1806269 Title: nm-connection-editor crashes when trying to modify connection To manage notifications about this bug go to: https://bugs.launchpad.net/network-manager-applet/+bug/1806269/+subscriptions -- ubuntu-bugs mailing list [email protected] https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
