FS#27920 - [gnome-settings-daemon] smartcard plugin segmentation fault
Attached to Project:
Arch Linux
Opened by James (n_K) - Thursday, 12 January 2012, 23:13 GMT
Last edited by Allan McRae (Allan) - Saturday, 02 June 2012, 13:17 GMT
Opened by James (n_K) - Thursday, 12 January 2012, 23:13 GMT
Last edited by Allan McRae (Allan) - Saturday, 02 June 2012, 13:17 GMT
|
Details
Description: Enabled a system to login via smartcard using
pam_pkcs11, compiling from the latest version's source code
on a Gnome-GUI arch linux PC, got everything set up with PAM
working but upon loggin in with a smartcard, only the
desktop background appears for about 10 seconds, then the
rest of the desktop loads in a very basic fashion,
kernel.log indicates a segfault in gnome-settings-daemon:
Jan 12 22:57:33 localhost kernel: [ 2502.245260] gnome-settings-[19105]: segfault at 110 ip b3995e5f sp b377e120 error 4 in libnss3.so[b3940000+13c000] Jan 12 22:57:40 localhost kernel: [ 2509.515277] gnome-settings-[19111]: segfault at 110 ip b391de5f sp b370b120 error 4 in libnss3.so[b38c8000+13c000] Upon running /usr/lib/gnome-settings-daemon/gnome-settings-daemon with --debug, the following snip'd output is displayed: (gnome-settings-daemon:19106): smartcard-plugin-DEBUG: GsdSmartcardPlugin initializing (gnome-settings-daemon:19106): smartcard-plugin-DEBUG: initializing smartcard manager (gnome-settings-daemon:19106): smartcard-plugin-DEBUG: GsdSmartcardPlugin Activating smartcard plugin (gnome-settings-daemon:19106): smartcard-plugin-DEBUG: attempting to load NSS database '/etc/pki/nssdb' (gnome-settings-daemon:19106): smartcard-plugin-DEBUG: NSS database sucessfully loaded (gnome-settings-daemon:19106): smartcard-plugin-DEBUG: attempting to load driver... (gnome-settings-daemon:19106): smartcard-plugin-DEBUG: Getting list of suitable modules (gnome-settings-daemon:19106): smartcard-plugin-DEBUG: loading smartcard driver using spec 'library="/usr/lib/pkcs11/libcoolkeypk11.so"' (gnome-settings-daemon:19106): smartcard-plugin-DEBUG: smartcard manager started (gnome-settings-daemon:19106): smartcard-plugin-DEBUG: GsdSmartcardPlugin processing smartcard removal immediately user logged in with smartcard and it's not inserted (gnome-settings-daemon:19106): smartcard-plugin-DEBUG: GsdSmartcardPlugin processing smartcard removal ** (gnome-settings-daemon:19106): DEBUG: GnomeSettingsManager: emitting plugin-activated smartcard ** (gnome-settings-daemon:19106): DEBUG: Plugin smartcard: active ** (gnome-settings-daemon:19106): DEBUG: GnomeSettingsModule 0x87db340 initialising ** (gnome-settings-daemon:19106): DEBUG: Loading /usr/lib/gnome-settings-daemon-3.0/libkeybindings.so ** (gnome-settings-daemon:19106): DEBUG: Creating object of type GsdKeybindingsPlugin (gnome-settings-daemon:19106): keybindings-plugin-DEBUG: GsdKeybindingsPlugin initializing (gnome-settings-daemon:19106): keybindings-plugin-DEBUG: Activating keybindings plugin (gnome-settings-daemon:19106): keybindings-plugin-DEBUG: Starting keybindings manager (gnome-settings-daemon:19106): smartcard-plugin-DEBUG: waiting for card event Segmentation fault Removing the smartcard module from loading stops the segfault, as does logging in with a password. Additional info: * package version(s): gnome-settings-daemon-3.2.2-1 pam-1.1.5-2 pcsclite-1.8.1-3 opensc-0.12.1 (Not using 12.3 or 12.3 pre-released as a bug exists in it asking for a code to be entered even when a pinpad isn't present and the configuration is set to not use once http://www.opensc-project.org/opensc/ticket/402) pam_pkcs11-0.6.7 libp11-0.2.8 engine_pkcs11-0.1.8 * config and/or log files etc.: Using this in PAM configurations to allow smartcard login: auth sufficient /usr/local/lib/security/pam_pkcs11.so nullok try_first_pass pkcs11_module=/usr/local/lib/pkcs11/opensc-pkcs11.so ca_dir=/etc/pam_pkcs11 crl_dir=/etc/pam_pkcs11 cert_policy=none Steps to reproduce: -> Install pcsclite, opensc, pam_pkcs11, libp11, engine_pkcs11 -> Create a certificate on smartcard using pkcs15-init -> Enable smartcard login via PAM -> Login to system using smart card n.b. I'm not sure if this is a gnome issue or arch issue, nor what the effects of removing the smartcard plugin from gnome are. |
This task depends upon
kill gnome-settings-daemon two times and then run it in gdb to get a better trace.
[1] https://wiki.archlinux.org/index.php/Debug_-_Getting_Traces#One_package_settings_only
#0 0xb4081e5f in SECMOD_WaitForAnyTokenEvent () from /usr/lib/libnss3.so
#1 0xb41f343b in gsd_smartcard_manager_worker_watch_for_and_process_event (
error=0xb3e6f1b8, worker=0x80f9e20) at gsd-smartcard-manager.c:1256
#2 gsd_smartcard_manager_worker_run (worker=0x80f9e20)
at gsd-smartcard-manager.c:1386
#3 0xb7595344 in ?? () from /usr/lib/libglib-2.0.so.0
#4 0xb77fed4c in start_thread () from /lib/libpthread.so.0
#5 0xb747203e in clone () from /lib/libc.so.6
Backtrace stopped: Not enough registers or memory available to unwind further
The program being debugged has been started already.
Start it from the beginning? (y or n)
Starting program: /usr/local/libexec/gnome-settings-daemon
[Thread debugging using libthread_db enabled]
[New Thread 0xb6e12b40 (LWP 14262)]
[New Thread 0xb64ffb40 (LWP 14263)]
[New Thread 0xb5affb40 (LWP 14264)]
[New Thread 0xb50ffb40 (LWP 14265)]
[New Thread 0xb3e69b40 (LWP 14266)]
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0xb3e69b40 (LWP 14266)]
0xb4081e5f in SECMOD_WaitForAnyTokenEvent () from /usr/lib/libnss3.so
#0 0xb4081e5f in SECMOD_WaitForAnyTokenEvent () from /usr/lib/libnss3.so
#1 0xb41f343b in gsd_smartcard_manager_worker_watch_for_and_process_event (
error=0xb3e691b8, worker=0x80e6f40) at gsd-smartcard-manager.c:1256
#2 gsd_smartcard_manager_worker_run (worker=0x80e6f40)
at gsd-smartcard-manager.c:1386
#3 0xb7595344 in ?? () from /usr/lib/libglib-2.0.so.0
#4 0xb77fed4c in start_thread () from /lib/libpthread.so.0
#5 0xb747203e in clone () from /lib/libc.so.6
Backtrace stopped: Not enough registers or memory available to unwind further