Bug 372605 - alt-draging frames outside loaded time line length crashes Krita
Summary: alt-draging frames outside loaded time line length crashes Krita
Status: RESOLVED FIXED
Alias: None
Product: krita
Classification: Applications
Component: Animation (show other bugs)
Version: 3.1 Beta
Platform: macOS (DMG) macOS
: NOR crash
Target Milestone: ---
Assignee: Krita Bugs
URL:
Keywords: triaged
Depends on:
Blocks:
 
Reported: 2016-11-17 23:14 UTC by apelsinchoklad
Modified: 2018-10-10 09:57 UTC (History)
1 user (show)

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


Attachments
screencap of alt-drag bug on windows 10 (3.31 MB, video/mp4)
2016-12-14 16:58 UTC, apelsinchoklad
Details

Note You need to log in before you can comment on or make changes to this bug.
Description apelsinchoklad 2016-11-17 23:14:32 UTC
alt-draging frames outside loaded time line length crashes Krita.

(workaround: scroll right to load more timeline or enter later end frame.)
Comment 1 Halla Rempt 2016-11-18 13:04:18 UTC
Hi,

I haven't been able to reproduce... But I'm probably doing something different from you. Could you do two things?

a) start krita from terminal.app using lldb:

lldb krita.app/Contents/MacOS/krita

on the lldb prompt, type "run" and press enter. If you now reproduce the crash, lldb will allow you to create a backtrace with the "bt" command. Please attach the backtrace as a comment to this bug.

b) make a screenrecording of you reproducing the issue so I can be sure that I am trying to reproduce it correctly.
Comment 2 apelsinchoklad 2016-11-19 04:27:28 UTC
https://www.dropbox.com/s/ryhna616mdqfce0/krita%20timeline%20crash.m4v?dl=0

(lldb) bt
* thread #1: tid = 0x2be56, 0x0000000100502b74 libkritaui.15.dylib`KisNodeDummy::node() const + 4, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=1, address=0x20)
  * frame #0: 0x0000000100502b74 libkritaui.15.dylib`KisNodeDummy::node() const + 4
    frame #1: 0x000000011ca281a4 kritaanimationdocker.so`TimelineFramesModel::nodeAt(QModelIndex) const + 36
    frame #2: 0x000000011ca25c87 kritaanimationdocker.so`KisTimeBasedItemModel::offsetFrames(QList<QModelIndex>, QPoint const&, bool, KUndo2Command*) + 359
    frame #3: 0x000000011ca2a19e kritaanimationdocker.so`TimelineFramesModel::dropMimeData(QMimeData const*, Qt::DropAction, int, int, QModelIndex const&) + 446
    frame #4: 0x0000000101f3864f QtWidgets`QAbstractItemView::dropEvent(QDropEvent*) + 191
    frame #5: 0x000000011ca3108e kritaanimationdocker.so`TimelineFramesView::dropEvent(QDropEvent*) + 46
    frame #6: 0x0000000101d033a3 QtWidgets`QWidget::event(QEvent*) + 2611
    frame #7: 0x0000000101dfe28d QtWidgets`QFrame::event(QEvent*) + 45
    frame #8: 0x0000000101e8e317 QtWidgets`QAbstractScrollArea::viewportEvent(QEvent*) + 135
    frame #9: 0x0000000101f35cc5 QtWidgets`QAbstractItemView::viewportEvent(QEvent*) + 1397
    frame #10: 0x0000000101e8efb4 QtWidgets`___lldb_unnamed_function2750$$QtWidgets + 36
    frame #11: 0x0000000102a6ddab QtCore`QCoreApplicationPrivate::sendThroughObjectEventFilters(QObject*, QEvent*) + 203
    frame #12: 0x0000000101cc2a65 QtWidgets`QApplicationPrivate::notify_helper(QObject*, QEvent*) + 293
    frame #13: 0x0000000101cc47c4 QtWidgets`QApplication::notify(QObject*, QEvent*) + 2836
    frame #14: 0x00000001007dc058 libkritaui.15.dylib`KisApplication::notify(QObject*, QEvent*) + 24
    frame #15: 0x0000000102a6db14 QtCore`QCoreApplication::notifyInternal2(QObject*, QEvent*) + 164
    frame #16: 0x0000000101d25a87 QtWidgets`___lldb_unnamed_function533$$QtWidgets + 631
    frame #17: 0x0000000101d2341e QtWidgets`___lldb_unnamed_function520$$QtWidgets + 1022
    frame #18: 0x0000000101cc2a7a QtWidgets`QApplicationPrivate::notify_helper(QObject*, QEvent*) + 314
    frame #19: 0x0000000101cc3eae QtWidgets`QApplication::notify(QObject*, QEvent*) + 510
    frame #20: 0x00000001007dc058 libkritaui.15.dylib`KisApplication::notify(QObject*, QEvent*) + 24
    frame #21: 0x0000000102a6db14 QtCore`QCoreApplication::notifyInternal2(QObject*, QEvent*) + 164
    frame #22: 0x000000010233fbe0 QtGui`QGuiApplicationPrivate::processDrop(QWindow*, QMimeData const*, QPoint const&, QFlags<Qt::DropAction>) + 96
    frame #23: 0x0000000102323a45 QtGui`QWindowSystemInterface::handleDrop(QWindow*, QMimeData const*, QPoint const&, QFlags<Qt::DropAction>) + 213
    frame #24: 0x0000000107e95e5a libqcocoa.dylib`___lldb_unnamed_function385$$libqcocoa.dylib + 346
    frame #25: 0x00007fff86e6b975 AppKit`NSCoreDragReceiveMessageProc + 289
    frame #26: 0x00007fff88d51e94 HIServices`DoMultipartDropMessage + 325
    frame #27: 0x00007fff88d51ba5 HIServices`DoDropMessage + 41
    frame #28: 0x00007fff88d51b4f HIServices`SendDropMessage + 41
    frame #29: 0x00007fff88d4e11e HIServices`DragInApplication + 512
    frame #30: 0x00007fff88d4d177 HIServices`CoreDragStartDragging + 519
    frame #31: 0x00007fff86e67a54 AppKit`-[NSCoreDragManager _dragUntilMouseUp:accepted:] + 862
    frame #32: 0x00007fff8701f3a4 AppKit`-[NSCoreDragManager dragImage:fromWindow:at:offset:event:pasteboard:source:slideBack:] + 1355
    frame #33: 0x00007fff8730585b AppKit`-[NSWindow(NSDrag) dragImage:at:offset:event:pasteboard:source:slideBack:] + 133
    frame #34: 0x0000000107eb9266 libqcocoa.dylib`___lldb_unnamed_function948$$libqcocoa.dylib + 726
    frame #35: 0x000000010235032d QtGui`QDragManager::drag(QDrag*) + 189
    frame #36: 0x000000010234f868 QtGui`QDrag::exec(QFlags<Qt::DropAction>, Qt::DropAction) + 88
    frame #37: 0x000000011ca30b40 kritaanimationdocker.so`TimelineFramesView::startDrag(QFlags<Qt::DropAction>) + 3328
    frame #38: 0x0000000101f365d1 QtWidgets`QAbstractItemView::mouseMoveEvent(QMouseEvent*) + 433
    frame #39: 0x000000011ca32115 kritaanimationdocker.so`TimelineFramesView::mouseMoveEvent(QMouseEvent*) + 229
    frame #40: 0x0000000101d02fc9 QtWidgets`QWidget::event(QEvent*) + 1625
    frame #41: 0x0000000101dfe28d QtWidgets`QFrame::event(QEvent*) + 45
    frame #42: 0x0000000101e8e317 QtWidgets`QAbstractScrollArea::viewportEvent(QEvent*) + 135
    frame #43: 0x0000000101f35cc5 QtWidgets`QAbstractItemView::viewportEvent(QEvent*) + 1397
    frame #44: 0x0000000101e8efb4 QtWidgets`___lldb_unnamed_function2750$$QtWidgets + 36
    frame #45: 0x0000000102a6ddab QtCore`QCoreApplicationPrivate::sendThroughObjectEventFilters(QObject*, QEvent*) + 203
    frame #46: 0x0000000101cc2a65 QtWidgets`QApplicationPrivate::notify_helper(QObject*, QEvent*) + 293
    frame #47: 0x0000000101cc5c93 QtWidgets`QApplication::notify(QObject*, QEvent*) + 8163
    frame #48: 0x00000001007dc058 libkritaui.15.dylib`KisApplication::notify(QObject*, QEvent*) + 24
    frame #49: 0x0000000102a6db14 QtCore`QCoreApplication::notifyInternal2(QObject*, QEvent*) + 164
    frame #50: 0x0000000101cc33ea QtWidgets`QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) + 874
    frame #51: 0x0000000101d24056 QtWidgets`___lldb_unnamed_function525$$QtWidgets + 1382
    frame #52: 0x0000000101d2310b QtWidgets`___lldb_unnamed_function520$$QtWidgets + 235
    frame #53: 0x0000000101cc2a7a QtWidgets`QApplicationPrivate::notify_helper(QObject*, QEvent*) + 314
    frame #54: 0x0000000101cc3eae QtWidgets`QApplication::notify(QObject*, QEvent*) + 510
    frame #55: 0x00000001007dc058 libkritaui.15.dylib`KisApplication::notify(QObject*, QEvent*) + 24
    frame #56: 0x0000000102a6db14 QtCore`QCoreApplication::notifyInternal2(QObject*, QEvent*) + 164
    frame #57: 0x000000010233af9d QtGui`QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) + 2877
    frame #58: 0x000000010233ef05 QtGui`QGuiApplicationPrivate::processTabletEvent(QWindowSystemInterfacePrivate::TabletEvent*) + 1669
    frame #59: 0x000000010232368b QtGui`QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) + 203
    frame #60: 0x0000000107e9a301 libqcocoa.dylib`___lldb_unnamed_function475$$libqcocoa.dylib + 33
    frame #61: 0x00007fff8929e5b1 CoreFoundation`__CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 17
    frame #62: 0x00007fff8928fc62 CoreFoundation`__CFRunLoopDoSources0 + 242
    frame #63: 0x00007fff8928f3ef CoreFoundation`__CFRunLoopRun + 831
    frame #64: 0x00007fff8928ee75 CoreFoundation`CFRunLoopRunSpecific + 309
    frame #65: 0x00007fff8c7f0a0d HIToolbox`RunCurrentEventLoopInMode + 226
    frame #66: 0x00007fff8c7f0685 HIToolbox`ReceiveNextEventCommon + 173
    frame #67: 0x00007fff8c7f05bc HIToolbox`_BlockUntilNextEventMatchingListInModeWithFilter + 65
    frame #68: 0x00007fff86b5d24e AppKit`_DPSNextEvent + 1434
    frame #69: 0x00007fff86b5c89b AppKit`-[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 122
    frame #70: 0x00007fff86b5099c AppKit`-[NSApplication run] + 553
    frame #71: 0x0000000107e9921f libqcocoa.dylib`___lldb_unnamed_function457$$libqcocoa.dylib + 2191
    frame #72: 0x0000000102a69d01 QtCore`QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) + 417
    frame #73: 0x0000000102a6e185 QtCore`QCoreApplication::exec() + 341
    frame #74: 0x000000010000ea4e krita`main + 6222
    frame #75: 0x00007fff8a5395fd libdyld.dylib`start + 1
Comment 3 apelsinchoklad 2016-12-14 16:58:43 UTC
Created attachment 102780 [details]
screencap of alt-drag bug on windows 10

Hi, I noticed that the crash is reproducible under Windows 10 as well, running on the same machine (3.1.0 release build).
Comment 4 Andrew Crouthamel 2018-09-26 22:11:00 UTC
Dear Bug Submitter,

This bug has been in NEEDSINFO status with no change for at least 15 days. Please provide the requested information as soon as possible and set the bug status as REPORTED. Due to regular bug tracker maintenance, if the bug is still in NEEDSINFO status with no change in 30 days, the bug will be closed as RESOLVED > WORKSFORME due to lack of needed information.

For more information about our bug triaging procedures please read the wiki located here: https://community.kde.org/Guidelines_and_HOWTOs/Bug_triaging

If you have already provided the requested information, please set the bug status as REPORTED so that the KDE team knows that the bug is ready to be confirmed.

Thank you for helping us make KDE software even better for everyone!
Comment 5 apelsinchoklad 2018-09-26 22:38:36 UTC
(In reply to Andrew Crouthamel from comment #4)
> Dear Bug Submitter,
> 
> This bug has been in NEEDSINFO status with no change for at least 15 days.
> Please provide the requested information as soon as possible and set the bug
> status as REPORTED. Due to regular bug tracker maintenance, if the bug is
> still in NEEDSINFO status with no change in 30 days, the bug will be closed
> as RESOLVED > WORKSFORME due to lack of needed information.
> 
> For more information about our bug triaging procedures please read the wiki
> located here: https://community.kde.org/Guidelines_and_HOWTOs/Bug_triaging
> 
> If you have already provided the requested information, please set the bug
> status as REPORTED so that the KDE team knows that the bug is ready to be
> confirmed.
> 
> Thank you for helping us make KDE software even better for everyone!

This bug was solved (don't remember what version) in the sense that it no longer crashes the program. Instead the alt-drag operation just fails and moves a single frame. So not a critical bug anymore but it might mess upp the frame order if the user don't notice that it failed.
Comment 6 apelsinchoklad 2018-09-26 22:41:07 UTC
Requested information was provided.
Comment 7 joupent 2018-10-08 14:28:14 UTC
Git commit 9fd4a43232a377e89708a69536223c9951d751e9 by Jouni Pentikäinen.
Committed on 08/10/2018 at 13:39.
Pushed by jounip into branch 'master'.

Fix moving keyframes beyond last column of the timeline

M  +4    -4    plugins/dockers/animation/timeline_frames_model.cpp

https://commits.kde.org/krita/9fd4a43232a377e89708a69536223c9951d751e9
Comment 8 Halla Rempt 2018-10-10 09:57:17 UTC
Git commit 4e88becceec72dba02a457bc63c179e4e521a65a by Boudewijn Rempt, on behalf of Jouni Pentikäinen.
Committed on 10/10/2018 at 07:41.
Pushed by rempt into branch 'krita/4.1'.

Fix moving keyframes beyond last column of the timeline
(cherry picked from commit 9fd4a43232a377e89708a69536223c9951d751e9)

M  +4    -4    plugins/dockers/animation/timeline_frames_model.cpp

https://commits.kde.org/krita/4e88becceec72dba02a457bc63c179e4e521a65a