Bug 211250

Summary: Password dialogs get stuck
Product: [Unmaintained] kdelibs Reporter: Toshio Kuratomi <a.badger>
Component: generalAssignee: kdelibs bugs <kdelibs-bugs>
Status: RESOLVED FIXED    
Severity: normal CC: bugzilla.kde, cfeck, fabo, faure, ingmar, kevin.kofler, rdieter, than
Priority: NOR    
Version: 4.3   
Target Milestone: ---   
Platform: Fedora RPMs   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:
Attachments: fix for qt-4.5.3 glib-event-loop regression

Description Toshio Kuratomi 2009-10-20 21:01:43 UTC
Version:            (using KDE 4.3.2)
Compiler:          gcc-4.4.1 
OS:                Linux
Installed from:    Fedora RPMs

Running Fedora 11 with the updates-testing repository.  I updated qt and kdelibs from the repository a few days ago and am now having troubles with all password dialogs.

When using three stars per character (System Settings::About Me::Show three bullets for each letter), password prompts are failing in one of two ways:

* kopete, kwalletd (kwalletmanager, ksshaskpass, etc): A dialog is popped up.  I can enter a password in the box.  Three bullets are given per character.   But when I click on ok, hit the <Enter> key on the keyboard, or Alt-O to try to make the Open button activate, the dialog doesn't go away.  The Open button does visibly depress but simply comes back to the unclicked state and nothing happens.  Clicking the Cancel button does close the window but doesn't get me closer to getting the password entered.

* kscreenlocker: when I enter my password in the dialog box and hit enter, the dialog tells me that the password was incorrect and goes insensitive.  kscreenlocker never removes the dialog from the screen and never gives me a new dialog to put a new password in.  I have to log in at a console window and kill kscreenlocker to get back in.

Previous (working):
  kdelibs-4.3.1-3.fc11.i586
  qt-4.5.2-3.fc11.i586

Current (non-working):
  kdelibs-4.3.2-3.fc11.i586
  qt-4.5.3-4.fc11.i586

This Debian bug report seems to be the same issue:
  http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=550866

As given in that bug, I was able to workaround the issue by setting the number of bullets shown per character to one instead of three.
Comment 1 Toshio Kuratomi 2009-10-20 21:12:07 UTC
Archlinux bug report where the user reported that they had upgraded from qt-4.5.2 to 4.5.3 and the bug started.  Downgraded qt to 4.5.2 and the bug stopped:
 
  http://bugs.archlinux.org/task/16478?dev=280
Comment 2 Rex Dieter 2009-10-20 21:19:54 UTC
I can confirm the bad behavior here with kde-4.3.2 + qt-4.5.3 (kde-qt) combo.
Comment 3 Ben Boeckel 2009-10-24 00:44:22 UTC
I cannot confirm this with:

qt-4.6.0-0.2.beta1.fc12.x86_64
kdelibs-4.3.2-4.fc12.x86_64

Qt bug that got fixed in 4.6.0?
Comment 4 Kevin Kofler 2009-10-24 01:14:21 UTC
Looks like this is an issue with Qt 4.5.3 specifically.
Comment 5 Toshio Kuratomi 2009-10-27 05:41:32 UTC
Still happens to me with:

  qt-4.6.0-0.2.beta1.fc11.i586 (kde-redhat-unstable)
  kdelibs-4.3.2-4.fc11.i586 (updates-testing)

Perhaps something else that has been updated in F12 is the answer?
Comment 6 Rex Dieter 2009-10-29 17:51:25 UTC
Created attachment 37953 [details]
fix for qt-4.5.3 glib-event-loop regression

Here's the regression we've found that contributes to the problem described here with password dialogs.  Patch sent to nokia (no reply yet).
Comment 7 David Faure 2009-10-29 19:48:15 UTC
Already known by Nokia and fixed for 4.5.4.

(I actually detected this regression before 4.5.3 - yay unittests, but Nokia forgot to backport the fix into the 4.5 branch, unfortunately; they did now)

Meanwhile you can revert that one-liner, or apply the fix (git commit 063bded, or in patch format:
http://www.davidfaure.fr/2009/qeventdispatcher_glib_fix.diff )

*** This bug has been marked as a duplicate of bug 210171 ***
Comment 8 Rex Dieter 2009-10-30 14:00:55 UTC
Than reports that qeventdispatcher_glib_fix.diff
doesn't fix the particular 3star echo problem reported here.

for posterity, his upstream report is
http://bugreports.qt.nokia.com/browse/QTBUG-5197
without comment yet.
Comment 9 David Faure 2009-10-30 17:04:02 UTC
And yet reverting the one-liner in qeventdispatcher_glib fixes it?
That would be pretty bad then, it means Nokia's fix is incomplete.
If that's the case, someone should contact Bradley T. Hughes <bradley.hughes@nokia.com>

(btw the git ref I used was wrong, the git commit that is supposed to fix the glib-eventdispatcher regression is d0d0fdb8e46351b4ab8492de31e5363ef6662b57)
Comment 10 Rex Dieter 2009-10-30 17:09:13 UTC
Thanks David, we're doing further testing to confirm.
Comment 11 Fathi Boudra 2009-11-01 11:26:47 UTC
I have added this patch to our Debian packages:

- 0078-Fix-regressions-in-qeventloop-qtimer-and-qsocketnoti.patch
  Fix regressions in qeventloop, qtimer, and qsocketnotifier autotests.

http://git.debian.org/?p=pkg-kde/qt4-x11.git;a=blob;f=debian/patches/0078-Fix-regressions-in-qeventloop-qtimer-and-qsocketnoti.patch;h=628f1cf4df6f0639fa22708179915ea7f7d5368d;hb=master
Comment 12 Rex Dieter 2009-11-02 02:06:37 UTC
upon further testing, qeventdispatcher_glib_fix.diff is good (for me).  false alarm it would seem.
Comment 13 Rex Dieter 2009-11-02 15:32:28 UTC
OK, than produced a test case that still fails using qeventdispatcher_glib_fix.diff :

kdialog --password "test" + 3star echo  =  clicking ok does nothing (still stuck)
Comment 14 David Faure 2009-11-14 01:06:26 UTC
Sure? I can't see much relation... Anyway, where does one configure 3-star echo?
Comment 15 Rex Dieter 2009-11-14 01:36:43 UTC
There's at least 2 of us now that can reproduce it, fairly sure.  Try for yourself,

systemsettings -> About me, check "Show 3 bullets for each letter", and try

kdialog --password "test"
Comment 16 Rex Dieter 2009-11-14 01:37:51 UTC
admittedly, this is still almost certainly a qt bug/issue.
Comment 17 Christoph Feck 2010-01-31 20:07:42 UTC
SVN commit 1083166 by cfeck:

Fix paint recursion in "three bullet" password mode

There are other issues related to "three bullet" mode, such as
not being able to move cursor or select text. But simple typing
and backspace should work without 100% CPU and hangs.

Please test if this commit fixes this bug, it will be available
with the KDE SC 4.4.0 release.

CCBUG: 180482
CCBUG: 186724
CCBUG: 211250
CCBUG: 215380
CCBUG: 224693


 M  +10 -0     klineedit.cpp  


WebSVN link: http://websvn.kde.org/?view=rev&revision=1083166
Comment 18 Christoph Feck 2010-01-31 20:08:51 UTC
SVN commit 1083167 by cfeck:

Fix paint recursion in "three bullet" password mode (backport r1083166)

CCBUG: 180482
CCBUG: 186724
CCBUG: 211250
CCBUG: 215380
CCBUG: 224693


 M  +10 -0     klineedit.cpp  


WebSVN link: http://websvn.kde.org/?view=rev&revision=1083167
Comment 19 Christoph Feck 2010-02-24 00:50:09 UTC
Assuming the bug is fixed, since there was no further feedback. Please reopen if you see this issue with KDE SC 4.4.x.