Bug 378134 - Crash on exit after pressing 'no' in save warning dialog box.
Summary: Crash on exit after pressing 'no' in save warning dialog box.
Status: RESOLVED FIXED
Alias: None
Product: krita
Classification: Applications
Component: General (show other bugs)
Version: unspecified
Platform: Compiled Sources Linux
: NOR crash
Target Milestone: ---
Assignee: Krita Bugs
URL:
Keywords: drkonqi
Depends on:
Blocks:
 
Reported: 2017-03-27 04:22 UTC by Raghavendra kamath
Modified: 2017-04-25 11:47 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 Raghavendra kamath 2017-03-27 04:22:29 UTC
Application: krita (3.1.88 (git cb56566))
 (Compiled from sources)
Qt Version: 5.8.0
Frameworks Version: 5.32.0
Operating System: Linux 4.10.5-1-ARCH x86_64
Distribution: "Arch Linux"

-- Information about the crash:
- What I was doing when the application crashed:
Krita crashed after I exported a png to jpg and closed the document.
I have seen this random crash on document close at other times too. But if my observation is correct it happens mostly after doing export and close. I may be wrong in this assumption though.

The crash can be reproduced every time.

-- Backtrace:
Application: Krita (krita), signal: Segmentation fault
Using host libthread_db library "/usr/lib/libthread_db.so.1".
[Current thread is 1 (Thread 0x7ff03c8a2840 (LWP 9436))]

Thread 7 (Thread 0x7fefd3fff700 (LWP 9457)):
#0  0x00007ff02fcb1756 in pthread_cond_wait@@GLIBC_2.3.2 () from /usr/lib/libpthread.so.0
#1  0x00007ff031eff58b in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib/libQt5Core.so.5
#2  0x00007ff0331e4a71 in ?? () from /usr/lib/libQt5Widgets.so.5
#3  0x00007ff031efe6d8 in ?? () from /usr/lib/libQt5Core.so.5
#4  0x00007ff02fcab2e7 in start_thread () from /usr/lib/libpthread.so.0
#5  0x00007ff0312e754f in clone () from /usr/lib/libc.so.6

Thread 6 (Thread 0x7fefdcf31700 (LWP 9456)):
#0  0x00007ff02fcb1756 in pthread_cond_wait@@GLIBC_2.3.2 () from /usr/lib/libpthread.so.0
#1  0x00007ff031eff58b in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib/libQt5Core.so.5
#2  0x00007ff031ef87c6 in QSemaphore::tryAcquire(int, int) () from /usr/lib/libQt5Core.so.5
#3  0x00007ff03add0e73 in KisTileDataSwapper::waitForWork (this=<optimized out>) at /run/media/raghu/Data/krita-build/src/krita/libs/image/tiles3/swap/kis_tile_data_swapper.cpp:86
#4  0x00007ff03add107a in KisTileDataSwapper::run (this=0x7ff03b2868e0 <_ZZN12_GLOBAL__N_116Q_QGS_s_instance13innerFunctionEvE6holder+64>) at /run/media/raghu/Data/krita-build/src/krita/libs/image/tiles3/swap/kis_tile_data_swapper.cpp:92
#5  0x00007ff031efe6d8 in ?? () from /usr/lib/libQt5Core.so.5
#6  0x00007ff02fcab2e7 in start_thread () from /usr/lib/libpthread.so.0
#7  0x00007ff0312e754f in clone () from /usr/lib/libc.so.6

Thread 5 (Thread 0x7fefdd732700 (LWP 9455)):
#0  0x00007ff02fcb1756 in pthread_cond_wait@@GLIBC_2.3.2 () from /usr/lib/libpthread.so.0
#1  0x00007ff031eff58b in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib/libQt5Core.so.5
#2  0x00007ff031ef84d3 in QSemaphore::acquire(int) () from /usr/lib/libQt5Core.so.5
#3  0x00007ff03adb71be in KisTileDataPooler::waitForWork (this=0x7ff03b2868a0 <_ZZN12_GLOBAL__N_116Q_QGS_s_instance13innerFunctionEvE6holder>) at /run/media/raghu/Data/krita-build/src/krita/libs/image/tiles3/kis_tile_data_pooler.cc:165
#4  0x00007ff03adb790a in KisTileDataPooler::run (this=0x7ff03b2868a0 <_ZZN12_GLOBAL__N_116Q_QGS_s_instance13innerFunctionEvE6holder>) at /run/media/raghu/Data/krita-build/src/krita/libs/image/tiles3/kis_tile_data_pooler.cc:187
#5  0x00007ff031efe6d8 in ?? () from /usr/lib/libQt5Core.so.5
#6  0x00007ff02fcab2e7 in start_thread () from /usr/lib/libpthread.so.0
#7  0x00007ff0312e754f in clone () from /usr/lib/libc.so.6

Thread 4 (Thread 0x7ff019577700 (LWP 9440)):
#0  0x00007ff0312dd67d in poll () from /usr/lib/libc.so.6
#1  0x00007ff02d24f7a6 in ?? () from /usr/lib/libglib-2.0.so.0
#2  0x00007ff02d24f8bc in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#3  0x00007ff03212e06b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Core.so.5
#4  0x00007ff0320d789a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Core.so.5
#5  0x00007ff031ef9a73 in QThread::exec() () from /usr/lib/libQt5Core.so.5
#6  0x00007ff035884125 in ?? () from /usr/lib/libQt5DBus.so.5
#7  0x00007ff031efe6d8 in ?? () from /usr/lib/libQt5Core.so.5
#8  0x00007ff02fcab2e7 in start_thread () from /usr/lib/libpthread.so.0
#9  0x00007ff0312e754f in clone () from /usr/lib/libc.so.6

Thread 3 (Thread 0x7ff01b210700 (LWP 9439)):
#0  0x00007ff02fcb1ca6 in pthread_cond_timedwait@@GLIBC_2.3.2 () from /usr/lib/libpthread.so.0
#1  0x00007ff01d2bee44 in ?? () from /usr/lib/libGLX_nvidia.so.0
#2  0x00007ff01bfdc394 in ?? () from /usr/lib/libnvidia-glcore.so.378.13
#3  0x00007ff01d2be12c in ?? () from /usr/lib/libGLX_nvidia.so.0
#4  0x00007ff02fcab2e7 in start_thread () from /usr/lib/libpthread.so.0
#5  0x00007ff0312e754f in clone () from /usr/lib/libc.so.6

Thread 2 (Thread 0x7ff026574700 (LWP 9437)):
#0  0x00007ff0312dd67d in poll () from /usr/lib/libc.so.6
#1  0x00007ff0354408e0 in ?? () from /usr/lib/libxcb.so.1
#2  0x00007ff035442679 in xcb_wait_for_event () from /usr/lib/libxcb.so.1
#3  0x00007ff0284a0239 in ?? () from /usr/lib/libQt5XcbQpa.so.5
#4  0x00007ff031efe6d8 in ?? () from /usr/lib/libQt5Core.so.5
#5  0x00007ff02fcab2e7 in start_thread () from /usr/lib/libpthread.so.0
#6  0x00007ff0312e754f in clone () from /usr/lib/libc.so.6

Thread 1 (Thread 0x7ff03c8a2840 (LWP 9436)):
[KCrash Handler]
#6  0x00007ff03c2e53ec in KisPaletteModel::data (this=0x9ff7c60, index=..., role=8) at /run/media/raghu/Data/krita-build/src/krita/libs/ui/KisPaletteModel.cpp:70
#7  0x00007ff03c2e5a5a in QModelIndex::data (arole=8, this=0x7ffcc8935a40) at /usr/include/qt/QtCore/qabstractitemmodel.h:432
#8  KisPaletteDelegate::paint (this=0x9ff3760, painter=0x7ffcc8935a00, option=..., index=...) at /run/media/raghu/Data/krita-build/src/krita/libs/ui/kis_palette_delegate.cpp:59
#9  0x00007ff033239b6d in ?? () from /usr/lib/libQt5Widgets.so.5
#10 0x00007ff0332433b6 in QTableView::paintEvent(QPaintEvent*) () from /usr/lib/libQt5Widgets.so.5
#11 0x00007ff033006cd8 in QWidget::event(QEvent*) () from /usr/lib/libQt5Widgets.so.5
#12 0x00007ff0330eeece in QFrame::event(QEvent*) () from /usr/lib/libQt5Widgets.so.5
#13 0x00007ff033215ed3 in QAbstractItemView::viewportEvent(QEvent*) () from /usr/lib/libQt5Widgets.so.5
#14 0x00007ff0320d91a1 in QCoreApplicationPrivate::sendThroughObjectEventFilters(QObject*, QEvent*) () from /usr/lib/libQt5Core.so.5
#15 0x00007ff032fbf325 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/libQt5Widgets.so.5
#16 0x00007ff032fc6b61 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/libQt5Widgets.so.5
#17 0x00007ff03c2556e7 in KisApplication::notify (this=<optimized out>, receiver=0x9fd9730, event=0x7ffcc89360c0) at /run/media/raghu/Data/krita-build/src/krita/libs/ui/KisApplication.cpp:542
#18 0x00007ff0320d9440 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /usr/lib/libQt5Core.so.5
#19 0x00007ff032fffa3a in QWidgetPrivate::sendPaintEvent(QRegion const&) () from /usr/lib/libQt5Widgets.so.5
#20 0x00007ff0330000a6 in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /usr/lib/libQt5Widgets.so.5
#21 0x00007ff033000dac in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /usr/lib/libQt5Widgets.so.5
#22 0x00007ff033000c99 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /usr/lib/libQt5Widgets.so.5
#23 0x00007ff033000c99 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /usr/lib/libQt5Widgets.so.5
#24 0x00007ff032fffc04 in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /usr/lib/libQt5Widgets.so.5
#25 0x00007ff033000dac in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /usr/lib/libQt5Widgets.so.5
#26 0x00007ff032fffc04 in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /usr/lib/libQt5Widgets.so.5
#27 0x00007ff033000dac in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /usr/lib/libQt5Widgets.so.5
#28 0x00007ff032fffc04 in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /usr/lib/libQt5Widgets.so.5
#29 0x00007ff033000dac in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /usr/lib/libQt5Widgets.so.5
#30 0x00007ff033000c99 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /usr/lib/libQt5Widgets.so.5
#31 0x00007ff033000c99 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /usr/lib/libQt5Widgets.so.5
#32 0x00007ff033000c99 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /usr/lib/libQt5Widgets.so.5
#33 0x00007ff033000c99 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /usr/lib/libQt5Widgets.so.5
#34 0x00007ff033000c99 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /usr/lib/libQt5Widgets.so.5
#35 0x00007ff033000c99 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /usr/lib/libQt5Widgets.so.5
#36 0x00007ff033000c99 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /usr/lib/libQt5Widgets.so.5
#37 0x00007ff033000c99 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /usr/lib/libQt5Widgets.so.5
#38 0x00007ff033000c99 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /usr/lib/libQt5Widgets.so.5
#39 0x00007ff033000c99 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /usr/lib/libQt5Widgets.so.5
#40 0x00007ff033000c99 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /usr/lib/libQt5Widgets.so.5
#41 0x00007ff033000c99 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /usr/lib/libQt5Widgets.so.5
#42 0x00007ff032fffc04 in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /usr/lib/libQt5Widgets.so.5
#43 0x00007ff032fcf778 in ?? () from /usr/lib/libQt5Widgets.so.5
#44 0x00007ff032fcf922 in ?? () from /usr/lib/libQt5Widgets.so.5
#45 0x00007ff032feee7f in QWidgetPrivate::syncBackingStore() () from /usr/lib/libQt5Widgets.so.5
#46 0x00007ff033006da8 in QWidget::event(QEvent*) () from /usr/lib/libQt5Widgets.so.5
#47 0x00007ff033105d0b in QMainWindow::event(QEvent*) () from /usr/lib/libQt5Widgets.so.5
#48 0x00007ff038b62e57 in KMainWindow::event (this=this@entry=0x8b51a70, ev=ev@entry=0xaf10030) at /run/media/raghu/Data/krita-build/src/krita/libs/widgetutils/xmlgui/kmainwindow.cpp:780
#49 0x00007ff038b99819 in KXmlGuiWindow::event (this=0x8b51a70, ev=0xaf10030) at /run/media/raghu/Data/krita-build/src/krita/libs/widgetutils/xmlgui/kxmlguiwindow.cpp:125
#50 0x00007ff032fbf34c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/libQt5Widgets.so.5
#51 0x00007ff032fc6b61 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/libQt5Widgets.so.5
#52 0x00007ff03c2556e7 in KisApplication::notify (this=<optimized out>, receiver=0x8b51a70, event=0xaf10030) at /run/media/raghu/Data/krita-build/src/krita/libs/ui/KisApplication.cpp:542
#53 0x00007ff0320d9440 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /usr/lib/libQt5Core.so.5
#54 0x00007ff0320dbbcd in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () from /usr/lib/libQt5Core.so.5
#55 0x00007ff03212dc43 in ?? () from /usr/lib/libQt5Core.so.5
#56 0x00007ff02d24f5a7 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#57 0x00007ff02d24f810 in ?? () from /usr/lib/libglib-2.0.so.0
#58 0x00007ff02d24f8bc in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#59 0x00007ff03212e04f in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Core.so.5
#60 0x00007ff0320d789a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Core.so.5
#61 0x00007ff0320dfde4 in QCoreApplication::exec() () from /usr/lib/libQt5Core.so.5
#62 0x000000000040538a in main (argc=<optimized out>, argv=<optimized out>) at /run/media/raghu/Data/krita-build/src/krita/krita/main.cc:269

Reported using DrKonqi
Comment 1 Raghavendra kamath 2017-03-27 06:35:48 UTC
I forgot to mention an important information. I am using the svg/loading branch and this happens in that branch.
Comment 2 Dmitry Kazakov 2017-04-10 11:48:04 UTC
I couldn't yet reproduce the crash, but after exporting, there is some leak of the tiles reported
Comment 3 Dmitry Kazakov 2017-04-10 13:51:41 UTC
Git commit 8efc7400b53c3983a28460305c15ef7e355df272 by Dmitry Kazakov.
Committed on 10/04/2017 at 13:51.
Pushed by dkazakov into branch 'master'.

Fix memory leak in the PNG converter

M  +2    -1    libs/ui/kis_png_converter.cpp

https://commits.kde.org/krita/8efc7400b53c3983a28460305c15ef7e355df272
Comment 4 Raghavendra kamath 2017-04-11 08:44:57 UTC
Update : This happens with master, and not reproducible with  latest appimage (krita-3.1.3-beta.1).

My version of qt is 5.8 on arch linux.
Comment 5 Dmitry Kazakov 2017-04-17 12:03:49 UTC
Git commit 31c06ca9671904fbe49e92a01d93bbc3a20dacbb by Dmitry Kazakov.
Committed on 17/04/2017 at 11:38.
Pushed by dkazakov into branch 'krita/3.1'.

Fix memory leak in the PNG converter

M  +2    -1    libs/ui/kis_png_converter.cpp

https://commits.kde.org/krita/31c06ca9671904fbe49e92a01d93bbc3a20dacbb
Comment 6 Halla Rempt 2017-04-25 11:47:49 UTC
Git commit 77540d4be574b5b38b265c7cc22a2e574f1bab5f by Boudewijn Rempt.
Committed on 25/04/2017 at 11:46.
Pushed by rempt into branch 'master'.

Timing issues on closing krita can lead to the display
renderer being gone before the palette docker is closed,
which is why we put the pointer in a QPointer.

M  +1    -1    libs/ui/KisPaletteModel.cpp

https://commits.kde.org/krita/77540d4be574b5b38b265c7cc22a2e574f1bab5f