Bug 271695 - Parley crashes during written practice
Summary: Parley crashes during written practice
Status: RESOLVED FIXED
Alias: None
Product: parley
Classification: Applications
Component: general (show other bugs)
Version: 0.9.4
Platform: Ubuntu Linux
: NOR crash
Target Milestone: ---
Assignee: parley bug tracker
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-04-25 17:32 UTC by Ansa
Modified: 2014-03-27 16:29 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Ansa 2011-04-25 17:32:53 UTC
Application: parley (0.9.4)
KDE Platform Version: 4.6.2 (4.6.2)
Qt Version: 4.7.0
Operating System: Linux 2.6.35-28-generic i686
Distribution: Ubuntu 10.10

-- Information about the crash:
During the written practice, the system crashes suddenly. I am not 100% sure, but I think this happens during flash-card practice as well - certainly it has been happening quite often recently (almost every day, about once per every 200 practiced words). I have no idea why this happens, it seems quite random, but maybe the debug info helps.

The crash can be reproduced some of the time.

-- Backtrace:
Application: Parley (parley), signal: Segmentation fault
[Current thread is 1 (Thread 0xb77bd710 (LWP 4787))]

Thread 3 (Thread 0xb0e8eb70 (LWP 4789)):
#0  0x00594e36 in clock_gettime () from /lib/librt.so.1
#1  0x0038c50b in do_gettime () at tools/qelapsedtimer_unix.cpp:105
#2  qt_gettime () at tools/qelapsedtimer_unix.cpp:119
#3  0x004636e5 in QTimerInfoList::updateCurrentTime (this=0x959dacc) at kernel/qeventdispatcher_unix.cpp:339
#4  0x0046372a in QTimerInfoList::timerWait (this=0x959dacc, tm=...) at kernel/qeventdispatcher_unix.cpp:442
#5  0x004617a8 in timerSourcePrepareHelper (src=<value optimized out>, timeout=0xb0e8e0bc) at kernel/qeventdispatcher_glib.cpp:136
#6  0x0046183d in timerSourcePrepare (source=0x0, timeout=0x598ff4) at kernel/qeventdispatcher_glib.cpp:169
#7  0x06a49e6a in g_main_context_prepare () from /lib/libglib-2.0.so.0
#8  0x06a4a279 in ?? () from /lib/libglib-2.0.so.0
#9  0x06a4a848 in g_main_context_iteration () from /lib/libglib-2.0.so.0
#10 0x0046159f in QEventDispatcherGlib::processEvents (this=0x9ebb938, flags=...) at kernel/qeventdispatcher_glib.cpp:417
#11 0x00431609 in QEventLoop::processEvents (this=0xb0e8e290, flags=) at kernel/qeventloop.cpp:149
#12 0x00431a8a in QEventLoop::exec (this=0xb0e8e290, flags=...) at kernel/qeventloop.cpp:201
#13 0x0032db7e in QThread::exec (this=0x921bea8) at thread/qthread.cpp:490
#14 0x0041035b in QInotifyFileSystemWatcherEngine::run (this=0x921bea8) at io/qfilesystemwatcher_inotify.cpp:248
#15 0x00330df9 in QThreadPrivate::start (arg=0x921bea8) at thread/qthread_unix.cpp:266
#16 0x00771cc9 in start_thread () from /lib/libpthread.so.0
#17 0x029ad69e in clone () from /lib/libc.so.6

Thread 2 (Thread 0xb38d9b70 (LWP 5501)):
#0  0x028f3b22 in ?? () from /lib/libc.so.6
#1  0x029baf3b in pthread_mutex_lock () from /lib/libc.so.6
#2  0x07e85b31 in pa_mutex_lock () from /usr/lib/libpulsecommon-0.9.21.so
#3  0x0513356c in ?? () from /usr/lib/libpulse.so.0
#4  0x0511fab9 in pa_mainloop_poll () from /usr/lib/libpulse.so.0
#5  0x05121a73 in pa_mainloop_iterate () from /usr/lib/libpulse.so.0
#6  0x05121b44 in pa_mainloop_run () from /usr/lib/libpulse.so.0
#7  0x05133303 in ?? () from /usr/lib/libpulse.so.0
#8  0x07e86bd5 in ?? () from /usr/lib/libpulsecommon-0.9.21.so
#9  0x00771cc9 in start_thread () from /lib/libpthread.so.0
#10 0x029ad69e in clone () from /lib/libc.so.6

Thread 1 (Thread 0xb77bd710 (LWP 4787)):
[KCrash Handler]
#7  ~QString (this=0x9567310, data=0x9819fa0) at /usr/include/qt4/QtCore/qstring.h:882
#8  ~QPair (this=0x9567310, data=0x9819fa0) at /usr/include/qt4/QtCore/qpair.h:55
#9  node_destruct (this=0x9567310, data=0x9819fa0) at /usr/include/qt4/QtCore/qlist.h:418
#10 QList<QPair<QString, QRect> >::free (this=0x9567310, data=0x9819fa0) at /usr/include/qt4/QtCore/qlist.h:741
#11 0x080c2d07 in operator= (this=0x95672c8) at /usr/include/qt4/QtCore/qlist.h:429
#12 Practice::ThemedBackgroundRenderer::updateBackgroundTimeout (this=0x95672c8) at ../../../parley/src/practice/themedbackgroundrenderer.cpp:141
#13 0x080c2d83 in Practice::ThemedBackgroundRenderer::qt_metacall (this=0x95672c8, _c=QMetaObject::InvokeMetaMethod, _id=8, _a=0xbfb7a5bc) at ./themedbackgroundrenderer.moc:87
#14 0x004388ca in QMetaObject::metacall (object=0x95672c8, cl=159489952, idx=8, argv=0xbfb7a5bc) at kernel/qmetaobject.cpp:237
#15 0x0044b6ad in QMetaObject::activate (sender=0x9567318, m=0x5655a4, local_signal_index=0, argv=0x9819fb4) at kernel/qobject.cpp:3280
#16 0x0049d1e7 in QTimer::timeout (this=0x9567318) at .moc/release-shared/moc_qtimer.cpp:134
#17 0x004511ce in QTimer::timerEvent (this=0x9567318, e=0xbfb7aaf0) at kernel/qtimer.cpp:271
#18 0x00445504 in QObject::event (this=0x9567318, e=0x153) at kernel/qobject.cpp:1183
#19 0x072a3fdc in QApplicationPrivate::notify_helper (this=0x8f98b88, receiver=0x9567318, e=0xbfb7aaf0) at kernel/qapplication.cpp:4396
#20 0x072aa04e in QApplication::notify (this=0xbfb7ae50, receiver=0x9567318, e=0xbfb7aaf0) at kernel/qapplication.cpp:3798
#21 0x04ce782a in KApplication::notify (this=0xbfb7ae50, receiver=0x9567318, event=0xbfb7aaf0) at ../../kdeui/kernel/kapplication.cpp:311
#22 0x00432b3b in QCoreApplication::notifyInternal (this=0xbfb7ae50, receiver=0x9567318, event=0xbfb7aaf0) at kernel/qcoreapplication.cpp:732
#23 0x00464ad6 in sendEvent (this=0x8f9d934) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:215
#24 QTimerInfoList::activateTimers (this=0x8f9d934) at kernel/qeventdispatcher_unix.cpp:602
#25 0x004618a7 in timerSourceDispatch (source=0x8f9d968) at kernel/qeventdispatcher_glib.cpp:184
#26 idleTimerSourceDispatch (source=0x8f9d968) at kernel/qeventdispatcher_glib.cpp:231
#27 0x06a46855 in g_main_context_dispatch () from /lib/libglib-2.0.so.0
#28 0x06a4a668 in ?? () from /lib/libglib-2.0.so.0
#29 0x06a4a848 in g_main_context_iteration () from /lib/libglib-2.0.so.0
#30 0x00461565 in QEventDispatcherGlib::processEvents (this=0x8f7d578, flags=...) at kernel/qeventdispatcher_glib.cpp:415
#31 0x07365be5 in QGuiEventDispatcherGlib::processEvents (this=0x8f7d578, flags=...) at kernel/qguieventdispatcher_glib.cpp:204
#32 0x00431609 in QEventLoop::processEvents (this=0xbfb7adb4, flags=) at kernel/qeventloop.cpp:149
#33 0x00431a8a in QEventLoop::exec (this=0xbfb7adb4, flags=...) at kernel/qeventloop.cpp:201
#34 0x0043600f in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1009
#35 0x072a2e07 in QApplication::exec () at kernel/qapplication.cpp:3672
#36 0x0806eb19 in main (argc=1, argv=0xbfb7b064) at ../../../parley/src/main.cpp:139

Reported using DrKonqi
Comment 1 Ansa 2011-05-29 18:04:49 UTC
It happens also just after entering the Practice mode (as in the bug 271626). It happens both with written practice and flashcard practice mode.
Comment 2 Inge Wallin 2014-02-25 17:28:18 UTC
Hi Ansa,

Every 200 words sounds like a lot. Does this still happen with a modern Parley?  I know that the version number hasn't been updated as it should so I'm afraid you will have to give the general KDE version.
Comment 3 Ansa 2014-02-25 22:33:13 UTC
Thank you for looking into this. I have noticed that you have been recently very active and I really value the time you put into it.

I think the problem has disappeared in the meantime, because I am not aware of recent unexpected crashes during practice. However, I get crashes every time that I am running parley with a stylesheet and I exit practice prematurely (i.e. before I have practiced all words). It happens also with a small file.

I also sometimes experience crashes when I am adding images to the file by dragging them from my file manager. I suspect this might have to do with the size of my file (some 6000 lines with 5 columns and many links to audio and image files). So I learnt to save the file before adding any images (and just generally save it very often when I am editing it).

Please, let me know if I should file separate bugreports for these types of crashes.

Below is a backtrace for the crash with stylesheet. The stylesheet contains only one element:
QPushButton:focus {
 background-color:#C9DDF0;
 border:5px solid #C9DDF0;
}

I am currently running:

KDE Platform Version 4.12.2
Qt version 4.8.2.
Linux version 3.2.0-60-generic (buildd@allspice) (gcc version 4.6.3 (Ubuntu/Linaro 4.6.3-1ubuntu5) ) #91-Ubuntu SMP Wed Feb 19 03:55:18 UTC 2014
Ubuntu 12.04.4 LTS

Backtrace:
Application: Parley (parley), signal: Segmentation fault
Using host libthread_db library "/lib/i386-linux-gnu/libthread_db.so.1".
[Current thread is 1 (Thread 0xb7774980 (LWP 5152))]

Thread 2 (Thread 0xb3456b40 (LWP 5154)):
#0  0x00437dcd in clock_gettime () from /lib/i386-linux-gnu/librt.so.1
#1  0x005223e5 in do_gettime (frac=0xb3455fb0, sec=0xb3455fa8) at tools/qelapsedtimer_unix.cpp:123
#2  qt_gettime () at tools/qelapsedtimer_unix.cpp:140
#3  0x0060c726 in QTimerInfoList::updateCurrentTime (this=0xb5302074) at kernel/qeventdispatcher_unix.cpp:343
#4  0x0060ca7a in QTimerInfoList::timerWait (this=0xb5302074, tm=...) at kernel/qeventdispatcher_unix.cpp:450
#5  0x0060b323 in timerSourcePrepareHelper (src=<optimized out>, timeout=0xb34560bc) at kernel/qeventdispatcher_glib.cpp:136
#6  0x0060b3bd in timerSourcePrepare (source=0xb5302040, timeout=<optimized out>) at kernel/qeventdispatcher_glib.cpp:169
#7  0x03583832 in g_main_context_prepare () from /lib/i386-linux-gnu/libglib-2.0.so.0
#8  0x03583f6f in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
#9  0x035841c1 in g_main_context_iteration () from /lib/i386-linux-gnu/libglib-2.0.so.0
#10 0x0060bde7 in QEventDispatcherGlib::processEvents (this=0xb5300468, flags=...) at kernel/qeventdispatcher_glib.cpp:426
#11 0x005d76ad in QEventLoop::processEvents (this=0xb3456240, flags=...) at kernel/qeventloop.cpp:149
#12 0x005d7949 in QEventLoop::exec (this=0xb3456240, flags=...) at kernel/qeventloop.cpp:204
#13 0x004c0a1c in QThread::exec (this=0x92d6d90) at thread/qthread.cpp:501
#14 0x005b4cfd in QInotifyFileSystemWatcherEngine::run (this=0x92d6d90) at io/qfilesystemwatcher_inotify.cpp:248
#15 0x004c3eb0 in QThreadPrivate::start (arg=0x92d6d90) at thread/qthread_unix.cpp:307
#16 0x00b53d4c in start_thread () from /lib/i386-linux-gnu/libpthread.so.0
#17 0x03034bae in clone () from /lib/i386-linux-gnu/libc.so.6

Thread 1 (Thread 0xb7774980 (LWP 5152)):
[KCrash Handler]
#7  0x00000000 in ?? ()
#8  0x064dc0b6 in QStyleSheetStyle::event (this=0xa539e60, e=0xbf985950) at styles/qstylesheetstyle.cpp:5798
#9  0x06162df4 in notify_helper (e=0xbf985950, receiver=0xa539e60, this=0x90f9d10) at kernel/qapplication.cpp:4556
#10 QApplicationPrivate::notify_helper (this=0x90f9d10, receiver=0xa539e60, e=0xbf985950) at kernel/qapplication.cpp:4528
#11 0x0616815d in QApplication::notify (this=0xbf985950, receiver=0xa539e60, e=0xbf985950) at kernel/qapplication.cpp:4285
#12 0x03903161 in KApplication::notify (this=0xbf987160, receiver=0xa539e60, event=0xbf985950) at ../../kdeui/kernel/kapplication.cpp:311
#13 0x005d8e0e in QCoreApplication::notifyInternal (this=0xbf987160, receiver=0xa539e60, event=0xbf985950) at kernel/qcoreapplication.cpp:915
#14 0x0616135c in sendEvent (event=0xbf985950, receiver=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:231
#15 QApplicationPrivate::setFocusWidget (focus=0x0, reason=Qt::OtherFocusReason) at kernel/qapplication.cpp:2259
#16 0x061ab3fc in clearFocus (this=0xa73b528) at kernel/qwidget.cpp:6542
#17 QWidget::clearFocus (this=0xa73b528) at kernel/qwidget.cpp:6526
#18 0x061b6f19 in QWidget::~QWidget (this=0xa73b528, __in_chrg=<optimized out>) at kernel/qwidget.cpp:1608
#19 0x065e8acf in QLineEdit::~QLineEdit (this=0xa73b528, __in_chrg=<optimized out>) at widgets/qlineedit.cpp:357
#20 0x039d2a9f in KLineEdit::~KLineEdit (this=0xa73b528, __in_chrg=<optimized out>) at ../../kdeui/widgets/klineedit.cpp:245
#21 0x039d2b32 in KLineEdit::~KLineEdit (this=0xa73b528, __in_chrg=<optimized out>) at ../../kdeui/widgets/klineedit.cpp:248
#22 0x005ee211 in QObjectPrivate::deleteChildren (this=0x96d8bb0) at kernel/qobject.cpp:1908
#23 0x061b6fcc in QWidget::~QWidget (this=0xab31408, __in_chrg=<optimized out>) at kernel/qwidget.cpp:1677
#24 0x080b5f0b in _start ()
Comment 4 Inge Wallin 2014-02-26 13:21:33 UTC
Ok, thank you.  Good to know that the original crash seems gone.

But could you register one separate bug for each different type of crash?  The feature freeze for KDE SC 4.14 is today so we are done with feature development and will now focus on the bugs for a while until the release.  And crashes have extra high prio.

So if you register each crash you see, there's a bigger chance of getting them fixed. If nothing else, it won't be forgotten because one bug gets closed when a crash is fixed and there is another one in the same bug report.
Comment 5 Inge Wallin 2014-03-16 10:31:41 UTC
Hi Ansa,

I may have missed it but I didn't see any new crash reports from the other crashes you mentioned.  We are going to try to fix all the crashes that we can before the release of the next version and the more data we can get the better chance we have.

But am I correct in thinking that this particular crash is fixed?  I haven't seen a crash during practice for a long time now but on the other hand I don't have any file with 6000 lines.  :)  I would like to close this one if possible so I'm grateful for an answer.
Comment 6 Inge Wallin 2014-03-18 08:32:41 UTC
The crash when adding images is now registered separately as bug 332269. I am therefore closing this one since we haven't seen this particular crash for a while.
Comment 7 Ansa 2014-03-18 08:37:19 UTC
It's true, I have recently not had parley crashing. However, I noticed that (unintentionally), I have been using parley without the stylesheet, so that might have some effect. I will report a bug as soon as/if I get a crash! In the meantime, feel free to close this bugreport.
Comment 8 Ansa 2014-03-18 08:38:41 UTC
Oops, it seems I have accidentally undone your closing this bugreport... Sorry about that!
Comment 9 Inge Wallin 2014-03-18 08:48:25 UTC
Haha, no problem.  Now re-closed.