segv in p11_array_push

Patrick Welche prlw1 at cam.ac.uk
Sat Jul 7 09:28:11 UTC 2018


My old gnome-calculator 3.24.0 segfaults on start up, I believe since I
started building gnutls with p11-kit support (untested supposition).

I see:

Thread 2 received signal SIGSEGV, Segmentation fault.
0x00007f7fe00f6071 in p11_array_push (array=0x7f7fefd049e0, 
    value=0x7f7fefd049c0) at common/array.c:106
106             array->elem[array->num] = value;

99      bool
100     p11_array_push (p11_array *array,
101                     void *value)
102     {
103             if (!maybe_expand_array (array, array->num + 1))
104                     return_val_if_reached (false);
105
106             array->elem[array->num] = value;
107             array->num++;
108             return true;
109     }

(gdb) print array
$1 = (p11_array *) 0x7f7fefd049e0
(gdb) print *array
$2 = {elem = 0xffffffffefd0d500, num = 0, allocated = 16, 
  destroyer = 0x7f7fe00484b0 <unref_pin_callback>}
(gdb) print array->elem[0]
Cannot access memory at address 0xffffffffefd0d500

The number of programs involved is large:

  gnome-calculator 3.24.0
  glib 2.56.1 (gio)
  glib-networking 2.56.1 (gio/modules/libgiognutls.so)
  gnutls 3.6.2
  p11-kit 0.23.12

Moving libgiognutls.so out of the way allows gnome-calculator to function.
It doesn't understand p11, so is blameless.

Any idea where to look?


Cheers,

Patrick


More information about the p11-glue mailing list