Bug 375325 - [crash] Saving(Exporting) group layer to png crashes krita
Summary: [crash] Saving(Exporting) group layer to png crashes krita
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-01-20 03:13 UTC by Raghavendra kamath
Modified: 2017-01-20 09:36 UTC (History)
0 users

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-01-20 03:13:53 UTC
Application: krita (3.1.88 (git d87034e))
 (Compiled from sources)
Qt Version: 5.7.1
Frameworks Version: 5.30.0
Operating System: Linux 4.8.13-1-ARCH x86_64
Distribution (Platform): Archlinux Packages

-- Information about the crash:
- What I was doing when the application crashed:
I had a group layer with two layers with some brush strokes.
I selected the group and then went to layer menu > Import/Export > Save Group Layers

A dialog popped up, i chose the location for the save and selected png as the resulting format (I think it was exr by default)

the moment I clicked "ok" krita crashed and triggered Dr. konqi

Below is the Backtrace from Konqi

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 0x7f322496a840 (LWP 1186))]

Thread 5 (Thread 0x7f31d25ad700 (LWP 1201)):
#0  0x00007f3217e1010f in pthread_cond_wait@@GLIBC_2.3.2 () from /usr/lib/libpthread.so.0
#1  0x00007f321a048b9b in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib/libQt5Core.so.5
#2  0x00007f321b326c41 in ?? () from /usr/lib/libQt5Widgets.so.5
#3  0x00007f321a047ce8 in ?? () from /usr/lib/libQt5Core.so.5
#4  0x00007f3217e0a454 in start_thread () from /usr/lib/libpthread.so.0
#5  0x00007f32194427df in clone () from /usr/lib/libc.so.6

Thread 4 (Thread 0x7f31d2dae700 (LWP 1199)):
#0  0x00007f3217e1010f in pthread_cond_wait@@GLIBC_2.3.2 () from /usr/lib/libpthread.so.0
#1  0x00007f321a048b9b in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib/libQt5Core.so.5
#2  0x00007f321a041d86 in QSemaphore::tryAcquire(int, int) () from /usr/lib/libQt5Core.so.5
#3  0x00007f3222ebb503 in KisTileDataSwapper::waitForWork (this=<optimized out>) at /home/raghu/kf5/src/krita/libs/image/tiles3/swap/kis_tile_data_swapper.cpp:86
#4  0x00007f3222ebb70a in KisTileDataSwapper::run (this=0x7f322337a9e0 <_ZZN12_GLOBAL__N_116Q_QGS_s_instance13innerFunctionEvE6holder+64>) at /home/raghu/kf5/src/krita/libs/image/tiles3/swap/kis_tile_data_swapper.cpp:92
#5  0x00007f321a047ce8 in ?? () from /usr/lib/libQt5Core.so.5
#6  0x00007f3217e0a454 in start_thread () from /usr/lib/libpthread.so.0
#7  0x00007f32194427df in clone () from /usr/lib/libc.so.6

Thread 3 (Thread 0x7f31d35af700 (LWP 1198)):
#0  0x00007f3217e1010f in pthread_cond_wait@@GLIBC_2.3.2 () from /usr/lib/libpthread.so.0
#1  0x00007f321a048b9b in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib/libQt5Core.so.5
#2  0x00007f321a041a93 in QSemaphore::acquire(int) () from /usr/lib/libQt5Core.so.5
#3  0x00007f3222ea19fe in KisTileDataPooler::waitForWork (this=0x7f322337a9a0 <_ZZN12_GLOBAL__N_116Q_QGS_s_instance13innerFunctionEvE6holder>) at /home/raghu/kf5/src/krita/libs/image/tiles3/kis_tile_data_pooler.cc:165
#4  0x00007f3222ea214a in KisTileDataPooler::run (this=0x7f322337a9a0 <_ZZN12_GLOBAL__N_116Q_QGS_s_instance13innerFunctionEvE6holder>) at /home/raghu/kf5/src/krita/libs/image/tiles3/kis_tile_data_pooler.cc:187
#5  0x00007f321a047ce8 in ?? () from /usr/lib/libQt5Core.so.5
#6  0x00007f3217e0a454 in start_thread () from /usr/lib/libpthread.so.0
#7  0x00007f32194427df in clone () from /usr/lib/libc.so.6

Thread 2 (Thread 0x7f3202f6c700 (LWP 1188)):
#0  0x00007f321943948d in poll () from /usr/lib/libc.so.6
#1  0x00007f32151a6786 in ?? () from /usr/lib/libglib-2.0.so.0
#2  0x00007f32151a689c in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#3  0x00007f321a27748b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Core.so.5
#4  0x00007f321a220e9a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Core.so.5
#5  0x00007f321a043053 in QThread::exec() () from /usr/lib/libQt5Core.so.5
#6  0x00007f321d9c8de5 in ?? () from /usr/lib/libQt5DBus.so.5
#7  0x00007f321a047ce8 in ?? () from /usr/lib/libQt5Core.so.5
#8  0x00007f3217e0a454 in start_thread () from /usr/lib/libpthread.so.0
#9  0x00007f32194427df in clone () from /usr/lib/libc.so.6

Thread 1 (Thread 0x7f322496a840 (LWP 1186)):
[KCrash Handler]
#6  KisImage::colorSpace (this=0x0) at /home/raghu/kf5/src/krita/libs/image/kis_image.cc:894
#7  0x00007f3222feac11 in KisPaintLayer::KisPaintLayer (this=0xc8443f0, image=..., name=..., opacity=<optimized out>) at /home/raghu/kf5/src/krita/libs/image/kis_paint_layer.cc:81
#8  0x00007f32243c0e1d in KisSaveGroupVisitor::visit (this=0x7ffca56564e0, layer=0xa31cbf0) at /home/raghu/kf5/src/krita/libs/ui/KisSaveGroupVisitor.cpp:111
#9  0x00007f32243c16af in KisSaveGroupVisitor::visit (this=0x7ffca56564e0, layer=<optimized out>) at /home/raghu/kf5/src/krita/libs/ui/KisSaveGroupVisitor.cpp:97
#10 0x00007f322415906b in KisLayerManager::saveGroupLayers (this=<optimized out>) at /home/raghu/kf5/src/krita/libs/ui/kis_layer_manager.cc:768
#11 0x00007f32243eb965 in KisLayerManager::qt_static_metacall (_o=<optimized out>, _c=<optimized out>, _id=<optimized out>, _a=0x7ffca56566d0) at /home/raghu/kf5/build/libs/ui/kritaui_automoc.dir/moc_kis_layer_mana_63G2RVYG2KBXSS.cpp:168
#12 0x00007f321a24e239 in QMetaObject::activate(QObject*, int, int, void**) () from /usr/lib/libQt5Core.so.5
#13 0x00007f321b0fa992 in QAction::triggered(bool) () from /usr/lib/libQt5Widgets.so.5
#14 0x00007f321b0fd380 in QAction::activate(QAction::ActionEvent) () from /usr/lib/libQt5Widgets.so.5
#15 0x00007f321b26cb2a in ?? () from /usr/lib/libQt5Widgets.so.5
#16 0x00007f321b2741b4 in ?? () from /usr/lib/libQt5Widgets.so.5
#17 0x00007f321b275186 in QMenu::mouseReleaseEvent(QMouseEvent*) () from /usr/lib/libQt5Widgets.so.5
#18 0x00007f321b1489f8 in QWidget::event(QEvent*) () from /usr/lib/libQt5Widgets.so.5
#19 0x00007f321b2774b3 in QMenu::event(QEvent*) () from /usr/lib/libQt5Widgets.so.5
#20 0x00007f321b10135c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/libQt5Widgets.so.5
#21 0x00007f321b10998d in QApplication::notify(QObject*, QEvent*) () from /usr/lib/libQt5Widgets.so.5
#22 0x00007f3224329607 in KisApplication::notify (this=<optimized out>, receiver=0xa9e6eb0, event=0x7ffca5656d90) at /home/raghu/kf5/src/krita/libs/ui/KisApplication.cpp:537
#23 0x00007f321a222a40 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /usr/lib/libQt5Core.so.5
#24 0x00007f321b10803d in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) () from /usr/lib/libQt5Widgets.so.5
#25 0x00007f321b163506 in ?? () from /usr/lib/libQt5Widgets.so.5
#26 0x00007f321b165b03 in ?? () from /usr/lib/libQt5Widgets.so.5
#27 0x00007f321b10135c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/libQt5Widgets.so.5
#28 0x00007f321b108ad1 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/libQt5Widgets.so.5
#29 0x00007f3224329607 in KisApplication::notify (this=<optimized out>, receiver=0xaf231f0, event=0x7ffca5657220) at /home/raghu/kf5/src/krita/libs/ui/KisApplication.cpp:537
#30 0x00007f321a222a40 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /usr/lib/libQt5Core.so.5
#31 0x00007f321a768663 in QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) () from /usr/lib/libQt5Gui.so.5
#32 0x00007f321a76a1e5 in QGuiApplicationPrivate::processWindowSystemEvent(QWindowSystemInterfacePrivate::WindowSystemEvent*) () from /usr/lib/libQt5Gui.so.5
#33 0x00007f321a74815b in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Gui.so.5
#34 0x00007f321040fda0 in ?? () from /usr/lib/libQt5XcbQpa.so.5
#35 0x00007f32151a6587 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#36 0x00007f32151a67f0 in ?? () from /usr/lib/libglib-2.0.so.0
#37 0x00007f32151a689c in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#38 0x00007f321a27746f in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Core.so.5
#39 0x00007f321a220e9a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Core.so.5
#40 0x00007f321a22939c in QCoreApplication::exec() () from /usr/lib/libQt5Core.so.5
#41 0x0000000000404f64 in main (argc=<optimized out>, argv=<optimized out>) at /home/raghu/kf5/src/krita/krita/main.cc:258

Reported using DrKonqi
Comment 1 Halla Rempt 2017-01-20 09:36:59 UTC
Git commit 00a6f6877908f62e1cdd272fc4a553293b4ae607 by Boudewijn Rempt.
Committed on 20/01/2017 at 09:36.
Pushed by rempt into branch 'master'.

The weak shared pointer allowed the image to be set to 0.

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

https://commits.kde.org/krita/00a6f6877908f62e1cdd272fc4a553293b4ae607