Bug 272870

Summary: kscreenlocker crashes when homedir becomes unavailable
Product: kscreensaver Reporter: Kai Bolay <kai>
Component: lockerAssignee: kscreensaver bugs tracking <kscreensaver-bugs-null>
Status: RESOLVED UPSTREAM    
Severity: crash CC: mgraesslin
Priority: NOR    
Version: 2.0   
Target Milestone: ---   
Platform: Ubuntu   
OS: Linux   
Latest Commit: Version Fixed In:

Description Kai Bolay 2011-05-09 17:43:18 UTC
Application: kscreenlocker (2.0)
KDE Platform Version: 4.4.5 (KDE 4.4.5)
Qt Version: 4.6.2
Operating System: Linux 2.6.32-gg426-generic x86_64
Distribution: Ubuntu 10.04.1 LTS

-- Information about the crash:
My homedir is on NFS. When I keep my computer locked for a few days (and not log in at all) the kerberos ticket expires and access to my home directory becomaes unavailable.

When I then return to my computer I find it unlocked (!!!) with a crash report for kscreenlocker.

The crash can be reproduced every time.

 -- Backtrace:
Application: KDE Screen Locker (kscreenlocker), signal: Bus error
Using host libthread_db library "/lib64/libthread_db.so.1".
[KCrash Handler]
#4  0x00007f2d1af77093 in FcPatternObjectPosition (p=0x7f2d21e8c0d0, object=21) at fcpat.c:333
#5  FcPatternObjectFindElt (p=0x7f2d21e8c0d0, object=21) at fcpat.c:334
#6  0x00007f2d1af73b96 in FcListPatternHash (config=<value optimized out>, sets=<value optimized out>, nsets=<value optimized out>, p=<value optimized out>, os=0x1bb26f0) at fclist.c:287
#7  FcListAppend (config=<value optimized out>, sets=<value optimized out>, nsets=<value optimized out>, p=<value optimized out>, os=0x1bb26f0) at fclist.c:381
#8  IA__FcFontSetList (config=<value optimized out>, sets=<value optimized out>, nsets=<value optimized out>, p=<value optimized out>, os=0x1bb26f0) at fclist.c:494
#9  0x00007f2d1af743ff in IA__FcFontList (config=0x7f2d21e8c0d0, p=0x0, os=0x1) at fclist.c:573
#10 0x00007f2d20021a4c in loadFontConfig () at text/qfontdatabase_x11.cpp:1050
#11 0x00007f2d20022628 in initializeDb () at text/qfontdatabase_x11.cpp:1320
#12 0x00007f2d20028b88 in QFontDatabase::load (d=0x1b8e7f0, script=0) at text/qfontdatabase_x11.cpp:1954
#13 0x00007f2d20003a01 in QFontPrivate::engineForScript (this=0x1b8e7f0, script=0) at text/qfont.cpp:270
#14 0x00007f2d20039c9c in QScriptLine::setDefaultHeight (this=0x1be8590, eng=0x1be8410) at text/qtextengine.cpp:2011
#15 0x00007f2d20045578 in QTextLine::layout_helper (this=<value optimized out>, maxGlyphs=2147483647) at text/qtextlayout.cpp:1713
#16 0x00007f2d20081aa6 in QTextDocumentLayoutPrivate::layoutBlock (this=0x1be6c10, bl=<value optimized out>, blockPosition=<value optimized out>, blockFormat=<value optimized out>, layoutStruct=0x7fff4d79d4e0, layoutFrom=<value optimized out>, layoutTo=2147483647, previousBlockFormat=0x0) at text/qtextdocumentlayout.cpp:2604
#17 0x00007f2d200873f6 in QTextDocumentLayoutPrivate::layoutFlow (this=0x1be6c10, it=) at text/qtextdocumentlayout.cpp:2406
#18 0x00007f2d2008ba3b in QTextDocumentLayoutPrivate::layoutFrame (this=<value optimized out>, f=0x1be7050, layoutFrom=<value optimized out>, layoutTo=<value optimized out>, frameWidth=..., frameHeight=..., parentY=...) at text/qtextdocumentlayout.cpp:2147
#19 0x00007f2d2008bf7f in QTextDocumentLayoutPrivate::layoutFrame (this=<value optimized out>, f=0x1be7050, layoutFrom=<value optimized out>, layoutTo=<value optimized out>, parentY=<value optimized out>) at text/qtextdocumentlayout.cpp:2053
#20 0x00007f2d2008c208 in QTextDocumentLayout::doLayout (this=0x1b652d0, from=0, oldLength=<value optimized out>, length=2147483647) at text/qtextdocumentlayout.cpp:2918
#21 0x00007f2d2008c29c in QTextDocumentLayoutPrivate::ensureLayoutedByPosition (this=0x1be6c10, position=1000) at text/qtextdocumentlayout.cpp:3080
#22 0x00007f2d2008c905 in QTextDocumentLayoutPrivate::layoutStep (this=0x7f2d21e8c0d0) at text/qtextdocumentlayout.cpp:3086
#23 0x00007f2d2008d0bb in QTextDocumentLayout::documentChanged (this=0x1b652d0, from=<value optimized out>, oldLength=0, length=1) at text/qtextdocumentlayout.cpp:2878
#24 0x00007f2d20058124 in QTextDocument::documentLayout (this=0x1be38a0) at text/qtextdocument.cpp:1043
#25 0x00007f2d2002cca6 in QTextControlPrivate::_q_documentLayoutChanged (this=<value optimized out>) at text/qtextcontrol.cpp:622
#26 0x00007f2d2002cfbd in QTextControlPrivate::setContent (this=0x1be3600, format=<value optimized out>, text=..., document=0x0) at text/qtextcontrol.cpp:434
#27 0x00007f2d2002d394 in QTextControlPrivate::init (this=0x7f2d21e8c0d0, format=21, text=..., document=0x0) at text/qtextcontrol.cpp:405
#28 0x00007f2d200308ce in QTextControl::QTextControl (this=0x1be3950, parent=0x1adf2f0) at text/qtextcontrol.cpp:764
#29 0x00007f2d201e5430 in QLabelPrivate::ensureTextControl (this=0x1be7f80) at widgets/qlabel.cpp:1505
#30 0x00007f2d201e87dd in QLabel::setText (this=0x1adf2f0, text=...) at widgets/qlabel.cpp:354
#31 0x00007f2d201ea3f9 in QLabel::QLabel (this=0x1adf2f0, text=..., parent=0x1bc28c0, f=<value optimized out>) at widgets/qlabel.cpp:180
#32 0x000000000041a81b in PasswordDlg::PasswordDlg (this=0x7fff4d79dee0, parent=<value optimized out>, plugin=0x7fff4d79f070, text=...) at ../../../krunner/lock/lockdlg.cc:103
#33 0x0000000000416466 in LockProcess::checkPass (this=0x7fff4d79ef70) at ../../../krunner/lock/lockprocess.cc:1126
#34 0x00000000004171b8 in LockProcess::x11Event (this=0x7fff4d79ef70, event=0x7fff4d79ebb0) at ../../../krunner/lock/lockprocess.cc:1309
#35 0x00007f2d2163f1f6 in publicx11Event (this=<value optimized out>, _event=0x7fff4d79ebb0) at ../../kdeui/kernel/kapplication.cpp:903
#36 KApplication::x11EventFilter (this=<value optimized out>, _event=0x7fff4d79ebb0) at ../../kdeui/kernel/kapplication.cpp:953
#37 0x00007f2d1fe5a641 in qt_x11EventFilter (ev=0x7fff4d79ebb0) at kernel/qapplication_x11.cpp:399
#38 0x00007f2d1fe69191 in QApplication::x11ProcessEvent (this=<value optimized out>, event=0x7fff4d79ebb0) at kernel/qapplication_x11.cpp:3231
#39 0x00007f2d1fe95882 in x11EventSourceDispatch (s=0x1ace940, callback=<value optimized out>, user_data=<value optimized out>) at kernel/qguieventdispatcher_glib.cpp:146
#40 0x00007f2d1aaa58c2 in g_main_context_dispatch () from /lib/libglib-2.0.so.0
#41 0x00007f2d1aaa9748 in ?? () from /lib/libglib-2.0.so.0
#42 0x00007f2d1aaa98fc in g_main_context_iteration () from /lib/libglib-2.0.so.0
#43 0x00007f2d1f221513 in QEventDispatcherGlib::processEvents (this=0x1acab70, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:412
#44 0x00007f2d1fe9546e in QGuiEventDispatcherGlib::processEvents (this=0x7f2d21e8c0d0, flags=<value optimized out>) at kernel/qguieventdispatcher_glib.cpp:204
#45 0x00007f2d1f1f6992 in QEventLoop::processEvents (this=<value optimized out>, flags=) at kernel/qeventloop.cpp:149
#46 0x00007f2d1f1f6d6c in QEventLoop::exec (this=0x7fff4d79eee0, flags=) at kernel/qeventloop.cpp:201
#47 0x00007f2d1f1faaab in QCoreApplication::exec () at kernel/qcoreapplication.cpp:981
#48 0x000000000041e226 in main (argc=<value optimized out>, argv=<value optimized out>) at ../../../krunner/lock/main.cc:173

Reported using DrKonqi
Comment 1 Oswald Buddenhagen 2011-05-09 17:57:27 UTC
this is fontconfig crashing while attempting to access an mmap which became invalid. i have completely no clue how to approach this problem. you may want to check with the fontconfig guys whether they have heard of this problem before.
Comment 2 Oswald Buddenhagen 2011-07-16 13:43:56 UTC
filed upstream https://bugs.freedesktop.org/show_bug.cgi?id=39278
Comment 3 Martin Flöser 2015-01-23 12:52:50 UTC
upstream bug is marked as fixed.