https://bugs.kde.org/show_bug.cgi?id=376573

un...@physics.ubc.ca changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Severity|normal                      |major

--- Comment #4 from un...@physics.ubc.ca ---
I have looked at kwallet-pam (5.9.2) and kwallet-5.32.0 and it seems to be a
complete mess. 

a)Minor: In kwallet-pam.c, start_kwallet the variable "needed" is out by 1.
Thus the created socket has the name kwallet5.socke rather than kwallet5.socket

b)kwallet-pam does an execve of kwalletd5, including the environment. But the
created kwallet5 then tries to load the environment which is completely
unneccesary, and on my system, hangs. If one removes the 
waitForEnv() condition  in kwalletd/main.cpp  subroutine checkPamModule

hash=waitForHash();
if (hash == nullptr || waitForEnv() == -1 )

The hangup ceases and that subroutine delivers the hash to the calling program.


However, after removing this condition, 

c) In kwallet5 (src/runtime/kwalletd/main.cpp) the program tries to use Qt but
the instance of kwallet5 which is started by kwallet-pam has not DISPLAY or X
running, and the program fails

In main.cpp routine main, the line
QApplication app(argc,argv);
fails with  

May 07 16:04:07 planet kwalletd5[7678]: No protocol specified
May 07 16:04:07 planet audit[7678]: ANOM_ABEND auid=1000 uid=1000 gid=1000
ses=3 pid=7678 comm="kwalletd5" exe="/usr/bin/kwalletd5" sig=6
May 07 16:04:07 planet kwalletd5[7678]: QXcbConnection: Could not connect to
display :0
May 07 16:04:07 planet kernel: audit: type=1701 audit(1494198247.305:119):
auid=1000 uid=1000 gid=1000 ses=3 pid=7678 comm="kwalletd5"
exe="/usr/bin/kwalletd5" sig=6


The problem appears to be that Qt is trying to open a GUI program, before the
GUI is up. My knowledge of Qt is zero, so I cannot chase the problem any
further.

If I open Chrome and type in my password into the kwallet window request,
everything works fine (except that there is an error in journalctl that the
pipe and socket have values of 0 and cannot be used.)

Ie, kwallet5-pam and kwallet5 together seem to be completely broken. It may be
that this process has to wait until X actually comes up, so the Qt does not
crash, but I do not know how to delay the pam module until sddm has actually
brought up X. 
(Note the problem is there also in LightDM).


Mageia 6 updated.

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to