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

Reply via email to