| Summary: | Parley crashes after adding new lesson after deleting root lesson | ||
|---|---|---|---|
| Product: | [Applications] parley | Reporter: | Oliver Putz <Regnaron> |
| Component: | general | Assignee: | Frederik Gladhorn <gladhorn> |
| Status: | RESOLVED FIXED | ||
| Severity: | crash | ||
| Priority: | NOR | ||
| Version First Reported In: | unspecified | ||
| Target Milestone: | --- | ||
| Platform: | unspecified | ||
| OS: | Linux | ||
| Latest Commit: | Version Fixed/Implemented In: | ||
| Sentry Crash Report: | |||
|
Description
Oliver Putz
2008-01-09 23:22:58 UTC
Additional note: The same holds true if you try to add a new Entry instead of a new Lesson. The backtrace then looks as follows: (maybe just disable the "add new Entry" when there is no lesson selected to add the entry to?) kdesvn@Remus ~ $ gdb parley GNU gdb 6.7.1 Copyright (C) 2007 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "i686-pc-linux-gnu"... Using host libthread_db library "/lib/libthread_db.so.1". (gdb) run Starting program: /usr/kde/svn/bin/parley [Thread debugging using libthread_db enabled] [New Thread 0xb648b6d0 (LWP 7221)] Qt: gdb: -nograb added to command-line options. Use the -dograb option to enforce grabbing. parley(7221)/kdecore (KLocale) KLocalePrivate::initEncoding: Defaulting to ISO 8859-1 encoding. parley(7221) ParleyDocument::ParleyDocument: will new KEduVocDocument parley(7221) KEduVocDocument::KEduVocDocument: constructor done parley(7221) ParleyDocument::ParleyDocument: done new KEduVocDocument parley(7221)/kdecore (KConfigSkeleton) KCoreConfigSkeleton::KCoreConfigSkeleton: Creating KCoreConfigSkeleton ( 0x818ef48 ) parley(7221)/kdecore (KConfigSkeleton) KCoreConfigSkeleton::readConfig: KCoreConfigSkeleton::readConfig() QLayout: Attempting to add QLayout "" to QWidget "", which already has a layout parley(7221) VocabularyView::reset: reset parley(7221) ContainerModel::ContainerModel: Creating new root lesson container parley(7221) ContainerModel::ContainerModel: Creating new root word type container Object::connect: No such slot ParleyDocument::printFile() Object::connect: (sender name: 'file_print') Object::connect: No such slot ParleyApp::slotCleanVocabulary() Object::connect: (sender name: 'vocab_clean_up') parley(7221) ParleyApp::ParleyApp: Parley - will open doc parley(7221) ParleyApp::ParleyApp: new doc parley(7221) KEduVocDocument::KEduVocDocument: constructor done parley(7221) VocabularyView::reset: reset parley(7221) ContainerModel::setDocument: setting root lesson parley(7221) VocabularyView::reset: reset parley(7221) VocabularyView::reset: reset parley(7221) ContainerModel::setDocument: setting root lesson parley(7221)/kdeui (KXmlGui) KXMLGUIFactory::removeClient: KXMLGUIFactory::removeClient( 0x818b5f0 ) parley(7221)/kdeui (KXmlGui) KXmlGuiVersionHandler::KXmlGuiVersionHandler: found no version in "/usr/kde/svn/share/apps/parley/parleyui.rc" parley(7221)/kdeui (KXmlGui) KXMLGUIFactory::addClient: KXMLGUIFactory::addClient( 0x818b5f0 ) parley(7221)/kdeui (KXmlGui) KXMLGUIFactory::addClient: KXMLGUIFactory::addClient( 0x8224988 ) parley(7221) KEduVocContainer::deleteChildContainer: Delete of container - check entry deletion! Program received signal SIGSEGV, Segmentation fault. [Switching to Thread 0xb648b6d0 (LWP 7221)] 0x00000000 in ?? () (gdb) bt #0 0x00000000 in ?? () #1 0x08062a4c in VocabularyModel::rowCount (this=0x818cfe8, index=@0xbfd16ddc) at /var/tmp/portage/kde-base/kdeedu-9999.4/work/kdeedu-9999.4/parley/src/vocabulary/vocabularymodel.cpp:104 #2 0x08062ccc in VocabularyModel::appendEntry (this=0x818cfe8) at /var/tmp/portage/kde-base/kdeedu-9999.4/work/kdeedu-9999.4/parley/src/vocabulary/vocabularymodel.cpp:330 #3 0x080667ad in VocabularyFilter::appendEntry (this=0x81a1300) at /var/tmp/portage/kde-base/kdeedu-9999.4/work/kdeedu-9999.4/parley/src/vocabulary/vocabularyfilter.cpp:36 #4 0x080647e1 in VocabularyView::appendEntry (this=0x81b0dd0) at /var/tmp/portage/kde-base/kdeedu-9999.4/work/kdeedu-9999.4/parley/src/vocabulary/vocabularyview.cpp:346 #5 0x08064de1 in VocabularyView::qt_metacall (this=0x81b0dd0, _c=QMetaObject::InvokeMetaMethod, _id=2, _a=0xbfd173cc) at /var/tmp/portage/kde-base/kdeedu-9999.4/work/kdeedu_build/parley/src/vocabularyview.moc:78 #6 0xb7e5f124 in QMetaObject::activate (sender=0x81dc9c0, from_signal_index=5, to_signal_index=6, argv=<value optimized out>) at kernel/qobject.cpp:3083 #7 0xb7e5f512 in QMetaObject::activate (sender=0x81dc9c0, m=0xb74934c0, from_local_signal_index=1, to_local_signal_index=2, argv=0xbfd173cc) at kernel/qobject.cpp:3162 #8 0xb6d43c03 in QAction::triggered (this=0x81dc9c0, _t1=false) at .moc/debug-shared/moc_qaction.cpp:208 #9 0xb6d446fd in QAction::activate (this=0x81dc9c0, event=QAction::Trigger) at kernel/qaction.cpp:1116 #10 0xb716d090 in QToolButton::nextCheckState (this=0x8232d80) at ../../include/QtGui/../../src/gui/kernel/qaction.h:190 #11 0xb708f27d in QAbstractButtonPrivate::click (this=0x8232de8) at widgets/qabstractbutton.cpp:515 #12 0xb708f50e in QAbstractButton::mouseReleaseEvent (this=0x8232d80, e=0xbfd17b04) at widgets/qabstractbutton.cpp:1102 #13 0xb716d18c in QToolButton::mouseReleaseEvent (this=0x8232d80, e=0xbfd17b04) at widgets/qtoolbutton.cpp:658 #14 0xb6d9dbf5 in QWidget::event (this=0x8232d80, event=0xbfd17b04) at kernel/qwidget.cpp:6129 #15 0xb708e013 in QAbstractButton::event (this=0x8232d80, e=0xbfd16ddc) at widgets/qabstractbutton.cpp:1064 #16 0xb716c9c4 in QToolButton::event (this=0x8232d80, e=0xbfd17b04) at widgets/qtoolbutton.cpp:1075 #17 0xb6d4b0ca in QApplicationPrivate::notify_helper (this=0x80fe7d8, receiver=0x8232d80, e=0xbfd17b04) at kernel/qapplication.cpp:3558 #18 0xb6d4cc6c in QApplication::notify (this=0xbfd180a4, receiver=0x8232d80, e=0xbfd17b04) at kernel/qapplication.cpp:3257 #19 0xb79d9783 in KApplication::notify (this=0xbfd180a4, receiver=0x8232d80, event=0xbfd17b04) at /var/tmp/portage/kde-base/kdelibs-9999.4/work/kdelibs-9999.4/kdeui/kernel/kapplication.cpp:314 #20 0xb7e4bcab in QCoreApplication::notifyInternal (this=0xbfd180a4, receiver=0x8232d80, event=0xbfd17b04) at kernel/qcoreapplication.cpp:532 ---Type <return> to continue, or q <return> to quit--- #21 0xb6db0908 in QETWidget::translateMouseEvent (this=0x8232d80, event=0xbfd17ec8) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:205 #22 0xb6daf16e in QApplication::x11ProcessEvent (this=0xbfd180a4, event=0xbfd17ec8) at kernel/qapplication_x11.cpp:2917 #23 0xb6dd4ef5 in QEventDispatcherX11::processEvents (this=0x80fe8c8, flags=@0xbfd17fb4) at kernel/qeventdispatcher_x11.cpp:127 #24 0xb7e4b0c1 in QEventLoop::processEvents (this=0xbfd18020, flags=@0xbfd17fe8) at kernel/qeventloop.cpp:142 #25 0xb7e4b1ca in QEventLoop::exec (this=0xbfd18020, flags=@0xbfd18028) at kernel/qeventloop.cpp:188 #26 0xb7e4d556 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:761 #27 0xb6d4a6c7 in QApplication::exec () at kernel/qapplication.cpp:3055 #28 0x080d6f65 in main (argc=1, argv=0xbfd182c4) at /var/tmp/portage/kde-base/kdeedu-9999.4/work/kdeedu-9999.4/parley/src/main.cpp:132 #29 0xb6699fdc in __libc_start_main (main=0x80d6120 <main>, argc=1, ubp_av=0xbfd182c4, init=0x80de630 <__libc_csu_init>, fini=0x80de620 <__libc_csu_fini>, rtld_fini=0xb7f49100 <_dl_fini>, stack_end=0xbfd182bc) at libc-start.c:229 #30 0x08062591 in _start () (gdb) Second note: Parley also crashes when trying to start a practice after having deleted the root lesson. The gdb output for that one is: kdesvn@Remus ~ $ gdb parley GNU gdb 6.7.1 Copyright (C) 2007 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "i686-pc-linux-gnu"... Using host libthread_db library "/lib/libthread_db.so.1". (gdb) run Starting program: /usr/kde/svn/bin/parley [Thread debugging using libthread_db enabled] [New Thread 0xb64b96d0 (LWP 7306)] Qt: gdb: -nograb added to command-line options. Use the -dograb option to enforce grabbing. parley(7306)/kdecore (KLocale) KLocalePrivate::initEncoding: Defaulting to ISO 8859-1 encoding. parley(7306) ParleyDocument::ParleyDocument: will new KEduVocDocument parley(7306) KEduVocDocument::KEduVocDocument: constructor done parley(7306) ParleyDocument::ParleyDocument: done new KEduVocDocument parley(7306)/kdecore (KConfigSkeleton) KCoreConfigSkeleton::KCoreConfigSkeleton: Creating KCoreConfigSkeleton ( 0x818ef48 ) parley(7306)/kdecore (KConfigSkeleton) KCoreConfigSkeleton::readConfig: KCoreConfigSkeleton::readConfig() QLayout: Attempting to add QLayout "" to QWidget "", which already has a layout parley(7306) VocabularyView::reset: reset parley(7306) ContainerModel::ContainerModel: Creating new root lesson container parley(7306) ContainerModel::ContainerModel: Creating new root word type container Object::connect: No such slot ParleyDocument::printFile() Object::connect: (sender name: 'file_print') Object::connect: No such slot ParleyApp::slotCleanVocabulary() Object::connect: (sender name: 'vocab_clean_up') parley(7306) ParleyApp::ParleyApp: Parley - will open doc parley(7306) ParleyApp::ParleyApp: new doc parley(7306) KEduVocDocument::KEduVocDocument: constructor done parley(7306) VocabularyView::reset: reset parley(7306) ContainerModel::setDocument: setting root lesson parley(7306) VocabularyView::reset: reset parley(7306) VocabularyView::reset: reset parley(7306) ContainerModel::setDocument: setting root lesson parley(7306)/kdeui (KXmlGui) KXMLGUIFactory::removeClient: KXMLGUIFactory::removeClient( 0x818b5f0 ) parley(7306)/kdeui (KXmlGui) KXmlGuiVersionHandler::KXmlGuiVersionHandler: found no version in "/usr/kde/svn/share/apps/parley/parleyui.rc" parley(7306)/kdeui (KXmlGui) KXMLGUIFactory::addClient: KXMLGUIFactory::addClient( 0x818b5f0 ) parley(7306)/kdeui (KXmlGui) KXMLGUIFactory::addClient: KXMLGUIFactory::addClient( 0x8224988 ) parley(7306) KEduVocContainer::deleteChildContainer: Delete of container - check entry deletion! parley(7306) TestEntryManager::TestEntryManager: Test from: "American English" to: "A Second Language" Program received signal SIGSEGV, Segmentation fault. [Switching to Thread 0xb64b96d0 (LWP 7306)] q_atomic_increment (ptr=0xa9) at /usr/include/qt4/QtCore/qatomic_i386.h:85 85 : "memory"); (gdb) bt #0 q_atomic_increment (ptr=0xa9) at /usr/include/qt4/QtCore/qatomic_i386.h:85 #1 0xb7f3b49d in QBasicAtomic::ref (this=0xa9) at /usr/include/qt4/QtCore/qatomic.h:90 #2 0xb7f44619 in QList (this=0xbfd04568, l=@0x823000c) at /usr/include/qt4/QtCore/qlist.h:106 #3 0xb7f4338f in KEduVocContainer::childContainers (this=0x81b73b8) at /var/tmp/portage/kde-base/kdeedu-9999.4/work/kdeedu-9999.4/libkdeedu/keduvocdocument/keduvoccontainer.cpp:169 #4 0x0807dbe9 in TestEntryManager (this=0xbfd0465c, doc=0x818eb40, parent=0x818b580) at /var/tmp/portage/kde-base/kdeedu-9999.4/work/kdeedu-9999.4/parley/src/practice/testentrymanager.cpp:119 #5 0x080d46e5 in ParleyApp::startPractice (this=0x818b580) at /var/tmp/portage/kde-base/kdeedu-9999.4/work/kdeedu-9999.4/parley/src/parley.cpp:427 #6 0x080d4cda in ParleyApp::qt_metacall (this=0x818b580, _c=QMetaObject::InvokeMetaMethod, _id=169, _a=0xbfd04bbc) at /var/tmp/portage/kde-base/kdeedu-9999.4/work/kdeedu_build/parley/src/parley.moc:107 #7 0xb7e8d124 in QMetaObject::activate (sender=0x81b5348, from_signal_index=5, to_signal_index=6, argv=<value optimized out>) at kernel/qobject.cpp:3083 #8 0xb7e8d512 in QMetaObject::activate (sender=0x81b5348, m=0xb74c14c0, from_local_signal_index=1, to_local_signal_index=2, argv=0xbfd04bbc) at kernel/qobject.cpp:3162 #9 0xb6d71c03 in QAction::triggered (this=0x81b5348, _t1=false) at .moc/debug-shared/moc_qaction.cpp:208 #10 0xb6d726fd in QAction::activate (this=0x81b5348, event=QAction::Trigger) at kernel/qaction.cpp:1116 #11 0xb719b090 in QToolButton::nextCheckState (this=0x8235658) at ../../include/QtGui/../../src/gui/kernel/qaction.h:190 #12 0xb70bd27d in QAbstractButtonPrivate::click (this=0x8235690) at widgets/qabstractbutton.cpp:515 #13 0xb70bd50e in QAbstractButton::mouseReleaseEvent (this=0x8235658, e=0xbfd052f4) at widgets/qabstractbutton.cpp:1102 #14 0xb719b18c in QToolButton::mouseReleaseEvent (this=0x8235658, e=0xbfd052f4) at widgets/qtoolbutton.cpp:658 #15 0xb6dcbbf5 in QWidget::event (this=0x8235658, event=0xbfd052f4) at kernel/qwidget.cpp:6129 #16 0xb70bc013 in QAbstractButton::event (this=0x8235658, e=0x82b0d48) at widgets/qabstractbutton.cpp:1064 #17 0xb719a9c4 in QToolButton::event (this=0x8235658, e=0xbfd052f4) at widgets/qtoolbutton.cpp:1075 #18 0xb6d790ca in QApplicationPrivate::notify_helper (this=0x80fe7d8, receiver=0x8235658, e=0xbfd052f4) at kernel/qapplication.cpp:3558 #19 0xb6d7ac6c in QApplication::notify (this=0xbfd05894, receiver=0x8235658, e=0xbfd052f4) at kernel/qapplication.cpp:3257 #20 0xb7a07783 in KApplication::notify (this=0xbfd05894, receiver=0x8235658, event=0xbfd052f4) at /var/tmp/portage/kde-base/kdelibs-9999.4/work/kdelibs-9999.4/kdeui/kernel/kapplication.cpp:314 #21 0xb7e79cab in QCoreApplication::notifyInternal (this=0xbfd05894, receiver=0x8235658, event=0xbfd052f4) at kernel/qcoreapplication.cpp:532 ---Type <return> to continue, or q <return> to quit--- #22 0xb6dde908 in QETWidget::translateMouseEvent (this=0x8235658, event=0xbfd056b8) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:205 #23 0xb6ddd16e in QApplication::x11ProcessEvent (this=0xbfd05894, event=0xbfd056b8) at kernel/qapplication_x11.cpp:2917 #24 0xb6e02ef5 in QEventDispatcherX11::processEvents (this=0x80fe8c8, flags=@0xbfd057a4) at kernel/qeventdispatcher_x11.cpp:127 #25 0xb7e790c1 in QEventLoop::processEvents (this=0xbfd05810, flags=@0xbfd057d8) at kernel/qeventloop.cpp:142 #26 0xb7e791ca in QEventLoop::exec (this=0xbfd05810, flags=@0xbfd05818) at kernel/qeventloop.cpp:188 #27 0xb7e7b556 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:761 #28 0xb6d786c7 in QApplication::exec () at kernel/qapplication.cpp:3055 #29 0x080d6f65 in main (argc=1, argv=0xbfd05ab4) at /var/tmp/portage/kde-base/kdeedu-9999.4/work/kdeedu-9999.4/parley/src/main.cpp:132 #30 0xb66c7fdc in __libc_start_main (main=0x80d6120 <main>, argc=1, ubp_av=0xbfd05ab4, init=0x80de630 <__libc_csu_init>, fini=0x80de620 <__libc_csu_fini>, rtld_fini=0xb7f77100 <_dl_fini>, stack_end=0xbfd05aac) at libc-start.c:229 #31 0x08062591 in _start () (gdb) Deletion of root lesson is not possible any more (never should have been). |