Summary: | Crash of Palapeli at the end of the puzzle's reconstitution | ||
---|---|---|---|
Product: | [Applications] palapeli | Reporter: | Pichouett <ggforhan> |
Component: | general | Assignee: | Stefan Majewsky <majewsky> |
Status: | RESOLVED WORKSFORME | ||
Severity: | crash | CC: | aacid, andrew.crouthamel, aschuch247, iandw.au, justin.zobel, kde-games-bugs, walch.martin |
Priority: | NOR | ||
Version: | 2.0 | ||
Target Milestone: | --- | ||
Platform: | Mint (Ubuntu based) | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: | ||
Sentry Crash Report: |
Description
Pichouett
2012-12-27 15:13:38 UTC
Application: palapeli (1.2) (master 427b868) KDE Platform Version: 4.10.5 Qt Version: 4.8.4 Operating System: Linux 3.8.0-35-generic x86_64 Distribution: Ubuntu 13.04 -- Information about the crash: - Custom settings of the application: I was using an own jigsaw with 250 pieces. The crash happened during the game. I was not even close to finishing it - maybe around 10%. I compiled the source myself from current git master (master 427b868). -- Backtrace: Application: Palapeli (palapeli), signal: Segmentation fault Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1". [Current thread is 1 (Thread 0x7fd83f7927c0 (LWP 12266))] Thread 3 (Thread 0x7fd82e4c0700 (LWP 12267)): #0 0x00007fd839058280 in pthread_mutex_lock@plt () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #1 0x00007fd8390c65c1 in g_mutex_lock () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #2 0x00007fd8390871c2 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #3 0x00007fd839087304 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #4 0x00007fd83de7b036 in QEventDispatcherGlib::processEvents (this=0x7fd8280008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:426 #5 0x00007fd83de4b38f in QEventLoop::processEvents (this=this@entry=0x7fd82e4bfd90, flags=...) at kernel/qeventloop.cpp:149 #6 0x00007fd83de4b618 in QEventLoop::exec (this=this@entry=0x7fd82e4bfd90, flags=...) at kernel/qeventloop.cpp:204 #7 0x00007fd83dd4d410 in QThread::exec (this=this@entry=0xa8e910) at thread/qthread.cpp:542 #8 0x00007fd83de2cedf in QInotifyFileSystemWatcherEngine::run (this=0xa8e910) at io/qfilesystemwatcher_inotify.cpp:256 #9 0x00007fd83dd4fbec in QThreadPrivate::start (arg=0xa8e910) at thread/qthread_unix.cpp:338 #10 0x00007fd839749f8e in start_thread (arg=0x7fd82e4c0700) at pthread_create.c:311 #11 0x00007fd83c750a0d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113 Thread 2 (Thread 0x7fd81d16d700 (LWP 12304)): #0 0x00007fd83c743fbd in poll () at ../sysdeps/unix/syscall-template.S:81 #1 0x00007fd8390871dc in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #2 0x00007fd839087304 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #3 0x00007fd83de7b036 in QEventDispatcherGlib::processEvents (this=0x7fd8100008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:426 #4 0x00007fd83de4b38f in QEventLoop::processEvents (this=this@entry=0x7fd81d16cd90, flags=...) at kernel/qeventloop.cpp:149 #5 0x00007fd83de4b618 in QEventLoop::exec (this=this@entry=0x7fd81d16cd90, flags=...) at kernel/qeventloop.cpp:204 #6 0x00007fd83dd4d410 in QThread::exec (this=this@entry=0x4f14320) at thread/qthread.cpp:542 #7 0x00007fd83de2cedf in QInotifyFileSystemWatcherEngine::run (this=0x4f14320) at io/qfilesystemwatcher_inotify.cpp:256 #8 0x00007fd83dd4fbec in QThreadPrivate::start (arg=0x4f14320) at thread/qthread_unix.cpp:338 #9 0x00007fd839749f8e in start_thread (arg=0x7fd81d16d700) at pthread_create.c:311 #10 0x00007fd83c750a0d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113 Thread 1 (Thread 0x7fd83f7927c0 (LWP 12266)): [KCrash Handler] #6 0x00007fd83de62e4f in QObject::disconnect (sender=sender@entry=0x3552000, signal=signal@entry=0x0, receiver=receiver@entry=0xa595b0, method=method@entry=0x0) at kernel/qobject.cpp:2887 #7 0x0000000000432472 in Palapeli::MovePieceInteractor::stopInteraction (this=0xa595b0, event=...) at /home/aschuch/repository/git/anongit.kde.org/palapeli/src/engine/interactors.cpp:129 #8 0x00000000004310ea in setInactive (this=0xa595c0) at /home/aschuch/repository/git/anongit.kde.org/palapeli/src/engine/interactor.cpp:122 #9 Palapeli::Interactor::setInactive (this=0xa595c0) at /home/aschuch/repository/git/anongit.kde.org/palapeli/src/engine/interactor.cpp:117 #10 0x0000000000433b8f in Palapeli::InteractorManager::handleEventCommon (this=this@entry=0xa75cc0, pEvent=..., interactorData=..., unhandledButtons=...) at /home/aschuch/repository/git/anongit.kde.org/palapeli/src/engine/interactormanager.cpp:140 #11 0x0000000000434000 in Palapeli::InteractorManager::handleEvent (this=0xa75cc0, event=event@entry=0x7fff053af2e0) at /home/aschuch/repository/git/anongit.kde.org/palapeli/src/engine/interactormanager.cpp:106 #12 0x000000000044691d in Palapeli::View::mouseReleaseEvent (this=<optimized out>, event=0x7fff053af2e0) at /home/aschuch/repository/git/anongit.kde.org/palapeli/src/engine/view.cpp:119 #13 0x00007fd83d23fa89 in QWidget::event (this=this@entry=0xa83b60, event=event@entry=0x7fff053af2e0) at kernel/qwidget.cpp:8375 #14 0x00007fd83d5f2486 in QFrame::event (this=0xa83b60, e=0x7fff053af2e0) at widgets/qframe.cpp:557 #15 0x00007fd83d80a24b in QGraphicsView::viewportEvent (this=0xa83b60, event=0x7fff053af2e0) at graphicsview/qgraphicsview.cpp:2866 #16 0x00007fd83de4c7a6 in QCoreApplicationPrivate::sendThroughObjectEventFilters (this=this@entry=0x884f90, receiver=receiver@entry=0xa41750, event=event@entry=0x7fff053af2e0) at kernel/qcoreapplication.cpp:1056 #17 0x00007fd83d1f28bc in QApplicationPrivate::notify_helper (this=this@entry=0x884f90, receiver=receiver@entry=0xa41750, e=e@entry=0x7fff053af2e0) at kernel/qapplication.cpp:4563 #18 0x00007fd83d1f5a33 in QApplication::notify (this=this@entry=0x7fff053aff50, receiver=receiver@entry=0xa41750, e=e@entry=0x7fff053af2e0) at kernel/qapplication.cpp:4110 #19 0x00007fd83eaeb1a6 in KApplication::notify (this=0x7fff053aff50, receiver=0xa41750, event=0x7fff053af2e0) at ../../kdeui/kernel/kapplication.cpp:311 #20 0x00007fd83de4c63e in QCoreApplication::notifyInternal (this=0x7fff053aff50, receiver=receiver@entry=0xa41750, event=event@entry=0x7fff053af2e0) at kernel/qcoreapplication.cpp:946 #21 0x00007fd83d1f8933 in sendEvent (event=<optimized out>, receiver=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:231 #22 QApplicationPrivate::sendMouseEvent (receiver=receiver@entry=0xa41750, event=event@entry=0x7fff053af2e0, alienWidget=alienWidget@entry=0xa41750, nativeWidget=nativeWidget@entry=0x9fc800, buttonDown=buttonDown@entry=0x7fd83dcd0308 <qt_button_down>, lastMouseReceiver=..., spontaneous=spontaneous@entry=true) at kernel/qapplication.cpp:3178 #23 0x00007fd83d26de54 in QETWidget::translateMouseEvent (this=this@entry=0x9fc800, event=event@entry=0x7fff053afa60) at kernel/qapplication_x11.cpp:4631 #24 0x00007fd83d26ce81 in QApplication::x11ProcessEvent (this=0x7fff053aff50, event=event@entry=0x7fff053afa60) at kernel/qapplication_x11.cpp:3746 #25 0x00007fd83d298042 in x11EventSourceDispatch (s=0x871f20, callback=0x0, user_data=0x0) at kernel/qguieventdispatcher_glib.cpp:146 #26 0x00007fd839086f05 in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #27 0x00007fd839087248 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #28 0x00007fd839087304 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #29 0x00007fd83de7b016 in QEventDispatcherGlib::processEvents (this=0x85a3f0, flags=...) at kernel/qeventdispatcher_glib.cpp:424 #30 0x00007fd83d29813e in QGuiEventDispatcherGlib::processEvents (this=<optimized out>, flags=...) at kernel/qguieventdispatcher_glib.cpp:204 #31 0x00007fd83de4b38f in QEventLoop::processEvents (this=this@entry=0x7fff053afe30, flags=...) at kernel/qeventloop.cpp:149 #32 0x00007fd83de4b618 in QEventLoop::exec (this=this@entry=0x7fff053afe30, flags=...) at kernel/qeventloop.cpp:204 #33 0x00007fd83de50cf6 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1218 #34 0x00007fd83d1f0ffc in QApplication::exec () at kernel/qapplication.cpp:3828 #35 0x00000000004258d5 in main (argc=1, argv=0x7fff053b0088) at /home/aschuch/repository/git/anongit.kde.org/palapeli/src/main.cpp:54 *** Bug 336075 has been marked as a duplicate of this bug. *** Dear Bug Submitter, This bug has been stagnant for a long time. Could you help us out and re-test if the bug is valid in the latest version? I am setting the status to NEEDSINFO pending your response, please change the Status back to REPORTED when you respond. Thank you for helping us make KDE software even better for everyone! Hi, since I installed another version of Linux and the new version of palapeli, I wasn't able to reproduce. I guess we can close this bug report. Many thanks for the investigation Gérald As the last maintainer of Palapeli, I think it is premature to close this bug and others like it. I believe that they share the same underlying cause and I see nothing in the commit history https://phabricator.kde.org/source/palapeli/history/master/ to suggest that the bugs have been fixed since September 2017. They were certainly active then and resisted efforts by Christian Ehrlicher and myself to nail them down. They are highly intermittent and non-reproducible. See the kde-games-devel archive at https://mail.kde.org/pipermail/kde-games-devel/2017-September/thread.html for discussions of the issues. Back then I did try Christian's idea of extending the animation time for the "merge pieces" action, but still failed to reproduce the problem as it occurs during normal game-play. Unfortunately I am unable to try the KF5 and Qt5 version of Palapeli. That said, the bugs are very annoying but fairly harmless when they cause Palapeli to crash, because Palapeli saves the puzzle state every 2 seconds and the user gets a fairly "hot" recovery when he/she re-runs Palapeli. Crashes occur intermittently around once per hour on large puzzles. Other bugs that I believe are related to this one (bug 312267) are bug 31194, bug 303059 and bug 336075. Christian resolved the last of those in Sept 2017 (D7637), see https://phabricator.kde.org/R423:39cf28839784a4daca127ca4032e55239732def4 The most commonly occurring crashes are represented by 31194 and 303059. Set back to REPORTED per Ian. Thank you for the report. As it has been a while since this was reported, can you please test and confirm if this issue is still occurring or if this bug report can be marked as resolved. I have set the bug status to "needsinfo" pending your response, please change back to "reported" or "resolved/worksforme" when you respond, thank you. Dear Bug Submitter, This bug has been in NEEDSINFO status with no change for at least 15 days. Please provide the requested information as soon as possible and set the bug status as REPORTED. Due to regular bug tracker maintenance, if the bug is still in NEEDSINFO status with no change in 30 days the bug will be closed as RESOLVED > WORKSFORME due to lack of needed information. For more information about our bug triaging procedures please read the wiki located here: https://community.kde.org/Guidelines_and_HOWTOs/Bug_triaging If you have already provided the requested information, please mark the bug as REPORTED so that the KDE team knows that the bug is ready to be confirmed. Thank you for helping us make KDE software even better for everyone! It has been some time since I wrote comment 5, https://bugs.kde.org/show_bug.cgi?id=312267#c5, but I have not been able to reproduce this bug nor have I been able to diagnose it by reading the code. This bug and its duplicates appear to be due to a race condition between mouse events involved in drag-and-drop and a QAnimation invoked when it is decided that pieces that fit have been dragged close enough together to be merged. During the merge, the objects (type Piece) representing pieces to merge are deleted and a new Piece object is created. If the race condition occurs, a deleted Piece can be referenced while processing a mouse event or while making an animation move --- as seen in the crash reports. These crashes used to be quite common and I used to experience them myself when playing Palapeli. However, Palapeli saves its state every two seconds, so a "hot" recovery from the crashes was always available. That said, I have not experienced such a crash for several years nor have I seen one reported recently. Therefore I can only conclude that the crashes have "gone away" due to some change in Qt, such as delaying the timing of QObject::deleteLater(). So, indeed yes, please change the status of this bug and all related bugs to RESOLVED > WORKSFORME. Thanks Ian. I'll leave it open for now as others had the same issue. If nobody else replies then it'll close automatically in time. Dear Bug Submitter, This bug has been in NEEDSINFO status with no change for at least 15 days. Please provide the requested information as soon as possible and set the bug status as REPORTED. Due to regular bug tracker maintenance, if the bug is still in NEEDSINFO status with no change in 30 days the bug will be closed as RESOLVED > WORKSFORME due to lack of needed information. For more information about our bug triaging procedures please read the wiki located here: https://community.kde.org/Guidelines_and_HOWTOs/Bug_triaging If you have already provided the requested information, please mark the bug as REPORTED so that the KDE team knows that the bug is ready to be confirmed. Thank you for helping us make KDE software even better for everyone! This bug has been in NEEDSINFO status with no change for at least 30 days. The bug is now closed as RESOLVED > WORKSFORME due to lack of needed information. For more information about our bug triaging procedures please read the wiki located here: https://community.kde.org/Guidelines_and_HOWTOs/Bug_triaging Thank you for helping us make KDE software even better for everyone! |