Bug 424651 - Crashing at regenerating cache
Summary: Crashing at regenerating cache
Status: RESOLVED NOT A BUG
Alias: None
Product: krita
Classification: Applications
Component: Animation (show other bugs)
Version: git master (please specify the git hash!)
Platform: Other Linux
: NOR normal
Target Milestone: ---
Assignee: Krita Bugs
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2020-07-25 14:01 UTC by Vladimir Savic
Modified: 2020-08-04 14:23 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 Vladimir Savic 2020-07-25 14:01:10 UTC
I experience those quite often (at least a few times a day) with very complex scenes. The current one has ~40 animated layers at 2k resolution and weight around 1,3 GB when saved to a file.

The only reason I use master is a constant improvement the team is doing on the animation front. Being at Manjaro, it was easy enough for me to built from git and running through gdb.


STEPS TO REPRODUCE
The crash happens always at hitting Play while previewing animation, but no consistent way to trigger that crash every time.


BACKTRACE

...
[New Thread 0x7ffcaaa2e700 (LWP 270311)]
[New Thread 0x7ffcab22f700 (LWP 270312)]
[Thread 0x7ffcaaa2e700 (LWP 270311) exited]
[New Thread 0x7ffcaaa2e700 (LWP 270322)]
[Thread 0x7ffcab22f700 (LWP 270312) exited]
[New Thread 0x7ffcab22f700 (LWP 270323)]
SAFE ASSERT (krita): "m_d->requestedFrame == frame" in file /home/vladimir/.cache/yay/krita-git/src/krita/libs/ui/KisAsyncAnimationRendererBase.cpp, line 128
--Type <RET> for more, q to quit, c to continue without paging--

Thread 1 "krita" received signal SIGSEGV, Segmentation fault.
0x00007ffff41d4bc4 in __memcmp_avx2_movbe () from /usr/lib/libc.so.6
(gdb) bt
#0  0x00007ffff41d4bc4 in __memcmp_avx2_movbe () at /usr/lib/libc.so.6
#1  0x00007ffff70ed4af in KisFrameDataSerializer::estimateFrameUniqueness(KisFrameDataSerializer::Frame const&, KisFrameDataSerializer::Frame const&, double) () at /usr/lib/libkritaui.so.17
#2  0x00007ffff70f4c21 in KisFrameCacheStore::saveFrame(int, KisSharedPtr<KisOpenGLUpdateInfo>, QRect const&) () at /usr/lib/libkritaui.so.17
#3  0x00007ffff70f6697 in KisFrameCacheSwapper::saveFrame(int, KisSharedPtr<KisOpenGLUpdateInfo>, QRect const&) () at /usr/lib/libkritaui.so.17
#4  0x00007ffff70cb7c6 in KisAnimationFrameCache::addConvertedFrameData(KisSharedPtr<KisOpenGLUpdateInfo>, int) () at /usr/lib/libkritaui.so.17
#5  0x00007ffff70d89bd in  () at /usr/lib/libkritaui.so.17
#6  0x00007ffff47141d2 in QObject::event(QEvent*) () at /usr/lib/libQt5Core.so.5
#7  0x00007ffff51b5702 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib/libQt5Widgets.so.5
#8  0x00007ffff6ff809a in KisApplication::notify(QObject*, QEvent*) () at /usr/lib/libkritaui.so.17
#9  0x00007ffff46e77ba in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /usr/lib/libQt5Core.so.5
#10 0x00007ffff46ea2a3 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () at /usr/lib/libQt5Core.so.5
#11 0x00007ffff4740cf4 in  () at /usr/lib/libQt5Core.so.5
#12 0x00007ffff1a0b43c in g_main_context_dispatch () at /usr/lib/libglib-2.0.so.0
#13 0x00007ffff1a591d9 in  () at /usr/lib/libglib-2.0.so.0
#14 0x00007ffff1a0a221 in g_main_context_iteration () at /usr/lib/libglib-2.0.so.0
#15 0x00007ffff47403a2 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Core.so.5
#16 0x00007ffff53f1458 in QProgressDialog::setValue(int) () at /usr/lib/libQt5Widgets.so.5
#17 0x00007ffff70dc395 in KisAsyncAnimationRenderDialogBase::slotUpdateCompressedProgressData() () at /usr/lib/libkritaui.so.17
#18 0x00007ffff47141d2 in QObject::event(QEvent*) () at /usr/lib/libQt5Core.so.5
#19 0x00007ffff51b5702 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib/libQt5Widgets.so.5
#20 0x00007ffff6ff809a in KisApplication::notify(QObject*, QEvent*) () at /usr/lib/libkritaui.so.17
#21 0x00007ffff46e77ba in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /usr/lib/libQt5Core.so.5
#22 0x00007ffff46ea2a3 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () at /usr/lib/libQt5Core.so.5
#23 0x00007ffff4740cf4 in  () at /usr/lib/libQt5Core.so.5
#24 0x00007ffff1a0b43c in g_main_context_dispatch () at /usr/lib/libglib-2.0.so.0
#25 0x00007ffff1a591d9 in  () at /usr/lib/libglib-2.0.so.0
#26 0x00007ffff1a0a221 in g_main_context_iteration () at /usr/lib/libglib-2.0.so.0
#27 0x00007ffff4740331 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Core.so.5
#28 0x00007ffff46e613c in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Core.so.5
#29 0x00007ffff70dd55c in KisAsyncAnimationRenderDialogBase::regenerateRange(KisViewManager*) () at /usr/lib/libkritaui.so.17
#30 0x00007ffff70e8ca1 in KisAnimationPlayer::play() () at /usr/lib/libkritaui.so.17
#31 0x00007ffff471ea60 in  () at /usr/lib/libQt5Core.so.5
#32 0x00007ffff51aef23 in QAction::triggered(bool) () at /usr/lib/libQt5Widgets.so.5
#33 0x00007ffff51b1805 in QAction::activate(QAction::ActionEvent) () at /usr/lib/libQt5Widgets.so.5
#34 0x00007ffff51b2448 in QAction::event(QEvent*) () at /usr/lib/libQt5Widgets.so.5
#35 0x00007ffff51b5702 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib/libQt5Widgets.so.5
#36 0x00007ffff6ff809a in KisApplication::notify(QObject*, QEvent*) () at /usr/lib/libkritaui.so.17
#37 0x00007ffff46e77ba in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /usr/lib/libQt5Core.so.5
--Type <RET> for more, q to quit, c to continue without paging--
#38 0x00007ffff4af296d in QShortcutMap::dispatchEvent(QKeyEvent*) () at /usr/lib/libQt5Gui.so.5
#39 0x00007ffff4af3373 in QShortcutMap::tryShortcut(QKeyEvent*) () at /usr/lib/libQt5Gui.so.5
#40 0x00007ffff4a9b254 in QWindowSystemInterface::handleShortcutEvent(QWindow*, unsigned long, int, QFlags<Qt::KeyboardModifier>, unsigned int, unsigned int, unsigned int, QString const&, bool, unsigned short)
    () at /usr/lib/libQt5Gui.so.5
#41 0x00007ffff4abe27c in QGuiApplicationPrivate::processKeyEvent(QWindowSystemInterfacePrivate::KeyEvent*) () at /usr/lib/libQt5Gui.so.5
#42 0x00007ffff4a97b4c in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Gui.so.5
#43 0x00007fffeec56c8c in  () at /usr/lib/libQt5XcbQpa.so.5
#44 0x00007ffff1a0b43c in g_main_context_dispatch () at /usr/lib/libglib-2.0.so.0
#45 0x00007ffff1a591d9 in  () at /usr/lib/libglib-2.0.so.0
#46 0x00007ffff1a0a221 in g_main_context_iteration () at /usr/lib/libglib-2.0.so.0
#47 0x00007ffff4740331 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Core.so.5
#48 0x00007ffff46e613c in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Core.so.5
#49 0x00007ffff46ee5c4 in QCoreApplication::exec() () at /usr/lib/libQt5Core.so.5
#50 0x0000555555e28139 in main ()
Comment 1 Vladimir Savic 2020-07-25 23:04:14 UTC
Oh, oh... Looks like my fault after all, and not a bug.

I messed up with resources allocation who knows when - I can't even remember playing with memory/cpu sliders. Anyhow, if you can already catch that assertation, wouldn't it be meaningful to offer to restore to defaults on the next launch, for example? Could be handy for ignorant users like me.
Comment 2 vanyossi 2020-07-26 20:23:45 UTC
Ill mark as resolved then.

Reset configuration launch or inside krita UI is something we have talked about, while some problems can be related to configuration problems, not everything can be fixed like that. While it would b helpfull in some cases in some other would be harmful as the user will be decieved to think all they need to fix krita is to reset configurations, wen in reality it could be real bug on our side.
Comment 3 Tiar 2020-07-27 20:03:08 UTC
@Vladimir do you know what settings did you have? Cause it could be a bug, yeah, since Krita shouldn't crash even with wrong settings, but we cannot help if there is just no more information.
Comment 4 Vladimir Savic 2020-08-04 14:22:07 UTC
(In reply to Tymond from comment #3)
> @Vladimir do you know what settings did you have? Cause it could be a bug,
> yeah, since Krita shouldn't crash even with wrong settings, but we cannot
> help if there is just no more information.

Unfortunately, I can't do it anymore. :/
Comment 5 Tiar 2020-08-04 14:23:52 UTC
Alright, let's blame it on gremlines and hope nobody else will have this issue :)