Bug 381384 - Krita 4.0 pre-alpha crashed when using Image Split
Summary: Krita 4.0 pre-alpha crashed when using Image Split
Status: RESOLVED FIXED
Alias: None
Product: krita
Classification: Applications
Component: File formats (show other bugs)
Version: 4.0 pre-alpha
Platform: Appimage Linux
: NOR crash
Target Milestone: ---
Assignee: Krita Bugs
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2017-06-19 03:33 UTC by Tyson Tan
Modified: 2017-07-11 11:33 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments
Krita 4.0 pre-alpha crash log on Image Split, Fedora 25 Gnome 3.22 (7.36 KB, text/plain)
2017-06-19 03:33 UTC, Tyson Tan
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Tyson Tan 2017-06-19 03:33:18 UTC
Created attachment 106163 [details]
Krita 4.0 pre-alpha crash log on Image Split, Fedora 25 Gnome 3.22

krita-4.0.0-pre-alpha-x86_64.appimage crashed when using Image Split.

Menu >> Image >> Image Split
Settings: Horizontal Lines 0, Vertical Lines 6, others unchanged
Document properties: PNG RGB/Alpha 8-bit sRGB, 378 x 80
Save to: External USB drive

krita-3.1.4-x86_64.appimage did not crash on the same operation.

Tested on Fedora 25, Gnome 3.22.
System Log is attached.
Comment 1 Tyson Tan 2017-06-19 06:57:52 UTC
Also, something crash exiting with similar SELinux notification:

SELinux is preventing abrt-hook-ccpp from 'getattr' accesses on the chr_file /dev/dri/card0.

*****  Plugin catchall (100. confidence) suggests   **************************

If you believe that abrt-hook-ccpp should be allowed getattr access on the card0 chr_file by default.
Then you should report this as a bug.
You can generate a local policy module to allow this access.
Do
allow this access for now by executing:
# ausearch -c 'abrt-hook-ccpp' --raw | audit2allow -M my-abrthookccpp
# semodule -X 300 -i my-abrthookccpp.pp

Additional Information:
Source Context                system_u:system_r:abrt_dump_oops_t:s0
Target Context                system_u:object_r:dri_device_t:s0
Target Objects                /dev/dri/card0 [ chr_file ]
Source                        abrt-hook-ccpp
Source Path                   abrt-hook-ccpp
Port                          <Unknown>
Host                          (removed)
Source RPM Packages           
Target RPM Packages           
Policy RPM                    selinux-policy-3.13.1-225.18.fc25.noarch
Selinux Enabled               True
Policy Type                   targeted
Enforcing Mode                Enforcing
Host Name                     (removed)
Platform                      Linux (removed) 4.11.5-200.fc25.x86_64 #1 SMP Wed
                              Jun 14 17:17:29 UTC 2017 x86_64 x86_64
Alert Count                   27
First Seen                    2017-06-19 11:13:11 CST
Last Seen                     2017-06-19 14:54:53 CST
Local ID                      0e175d73-c270-489c-9234-4d9eedfbf1ec

Raw Audit Messages
type=AVC msg=audit(1497855293.654:230): avc:  denied  { getattr } for  pid=4961 comm="abrt-hook-ccpp" path="/dev/dri/card0" dev="devtmpfs" ino=1723 scontext=system_u:system_r:abrt_dump_oops_t:s0 tcontext=system_u:object_r:dri_device_t:s0 tclass=chr_file permissive=0


Hash: abrt-hook-ccpp,abrt_dump_oops_t,dri_device_t,chr_file,getattr
Comment 2 Halla Rempt 2017-06-19 08:37:44 UTC
Yes, I can confirm this crashes.
Comment 3 Halla Rempt 2017-06-19 08:38:53 UTC
#0  0x00007ffff623f710 in KisNameServer::currentSeed() const (this=0xd4)
    at /home/boud/dev/krita/libs/image/kis_name_server.cpp:32
#1  0x00007ffff61ffc66 in KisImage::nextLayerName(QString const&) const (this=0x103f1730, _baseName=...)
    at /home/boud/dev/krita/libs/image/kis_image.cc:442
#2  0x00007fff95490975 in Imagesplit::saveAsImage(QRect const&, QString const&, QString const&) (this=this@entry=0xe8c6ea0, imgSize=..., mimeType=..., url=...)
    at /home/boud/dev/krita/plugins/extensions/imagesplit/imagesplit.cpp:73
#3  0x00007fff95492fac in Imagesplit::slotImagesplit() (this=0xe8c6ea0)
    at /home/boud/dev/krita/plugins/extensions/imagesplit/imagesplit.cpp:167
#4  0x00007fffedfdb441 in QMetaObject::activate(QObject*, int, int, void**) ()
    at /home/boud/dev/deps/lib/libQt5Core.so.5
#5  0x00007fffeef98842 in QAction::triggered(bool) () at /home/boud/dev/deps/lib/libQt5Widgets.so.5
#6  0x00007fffeef9b3dd in QAction::activate(QAction::ActionEvent) ()
    at /home/boud/dev/deps/lib/libQt5Widgets.so.5
#7  0x00007fffef116342 in  () at /home/boud/dev/deps/lib/libQt5Widgets.so.5
#8  0x00007fffef11b4f0 in  () at /home/boud/dev/deps/lib/libQt5Widgets.so.5
#9  0x00007fffef11dbb1 in QMenu::keyPressEvent(QKeyEvent*) () at /home/boud/dev/deps/lib/libQt5Widgets.so.5
#10 0x00007fffeefe367a in QWidget::event(QEvent*) () at /home/boud/dev/deps/lib/libQt5Widgets.so.5
#11 0x00007fffef11f97b in QMenu::event(QEvent*) () at /home/boud/dev/deps/lib/libQt5Widgets.so.5
#12 0x00007fffeefa1dec in QApplicationPrivate::notify_helper(QObject*, QEvent*) ()
    at /home/boud/dev/deps/lib/libQt5Widgets.so.5
#13 0x00007fffeefa6380 in QApplication::notify(QObject*, QEvent*) ()
    at /home/boud/dev/deps/lib/libQt5Widgets.so.5
#14 0x00007ffff78b1f87 in KisApplication::notify(QObject*, QEvent*) (this=<optimized out>, receiver=0xefb4380, event=0x7fffffffce00) at /home/boud/dev/krita/libs/ui/KisApplication.cpp:558
#15 0x00007fffedfb18e5 in QCoreApplication::notifyInternal2(QObject*, QEvent*) ()
    at /home/boud/dev/deps/lib/libQt5Core.so.5
#16 0x00007fffeeffed6b in  () at /home/boud/dev/deps/lib/libQt5Widgets.so.5
#17 0x00007fffeefa1dec in QApplicationPrivate::notify_helper(QObject*, QEvent*) ()
    at /home/boud/dev/deps/lib/libQt5Widgets.so.5
#18 0x00007fffeefa644a in QApplication::notify(QObject*, QEvent*) ()
    at /home/boud/dev/deps/lib/libQt5Widgets.so.5
#19 0x00007ffff78b1f87 in KisApplication::notify(QObject*, QEvent*) (this=<optimized out>, receiver=0xf2a36c0, event=0x7fffffffce00) at /home/boud/dev/krita/libs/ui/KisApplication.cpp:558
#20 0x00007fffedfb18e5 in QCoreApplication::notifyInternal2(QObject*, QEvent*) ()
    at /home/boud/dev/deps/lib/libQt5Core.so.5
#21 0x00007fffee561160 in QGuiApplicationPrivate::processKeyEvent(QWindowSystemInterfacePrivate::KeyEvent*) ()
    at /home/boud/dev/deps/lib/libQt5Gui.so.5
#22 0x00007fffee565ad5 in QGuiApplicationPrivate::processWindowSystemEvent(QWindowSystemInterfacePrivate::WindowSystemEvent*) () at /home/boud/dev/deps/lib/libQt5Gui.so.5
#23 0x00007fffee547bbb in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /home/boud/dev/deps/lib/libQt5Gui.so.5
#24 0x00007fffe6688860 in  () at /home/boud/dev/deps/plugins/platforms/../../lib/libQt5XcbQpa.so.5
#25 0x00007fffeaec7134 in g_main_context_dispatch () at /usr/lib64/libglib-2.0.so.0
#26 0x00007fffeaec7388 in  () at /usr/lib64/libglib-2.0.so.0
#27 0x00007fffeaec742c in g_main_context_iteration () at /usr/lib64/libglib-2.0.so.0
#28 0x00007fffee001d5c in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) ()
    at /home/boud/dev/deps/lib/libQt5Core.so.5
#29 0x00007fffedfafa8b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) ()
    at /home/boud/dev/deps/lib/libQt5Core.so.5
#30 0x00007fffedfb77c6 in QCoreApplication::exec() () at /home/boud/dev/deps/lib/libQt5Core.so.5
#31 0x00000000004055bb in main(int, char**) (argc=1, argv=<optimized out>)
    at /home/boud/dev/krita/krita/main.cc:269
Comment 4 Halla Rempt 2017-06-19 08:58:07 UTC
Git commit 406b00621b715dbe1ac42a704727982cd9f28944 by Boudewijn Rempt.
Committed on 19/06/2017 at 08:57.
Pushed by rempt into branch 'master'.

Don't crash in the image split plugin

Another weak shared pointer problem.

M  +2    -2    plugins/extensions/imagesplit/imagesplit.cpp

https://commits.kde.org/krita/406b00621b715dbe1ac42a704727982cd9f28944
Comment 5 Tyson Tan 2017-06-19 09:22:24 UTC
Thank you, Boud! :D
Comment 6 Halla Rempt 2017-07-11 11:33:13 UTC
Git commit 645e225493ed1e1adb57b2c19c92021c3d5d3b23 by Boudewijn Rempt.
Committed on 11/07/2017 at 11:23.
Pushed by rempt into branch 'krita/3.2'.

Don't crash in the image split plugin

Another weak shared pointer problem.

M  +2    -2    plugins/extensions/imagesplit/imagesplit.cpp

https://commits.kde.org/krita/645e225493ed1e1adb57b2c19c92021c3d5d3b23