Bug 363039 - Clicking on the import resource (folder icon) button to import a palette crashes Krita
Summary: Clicking on the import resource (folder icon) button to import a palette cras...
Status: RESOLVED FIXED
Alias: None
Product: krita
Classification: Applications
Component: General (show other bugs)
Version: 3.0 Beta
Platform: unspecified Microsoft Windows
: NOR crash
Target Milestone: ---
Assignee: Krita Bugs
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2016-05-13 17:17 UTC by eduardelriceam
Modified: 2016-05-14 08:52 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description eduardelriceam 2016-05-13 17:17:04 UTC
When I try to open palettes in the palette docker it crash the program

Reproducible: Always

Steps to Reproduce:
1. try to open a palette in the palette docker
2. crash
3.



https://youtu.be/SkLZHi3c1tQ
win 64 build on windows 10
Comment 1 wolthera 2016-05-13 18:15:09 UTC
I can reproduce this, but gdb backtrace it, because of the modal window making it impossible for me to switch away.
Comment 2 Raghavendra kamath 2016-05-13 18:28:39 UTC
I can reproduce this too on arch linux.

pressing the file browsing icon in the palette import section crashes krita.

I got the following back-trace from Dr. konqi


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

Thread 5 (Thread 0x7f5f33af3700 (LWP 13089)):
#0  0x00007f5f4da27339 in QMutex::unlock() () from /usr/lib/libQt5Core.so.5
#1  0x00007f5f4dc5ad91 in ?? () from /usr/lib/libQt5Core.so.5
#2  0x00007f5f4824b68d in g_main_context_prepare () from /usr/lib/libglib-2.0.so.0
#3  0x00007f5f4824c02b in ?? () from /usr/lib/libglib-2.0.so.0
#4  0x00007f5f4824c20c in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#5  0x00007f5f4dc5b6eb in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Core.so.5
#6  0x00007f5f4dc0346a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Core.so.5
#7  0x00007f5f4da2a2f3 in QThread::exec() () from /usr/lib/libQt5Core.so.5
#8  0x00007f5f49068a65 in ?? () from /usr/lib/libQt5DBus.so.5
#9  0x00007f5f4da2f1d8 in ?? () from /usr/lib/libQt5Core.so.5
#10 0x00007f5f4971a474 in start_thread () from /usr/lib/libpthread.so.0
#11 0x00007f5f4ce2969d in clone () from /usr/lib/libc.so.6

Thread 4 (Thread 0x7f5f1e2a2700 (LWP 13090)):
#0  0x00007f5f4972009f in pthread_cond_wait@@GLIBC_2.3.2 () from /usr/lib/libpthread.so.0
#1  0x00007f5f4da3008b in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib/libQt5Core.so.5
#2  0x00007f5f4da28d53 in QSemaphore::acquire(int) () from /usr/lib/libQt5Core.so.5
#3  0x00007f5f540549fd in KisTileDataPooler::waitForWork (this=0x7f5f54530b60 <(anonymous namespace)::Q_QGS_s_instance::innerFunction()::holder>) at /home/raghu/kf5/src/krita/libs/image/tiles3/kis_tile_data_pooler.cc:165
#4  KisTileDataPooler::run (this=0x7f5f54530b60 <(anonymous namespace)::Q_QGS_s_instance::innerFunction()::holder>) at /home/raghu/kf5/src/krita/libs/image/tiles3/kis_tile_data_pooler.cc:187
#5  0x00007f5f4da2f1d8 in ?? () from /usr/lib/libQt5Core.so.5
#6  0x00007f5f4971a474 in start_thread () from /usr/lib/libpthread.so.0
#7  0x00007f5f4ce2969d in clone () from /usr/lib/libc.so.6

Thread 3 (Thread 0x7f5f1daa1700 (LWP 13091)):
#0  0x00007f5f4972009f in pthread_cond_wait@@GLIBC_2.3.2 () from /usr/lib/libpthread.so.0
#1  0x00007f5f4da3008b in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib/libQt5Core.so.5
#2  0x00007f5f4da29046 in QSemaphore::tryAcquire(int, int) () from /usr/lib/libQt5Core.so.5
#3  0x00007f5f54070023 in KisTileDataSwapper::waitForWork (this=<optimized out>) at /home/raghu/kf5/src/krita/libs/image/tiles3/swap/kis_tile_data_swapper.cpp:86
#4  0x00007f5f5407022a in KisTileDataSwapper::run (this=0x7f5f54530ba0 <(anonymous namespace)::Q_QGS_s_instance::innerFunction()::holder+64>) at /home/raghu/kf5/src/krita/libs/image/tiles3/swap/kis_tile_data_swapper.cpp:92
#5  0x00007f5f4da2f1d8 in ?? () from /usr/lib/libQt5Core.so.5
#6  0x00007f5f4971a474 in start_thread () from /usr/lib/libpthread.so.0
#7  0x00007f5f4ce2969d in clone () from /usr/lib/libc.so.6

Thread 2 (Thread 0x7f5f1d2a0700 (LWP 13092)):
#0  0x00007f5f4972009f in pthread_cond_wait@@GLIBC_2.3.2 () from /usr/lib/libpthread.so.0
#1  0x00007f5f4da3008b in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib/libQt5Core.so.5
#2  0x00007f5f4eb5f139 in ?? () from /usr/lib/libQt5Widgets.so.5
#3  0x00007f5f4da2f1d8 in ?? () from /usr/lib/libQt5Core.so.5
#4  0x00007f5f4971a474 in start_thread () from /usr/lib/libpthread.so.0
#5  0x00007f5f4ce2969d in clone () from /usr/lib/libc.so.6

Thread 1 (Thread 0x7f5f554c1840 (LWP 13087)):
[KCrash Handler]
#5  0x00007f5f4db16739 in QDebug::putString(QChar const*, unsigned long) () from /usr/lib/libQt5Core.so.5
#6  0x00007f5f5102f94c in QDebug::operator<< (t=..., this=0x7ffcaa5ad410) at /usr/include/qt/QtCore/qdebug.h:140
#7  KoFileDialog::getFilterStringListFromMime (this=this@entry=0x7ffcaa5ad850, mimeList=..., withAllSupportedEntry=withAllSupportedEntry@entry=true) at /home/raghu/kf5/src/krita/libs/widgetutils/KoFileDialog.cpp:406
#8  0x00007f5f51031d2a in KoFileDialog::setMimeTypeFilters (this=this@entry=0x7ffcaa5ad850, filterList=..., defaultFilter=...) at /home/raghu/kf5/src/krita/libs/widgetutils/KoFileDialog.cpp:150
#9  0x00007f5f5386ce26 in KoResourceItemChooser::slotButtonClicked (this=0xa597970, button=<optimized out>) at /home/raghu/kf5/src/krita/libs/widgets/KoResourceItemChooser.cpp:205
#10 0x00007f5f4dc32679 in QMetaObject::activate(QObject*, int, int, void**) () from /usr/lib/libQt5Core.so.5
#11 0x00007f5f4ecbb461 in QButtonGroup::buttonClicked(int) () from /usr/lib/libQt5Widgets.so.5
#12 0x00007f5f4ea28a72 in ?? () from /usr/lib/libQt5Widgets.so.5
#13 0x00007f5f4ea29637 in ?? () from /usr/lib/libQt5Widgets.so.5
#14 0x00007f5f4ea29814 in QAbstractButton::mouseReleaseEvent(QMouseEvent*) () from /usr/lib/libQt5Widgets.so.5
#15 0x00007f5f4e972298 in QWidget::event(QEvent*) () from /usr/lib/libQt5Widgets.so.5
#16 0x00007f5f4e92d7bc in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/libQt5Widgets.so.5
#17 0x00007f5f4e933727 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/libQt5Widgets.so.5
#18 0x00007f5f54e93697 in KisApplication::notify (this=<optimized out>, receiver=0xa5a4330, event=0x7ffcaa5adf10) at /home/raghu/kf5/src/krita/libs/ui/KisApplication.cpp:501
#19 0x00007f5f4dc05280 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /usr/lib/libQt5Core.so.5
#20 0x00007f5f4e931ee5 in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) () from /usr/lib/libQt5Widgets.so.5
#21 0x00007f5f4e98c631 in ?? () from /usr/lib/libQt5Widgets.so.5
#22 0x00007f5f4e98e793 in ?? () from /usr/lib/libQt5Widgets.so.5
#23 0x00007f5f4e92d7bc in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/libQt5Widgets.so.5
#24 0x00007f5f4e93295f in QApplication::notify(QObject*, QEvent*) () from /usr/lib/libQt5Widgets.so.5
#25 0x00007f5f54e93697 in KisApplication::notify (this=<optimized out>, receiver=0xadc9a80, event=0x7ffcaa5ae3a0) at /home/raghu/kf5/src/krita/libs/ui/KisApplication.cpp:501
#26 0x00007f5f4dc05280 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /usr/lib/libQt5Core.so.5
#27 0x00007f5f4e151693 in QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) () from /usr/lib/libQt5Gui.so.5
#28 0x00007f5f4e152ea5 in QGuiApplicationPrivate::processWindowSystemEvent(QWindowSystemInterfacePrivate::WindowSystemEvent*) () from /usr/lib/libQt5Gui.so.5
#29 0x00007f5f4e13018b in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Gui.so.5
#30 0x00007f5f42352080 in ?? () from /usr/lib/libQt5XcbQpa.so.5
#31 0x00007f5f4824bf07 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#32 0x00007f5f4824c160 in ?? () from /usr/lib/libglib-2.0.so.0
#33 0x00007f5f4824c20c in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#34 0x00007f5f4dc5b6cf in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Core.so.5
#35 0x00007f5f4dc0346a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Core.so.5
#36 0x00007f5f4dc0ba0c in QCoreApplication::exec() () from /usr/lib/libQt5Core.so.5
#37 0x0000000000404b11 in main (argc=<optimized out>, argv=<optimized out>) at /home/raghu/kf5/src/krita/krita/main.cc:229
Comment 3 wolthera 2016-05-13 19:16:42 UTC
This also happens with the Gradient and Workspace dockers. Brush-tips, patterns and paintoppresets work fine.
Comment 4 wolthera 2016-05-13 19:19:50 UTC
On top of that, the Brush-tips can only import SVGs and the pattern docker only BMPs.

paintoppresets is fine.
Comment 5 Halla Rempt 2016-05-14 08:52:49 UTC
Git commit 93e357d61c0276c593149f651d3f89c2b4b60f88 by Boudewijn Rempt.
Committed on 14/05/2016 at 08:52.
Pushed by rempt into branch 'rempt-opengl-check'.

It shouldn't be empty, but it's better to be careful

M  +1    -11   libs/widgetutils/KoFileDialog.cpp

http://commits.kde.org/krita/93e357d61c0276c593149f651d3f89c2b4b60f88
Comment 6 Halla Rempt 2016-05-14 08:52:49 UTC
Git commit 580275ae24aa7f92a7bcc694b63265d9a13222f8 by Boudewijn Rempt.
Committed on 14/05/2016 at 08:51.
Pushed by rempt into branch 'rempt-opengl-check'.

Correctly separate the suffixes

M  +1    -1    libs/widgets/KoResourceItemChooser.cpp

http://commits.kde.org/krita/580275ae24aa7f92a7bcc694b63265d9a13222f8