Mailinglist Archive: opensuse-bugs (13048 mails)

< Previous Next >
[Bug 441144] kdm freezes if fingerprintreader is enabled
  • From: bugzilla_noreply@xxxxxxxxxx
  • Date: Tue, 20 Jan 2009 07:45:37 -0700 (MST)
  • Message-id: <20090120144537.D2699245390@xxxxxxxxxxxxxxxxxxxxxx>
https://bugzilla.novell.com/show_bug.cgi?id=441144

User mischa.salle@xxxxxxxxx added comment
https://bugzilla.novell.com/show_bug.cgi?id=441144#c39


Mischa Salle <mischa.salle@xxxxxxxxx> changed:

What |Removed |Added
----------------------------------------------------------------------------
Status|NEEDINFO |NEW
Info Provider|mischa.salle@xxxxxxxxx |




--- Comment #39 from Mischa Salle <mischa.salle@xxxxxxxxx> 2009-01-20 07:45:36
MST ---
(In reply to comment #38)
Mischa, thanks for the quick reply and for the patch, of course.

Did you check whether you see zombie processes due to the wait/waitpid change?

IIRC zombies occurred whenever pam_fp was enabled and the login was done using
a password rather than with the fingerprint. I think I could easily reproduce
this with console logins.

Hi Timo,

yes, I did check zombie processes and they aren't there for my patched pam_fp.
Not for console login, not for kdm, not for kdesktop_lock. I tried with
fingerprint, with password and with fingerprint after an enter and in all cases
no zombies appeared, also not after repeated logins.

In the meantime I have some idea of where the problem lies: when kdm is waiting
for a fingerprint the process tree is as follows:
0 3291 1 Ss /usr/bin/kdm
0 21615 3291 SLs+ \_ /usr/bin/X -br -nolisten tcp :0 vt7 -auth
/var/lib/xdm/authdir/authfiles/
0 21622 3291 S \_ -:0
0 21623 21622 Sl \_ /usr/lib64/kde4/libexec/kdm_greet
0 21663 21622 S \_ -:0

Looking at /var/log/messages:
Jan 20 12:13:44 woembie-l kdm: :0[21622]: pam_fp(xdm:auth): Starting
pam_fp_prompt (pid 21622).
Jan 20 12:13:44 woembie-l kdm: :0[21663]: pam_fp(xdm:auth): Starting
pam_fp_swipe (pid 21663).
Jan 20 12:13:44 woembie-l kdm: :0[21663]: pam_fp(xdm:auth): Awaiting swipe
(UPEK TouchStrip, right index).

i.e. pam_fp_prompt runs as part of 21622 (it's a module so it doesn't run as a
standalone process), while 21663 is the pam_fp_swipe. Note however that
kdm_greet ALSO runs as child of process 21622, therefore, if pam_fp_prompt is
waiting for all its children, like it is when using wait(), it doesn't only
wait for pam_fp_swipe, but also waits for kdm_greet. I am not sure why
kdm_greet is not responding (it doesn't need to, but would be nice anyhow), it
does seem to freeze while waiting for a swipe, for example the screen is not
updated. It is a bit strange, because ps doesn't seem to indicate that any of
its threads is suspended...
I don't have much time to try it now, but I would think that if the wait()
would only wait for the proper child pam_fp_swipe (you again need waitpid for
that), it should work. Keep me informed...

Best wishes,

Mischa

--
Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.

< Previous Next >