By default, Bugzilla does not search the list of RESOLVED bugs.
You can force it to do so by putting the upper-case word ALL in front of your search query, e.g.: ALL tdelibs
We recommend searching for bugs this way, as you may discover that your bug has already been resolved and fixed in a later release.

Bug 1467

Summary: Sudden auto-logout when idle
Product: TDE Reporter: Kris <krisgamrat>
Component: tdebaseAssignee: Timothy Pearson <kb9vqf>
Status: RESOLVED FIXED    
Severity: blocker CC: bugwatch, kb9vqf, krisgamrat, slavek.banko
Priority: P1    
Version: R14.0.0 [Trinity]   
Hardware: All   
OS: Linux   
Compiler Version: TDE Version String:
Application Version: Application Name:
Attachments: .xsession-errors file after idle logout

Description Kris 2013-04-20 13:27:35 CDT
I am using the latest nightlies as of today (20 April 2013).

Twice today, TDE logged me out when I left my computer idle. I am sure this isn't a crash since it plays the logout sound and displays the "saving settings" dialog when it happens. A quick glance through Control Center does not reveal a way to disable this.

While I am sure this would be quite useful in a business environment (at least if it can be configured), I suspect most home users would be satisfied simply locking their screens when the screen saver activates.
Comment 1 Slávek Banko 2013-04-20 13:31:27 CDT
This occurs when the crashes kdesktop_lock. Please, before you login again, try to look into .xsession-errors.
Comment 2 Kris 2013-04-20 13:33:51 CDT
(In reply to comment #1)
> This occurs when the crashes kdesktop_lock. Please, before you login again, try
> to look into .xsession-errors.

It's a bit late for that, however when it happens again, I shall look.
Comment 3 Kris 2013-04-20 13:53:37 CDT
Created attachment 1172 [details]
.xsession-errors file after idle logout
Comment 4 Kris 2013-04-20 13:54:52 CDT
I have attached the ~/.xesession-errors file. It does make mention of kdesktop_lock, however I'm not sure how useful it will be.
Comment 5 Timothy Pearson 2013-04-20 14:51:03 CDT
I have seen something like this very recently on my test box, however I had attributed it to some kind of ABI problem on that machine only.  If the problem persists after tdebase has been rebuilt I will need to look into it further.
Comment 6 Timothy Pearson 2013-04-21 00:46:16 CDT
Confirming and marking BLOCKER.

The backtrace from my test system:

[kdesktop_lock] Obtained 10 stack frames.
[kdesktop_lock] lockprocess.cc:146      print_trace()
[kdesktop_lock] lockprocess.cc:163      segv_handler()
[kdesktop_lock] [0xffffffffffffe400] ??() ??:0
[kdesktop_lock] qglist.cpp:440  TQGList::insertAt()
[kdesktop_lock] qeventloop_unix_glib.cpp:196    insertTimer()
[kdesktop_lock] qeventloop_unix_glib.cpp:559    TQEventLoop::activateTimers()
[kdesktop_lock] qeventloop_x11_glib.cpp:592     TQEventLoop::gsourceDispatch()
[kdesktop_lock] qeventloop_x11_glib.cpp:122     qt_gsource_dispatch()
[kdesktop_lock] gmain.c:3054    g_main_dispatch()
[kdesktop_lock] gmain.c:3701    g_main_context_iterate()
Comment 7 Timothy Pearson 2013-04-21 01:21:24 CDT
Full backtrace from gdb:

Program received signal SIGSEGV, Segmentation fault.
0x078b7c99 in TQValueListPrivate<TQString>::~TQValueListPrivate (this=0x9a5c0a8, __in_chrg=<optimized out>) at ../include/ntqvaluelist.h:281
281     ../include/ntqvaluelist.h: No such file or directory.
(gdb) bt
#0  0x078b7c99 in TQValueListPrivate<TQString>::~TQValueListPrivate (this=0x9a5c0a8, __in_chrg=<optimized out>) at ../include/ntqvaluelist.h:281
#1  0x0798bbb7 in derefAndDelete (this=0x9a5c0a8) at ../include/ntqvaluelist.h:239
#2  derefAndDelete (this=0x9a5c0a8) at kernel/ntqstyle.h:229
#3  ~TQValueList (this=0xbf890e14, __in_chrg=<optimized out>) at ../include/ntqvaluelist.h:445
#4  ~TQStringList (this=0xbf890e14, __in_chrg=<optimized out>) at ../include/ntqstringlist.h:61
#5  ~TQStyleControlElementGenericWidgetData (this=0xbf890e14, __in_chrg=<optimized out>) at kernel/ntqstyle.h:186
#6  ~TQStyleControlElementTabBarData (this=0xbf890d5c, __in_chrg=<optimized out>) at kernel/ntqstyle.h:210
#7  TQStyleControlElementData::~TQStyleControlElementData (this=0xbf890abc, __in_chrg=<optimized out>) at kernel/ntqstyle.h:229
#8  0x07989bb8 in TQStyle::eventFilter (this=0x99c6648, o=0x9a5f630, e=0xbf8914dc) at kernel/qstyle.cpp:2183
#9  0x079671eb in TQObject::activate_filters (this=this@entry=0x9a5f630, e=e@entry=0xbf8914dc) at kernel/qobject.cpp:1133
#10 0x07967261 in TQObject::event (this=0x9a5f630, e=0xbf8914dc) at kernel/qobject.cpp:931
#11 0x079a1012 in TQWidget::event (this=0x9a5f630, e=0xbf8914dc) at kernel/qwidget.cpp:4721
#12 0x07a26501 in TQLineEdit::event (this=0x9a5f630, e=0xbf8914dc) at widgets/qlineedit.cpp:1462
#13 0x0111f373 in KPasswordEdit::event (this=0x9a5f630, e=0xbf8914dc) at /build/buildd/tdelibs-trinity-14.0.0-r810/tdeui/kpassdlg.cpp:173
#14 0x079116af in internalNotify (e=0xbf8914dc, receiver=0x9a5f630, this=<optimized out>) at kernel/qapplication.cpp:2782
#15 TQApplication::internalNotify (this=0xbf892620, receiver=0x9a5f630, e=0xbf8914dc) at kernel/qapplication.cpp:2678
#16 0x07911a23 in TQApplication::notify (this=0xbf892620, receiver=0x9a5f630, e=0xbf8914dc) at kernel/qapplication.cpp:2625
#17 0x0710b791 in TDEApplication::notify (this=0xbf892620, receiver=0x9a5f630, event=0xbf8914dc) at /build/buildd/tdelibs-trinity-14.0.0-r810/tdecore/tdeapplication.cpp:583
#18 0x078e46a1 in sendEvent (event=0xbf8914dc, receiver=0x9a5f630) at kernel/ntqapplication.h:537
#19 TQWidget::repaint (this=0x9a5f630, reg=..., erase=false) at kernel/qwidget_x11.cpp:1770
#20 0x07912eb7 in TQApplication::sendPostedEvents (receiver=receiver@entry=0x0, event_type=event_type@entry=0) at kernel/qapplication.cpp:3475
#21 0x07912f63 in TQApplication::sendPostedEvents () at kernel/qapplication.cpp:3388
#22 0x078f14ad in TQEventLoop::processX11Events (this=this@entry=0x99b75d0) at kernel/qeventloop_x11_glib.cpp:366
#23 0x078f1dd1 in TQEventLoop::gsourceDispatch (this=this@entry=0x99b75d0, gs=gs@entry=0x99b7d10) at kernel/qeventloop_x11_glib.cpp:610
#24 0x078f1ebc in qt_gsource_dispatch (source=source@entry=0x99b7d10, callback=0x0, user_data=0x0) at kernel/qeventloop_x11_glib.cpp:122
#25 0x06341373 in g_main_dispatch (context=0x99b3b98) at /build/buildd/glib2.0-2.36.0/./glib/gmain.c:3054
#26 g_main_context_dispatch (context=context@entry=0x99b3b98) at /build/buildd/glib2.0-2.36.0/./glib/gmain.c:3630
#27 0x06341710 in g_main_context_iterate (context=context@entry=0x99b3b98, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at /build/buildd/glib2.0-2.36.0/./glib/gmain.c:3701
#28 0x063417f1 in g_main_context_iteration (context=0x99b3b98, may_block=1) at /build/buildd/glib2.0-2.36.0/./glib/gmain.c:3762
#29 0x078f13f0 in TQEventLoop::processEvents (this=0x99b75d0, flags=4) at kernel/qeventloop_x11_glib.cpp:280
#30 0x07925ab0 in TQEventLoop::enterLoop (this=0x99b75d0) at kernel/qeventloop.cpp:227
#31 0x079126ac in TQApplication::enter_loop (this=0xbf892620) at kernel/qapplication.cpp:2956
#32 0x07acc323 in TQDialog::exec (this=0xbf891a78) at dialogs/qdialog.cpp:435
#33 0x0805c9ee in LockProcess::execDialog (this=0xbf8923b4, dlg=0xbf891a78) at /TEMP2/tdebase-trinity-14.0.0/kdesktop/lock/lockprocess.cc:1899
#34 0x0805c57b in LockProcess::checkPass (this=0xbf8923b4) at /TEMP2/tdebase-trinity-14.0.0/kdesktop/lock/lockprocess.cc:1824
#35 0x0805beca in LockProcess::displayLockDialogIfNeeded (this=0xbf8923b4) at /TEMP2/tdebase-trinity-14.0.0/kdesktop/lock/lockprocess.cc:1688
#36 0x08060882 in LockProcess::tqt_invoke (this=0xbf8923b4, _id=62, _o=0xb6901b70) at /TEMP2/tdebase-trinity-14.0.0/obj-i686-linux-gnu/kdesktop/lock/lockprocess.moc:261
#37 0x07967424 in TQObject::event (this=0xbf8923b4, e=0xb6901b90) at kernel/qobject.cpp:967
#38 0x079a1012 in TQWidget::event (this=0xbf8923b4, e=0xb6901b90) at kernel/qwidget.cpp:4721
#39 0x079116af in internalNotify (e=0xb6901b90, receiver=0xbf8923b4, this=<optimized out>) at kernel/qapplication.cpp:2782
#40 TQApplication::internalNotify (this=0xbf892620, receiver=0xbf8923b4, e=0xb6901b90) at kernel/qapplication.cpp:2678
#41 0x07911a23 in TQApplication::notify (this=0xbf892620, receiver=0xbf8923b4, e=0xb6901b90) at kernel/qapplication.cpp:2625
#42 0x0710b791 in TDEApplication::notify (this=0xbf892620, receiver=0xbf8923b4, event=0xb6901b90) at /build/buildd/tdelibs-trinity-14.0.0-r810/tdecore/tdeapplication.cpp:583
#43 0x07912dff in sendEvent (event=<optimized out>, receiver=<optimized out>) at kernel/ntqapplication.h:537
#44 TQApplication::sendPostedEvents (receiver=receiver@entry=0x0, event_type=event_type@entry=0) at kernel/qapplication.cpp:3478
#45 0x07912f63 in TQApplication::sendPostedEvents () at kernel/qapplication.cpp:3388
#46 0x078f14d5 in TQEventLoop::processX11Events (this=this@entry=0x99b75d0) at kernel/qeventloop_x11_glib.cpp:305
#47 0x078f1dd1 in TQEventLoop::gsourceDispatch (this=this@entry=0x99b75d0, gs=gs@entry=0x99b7d10) at kernel/qeventloop_x11_glib.cpp:610
#48 0x078f1ebc in qt_gsource_dispatch (source=source@entry=0x99b7d10, callback=0x0, user_data=0x0) at kernel/qeventloop_x11_glib.cpp:122
#49 0x06341373 in g_main_dispatch (context=0x99b3b98) at /build/buildd/glib2.0-2.36.0/./glib/gmain.c:3054
#50 g_main_context_dispatch (context=context@entry=0x99b3b98) at /build/buildd/glib2.0-2.36.0/./glib/gmain.c:3630
#51 0x06341710 in g_main_context_iterate (context=context@entry=0x99b3b98, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at /build/buildd/glib2.0-2.36.0/./glib/gmain.c:3701
#52 0x063417f1 in g_main_context_iteration (context=0x99b3b98, may_block=1) at /build/buildd/glib2.0-2.36.0/./glib/gmain.c:3762
#53 0x078f13f0 in TQEventLoop::processEvents (this=0x99b75d0, flags=4) at kernel/qeventloop_x11_glib.cpp:280
#54 0x07925ab0 in TQEventLoop::enterLoop (this=0x99b75d0) at kernel/qeventloop.cpp:227
---Type <return> to continue, or q <return> to quit---
#55 0x07925a34 in TQEventLoop::exec (this=0x99b75d0) at kernel/qeventloop.cpp:174
#56 0x0791252c in TQApplication::exec (this=0xbf892620) at kernel/qapplication.cpp:2914
#57 0x0807014c in main (argc=3, argv=0xbf8947d4) at /TEMP2/tdebase-trinity-14.0.0/kdesktop/lock/main.cc:499
#58 0x00b154d3 in __libc_start_main (main=0x806f020 <main(int, char**)>, argc=3, ubp_av=0xbf8947d4, init=0x807a5d0, fini=0x807a640, rtld_fini=0x9cb270 <_dl_fini>, stack_end=0xbf8947cc) at libc-start.c:226
#59 0x08055bc1 in ?? ()
#59 0x08055bc1 in ?? ()
(gdb) info threads
  Id   Target Id         Frame
  2    Thread 0xb7468b40 (LWP 21530) 0x00747422 in __kernel_vsyscall ()
* 1    Thread 0xb781b740 (LWP 21403) 0x078b7c99 in TQValueListPrivate<TQString>::~TQValueListPrivate (this=0x9a5c0a8, __in_chrg=<optimized out>) at ../include/ntqvaluelist.h:281
(gdb) thread 2
[Switching to thread 2 (Thread 0xb7468b40 (LWP 21530))]
#0  0x00747422 in __kernel_vsyscall ()
(gdb) bt
#0  0x00747422 in __kernel_vsyscall ()
#1  0x00bdc5f0 in __GI___poll (fds=fds@entry=0xb6901b00, nfds=nfds@entry=2, timeout=timeout@entry=99) at ../sysdeps/unix/sysv/linux/poll.c:87
#2  0x0635029b in g_poll (fds=0xb6901b00, nfds=2, timeout=99) at /build/buildd/glib2.0-2.36.0/./glib/gpoll.c:132
#3  0x06341690 in g_main_context_poll (n_fds=2, fds=0xb6901b00, timeout=<optimized out>, context=0xb69005d0, priority=<optimized out>) at /build/buildd/glib2.0-2.36.0/./glib/gmain.c:3995
#4  g_main_context_iterate (context=context@entry=0xb69005d0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at /build/buildd/glib2.0-2.36.0/./glib/gmain.c:3696
#5  0x063417f1 in g_main_context_iteration (context=0xb69005d0, may_block=1) at /build/buildd/glib2.0-2.36.0/./glib/gmain.c:3762
#6  0x078f13f0 in TQEventLoop::processEvents (this=0xb6900468, flags=4) at kernel/qeventloop_x11_glib.cpp:280
#7  0x07925ab0 in TQEventLoop::enterLoop (this=0xb6900468) at kernel/qeventloop.cpp:227
#8  0x07925a34 in TQEventLoop::exec (this=0xb6900468) at kernel/qeventloop.cpp:174
#9  0x07990f90 in TQEventLoopThread::run (this=0x99db7f8) at kernel/qthread.cpp:255
#10 0x0790a83c in TQThreadInstance::start (_arg=0x9a04134) at kernel/qthread_unix.cpp:129
#11 0x00239d4c in start_thread (arg=0xb7468b40) at pthread_create.c:308
#12 0x00bead3e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130
(gdb)
Comment 8 Timothy Pearson 2013-04-21 14:27:35 CDT
A second backtrace:
#0  TQGList::insertAt (this=0x87140a8, index=1, d=0x876f6c0) at tools/qglist.cpp:440
#1  0x05152638 in insert (d=0x876f6c0, i=1, this=<optimized out>) at ../include/ntqptrlist.h:82
#2  insertTimer (ti=ti@entry=0x876f6c0) at kernel/qeventloop_unix_glib.cpp:190
#3  0x0515320c in TQEventLoop::activateTimers (this=0xb6900468) at kernel/qeventloop_unix_glib.cpp:558
#4  0x0513de08 in TQEventLoop::gsourceDispatch (this=this@entry=0xb6900468, gs=gs@entry=0xb6900ea0) at kernel/qeventloop_x11_glib.cpp:592
#5  0x0513debc in qt_gsource_dispatch (source=source@entry=0xb6900ea0, callback=0x0, user_data=0x0) at kernel/qeventloop_x11_glib.cpp:122
#6  0x02d5c373 in g_main_dispatch (context=0xb69005d0) at /build/buildd/glib2.0-2.36.0/./glib/gmain.c:3054
#7  g_main_context_dispatch (context=context@entry=0xb69005d0) at /build/buildd/glib2.0-2.36.0/./glib/gmain.c:3630
#8  0x02d5c710 in g_main_context_iterate (context=context@entry=0xb69005d0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at /build/buildd/glib2.0-2.36.0/./glib/gmain.c:3701
#9  0x02d5c7f1 in g_main_context_iteration (context=0xb69005d0, may_block=1) at /build/buildd/glib2.0-2.36.0/./glib/gmain.c:3762
#10 0x0513d3f0 in TQEventLoop::processEvents (this=0xb6900468, flags=4) at kernel/qeventloop_x11_glib.cpp:280
#11 0x05171ab0 in TQEventLoop::enterLoop (this=0xb6900468) at kernel/qeventloop.cpp:227
#12 0x05171a34 in TQEventLoop::exec (this=0xb6900468) at kernel/qeventloop.cpp:174
#13 0x051dcf90 in TQEventLoopThread::run (this=0x870f870) at kernel/qthread.cpp:255
#14 0x0515683c in TQThreadInstance::start (_arg=0x8723344) at kernel/qthread_unix.cpp:129
#15 0x00939d4c in start_thread (arg=0xb74d3b40) at pthread_create.c:308
#16 0x03daed3e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130

Looks like some kind of race condition or memory corruption.
Comment 9 Timothy Pearson 2013-04-22 11:06:13 CDT
There is a high probability this is related to various other TQGList-related crashes that have come and gone over the years in threaded Qt3/TQt3 programs.  I believe I have isolated the cause and have a patch, but as it will break the TQt3 ABI I need to thoroughly verify before pushing to GIT.
Comment 10 Timothy Pearson 2013-04-22 21:28:45 CDT
It turns out that the problem was not what I originally thought, therefore a Qt3/TQt3 ABI change is not needed.

Partially fixed in GIT hashes 83d39ca (Qt3) and 33e2cf2 (TQt3) by ensuring that only object owner threads call timer and socket event handlers.  Second patch coming soon for tdebase to fix a zombie thread noted under certain circumstances.
Comment 11 Timothy Pearson 2013-04-22 21:43:17 CDT
Remainder of bug fixed in GIT hash edf3004 (tdebase).

I am going to close this report, however if these issues recur please reopen it with a new ~/.xsession-errors attachment.

Thanks for reporting!
Comment 12 Slávek Banko 2013-04-23 15:19:38 CDT
(Odpověď na komentář #11)
> Remainder of bug fixed in GIT hash edf3004 (tdebase).
> 
> I am going to close this report, however if these issues recur please reopen it
> with a new ~/.xsession-errors attachment.
> 
> Thanks for reporting!

If I understand correctly, tdebase patch sections to terminating the second thread is not relevant for v3.5.13-sru branch? Interesting for backport are only the patch for qt3.
Comment 13 Timothy Pearson 2013-04-23 17:37:08 CDT
(In reply to comment #12)
> (Odpověď na komentář #11)
> > Remainder of bug fixed in GIT hash edf3004 (tdebase).
> > 
> > I am going to close this report, however if these issues recur please reopen it
> > with a new ~/.xsession-errors attachment.
> > 
> > Thanks for reporting!
> 
> If I understand correctly, tdebase patch sections to terminating the second
> thread is not relevant for v3.5.13-sru branch? Interesting for backport are
> only the patch for qt3.

Correct.  I hope this is the last of the weird issues related to the switch to using the glib event loop...