Summary: | Crash when creating an 32x32 pixel image | ||
---|---|---|---|
Product: | [Applications] krita | Reporter: | Halla Rempt <halla> |
Component: | OpenGL Canvas | Assignee: | vanyossi <ghevan> |
Status: | RESOLVED FIXED | ||
Severity: | crash | CC: | abrehchs, danielginovker, ghevan, griffinvalley, unlockmehdp |
Priority: | NOR | ||
Version: | 4.4.1 | ||
Target Milestone: | --- | ||
Platform: | macOS (DMG) | ||
OS: | macOS | ||
Latest Commit: | Version Fixed In: | ||
Sentry Crash Report: | |||
Attachments: | attachment-5195-0.html |
Description
Halla Rempt
2020-12-14 08:32:11 UTC
Im not so sure how to debug this one, this only crashes if the grid is shown on canvas creation routine. If pixel grid is off before creating the image, and pixel grid is shown after creating the image, there is no crash. Well, at least we have a stacktrace. Changing status OpenGl profiling shows the following: glBlitFramebuffer(0, 356, 0, 356, 0, 356, 0, 356, GL_COLOR_BUFFER_BIT, GL_NEAREST) Error: GL_INVALID_FRAMEBUFFER_OPERATION Context: 0x7ffc11f95600 Virtual Screen: 0/2 kCGLCPCurrentRendererID: 16925958 (0x01024506) GL_RENDERER: Intel(R) Iris(TM) Graphics 6100 GL_VENDOR: Intel Inc. GL_VERSION: 4.1 INTEL-14.7.13 kCGLCPGPUFragmentProcessing: GL_TRUE kCGLCPGPUVertexProcessing: GL_TRUE kCGLCPSwapInterval: 0 Function call stack: 0: 0x7fff3b3e492c in glBlitFramebuffer in <libGL.dylib> 1: 0x10ed8919b in QOpenGLFramebufferObject::blitFramebuffer(QOpenGLFramebufferObject*, QRect const&, QOpenGLFramebufferObject*, QRect const&, unsigned int, unsigned int, int, int, QOpenGLFramebufferObject::FramebufferRestorePolicy) in <QtGui> 2: 0x10ed88d53 in QOpenGLFramebufferObject::blitFramebuffer(QOpenGLFramebufferObject*, QRect const&, QOpenGLFramebufferObject*, QRect const&, unsigned int, unsigned int) in <QtGui> 3: 0x10b96e72e in KisOpenGLCanvas2::paintGL() in <libkritaui.20.dylib> 4: 0x10b96e357 in KisOpenGLCanvas2::resizeGL(int, int) in <libkritaui.20.dylib> 5: 0x10e128ba8 in QOpenGLWidget::resizeEvent(QResizeEvent*) in <QtWidgets> 6: 0x10e102ecc in QWidget::event(QEvent*) in <QtWidgets> 7: 0x10e0c8b39 in QApplicationPrivate::notify_helper(QObject*, QEvent*) in <QtWidgets> 8: 0x10e0c9e52 in QApplication::notify(QObject*, QEvent*) in <QtWidgets> 9: 0x10bb1954a in KisApplication::notify(QObject*, QEvent*) in <libkritaui.20.dylib> 10: 0x10f309d76 in QCoreApplication::notifyInternal2(QObject*, QEvent*) in <QtCore> 11: 0x10e0fb2ce in QWidgetPrivate::sendPendingMoveAndResizeEvents(bool, bool) in <QtWidgets> 12: 0x10e101a86 in QWidgetPrivate::show_helper() in <QtWidgets> 13: 0x10e101e88 in QWidgetPrivate::showChildren(bool) in <QtWidgets> 14: 0x10e101aa8 in QWidgetPrivate::show_helper() in <QtWidgets> 15: 0x10e1028dc in QWidgetPrivate::setVisible(bool) in <QtWidgets> 16: 0x10e101e7e in QWidgetPrivate::showChildren(bool) in <QtWidgets> 17: 0x10e101aa8 in QWidgetPrivate::show_helper() in <QtWidgets> 18: 0x10e1028dc in QWidgetPrivate::setVisible(bool) in <QtWidgets> 19: 0x10e101e7e in QWidgetPrivate::showChildren(bool) in <QtWidgets> 20: 0x10e101aa8 in QWidgetPrivate::show_helper() in <QtWidgets> 21: 0x10e1028dc in QWidgetPrivate::setVisible(bool) in <QtWidgets> 22: 0x10e101e7e in QWidgetPrivate::showChildren(bool) in <QtWidgets> 23: 0x10e101aa8 in QWidgetPrivate::show_helper() in <QtWidgets> 24: 0x10e1028dc in QWidgetPrivate::setVisible(bool) in <QtWidgets> 25: 0x10e2381f5 in QMdiSubWindow::changeEvent(QEvent*) in <QtWidgets> 26: 0x10e102ad4 in QWidget::event(QEvent*) in <QtWidgets> 27: 0x10e237db7 in QMdiSubWindow::event(QEvent*) in <QtWidgets> 28: 0x10e0c8b39 in QApplicationPrivate::notify_helper(QObject*, QEvent*) in <QtWidgets> 29: 0x10e0c9e52 in QApplication::notify(QObject*, QEvent*) in <QtWidgets> 30: 0x10bb1954a in KisApplication::notify(QObject*, QEvent*) in <libkritaui.20.dylib> 31: 0x10f309d76 in QCoreApplication::notifyInternal2(QObject*, QEvent*) in <QtCore> 32: 0x10e0f62f8 in QWidget::setWindowState(QFlags<Qt::WindowState>) in <QtWidgets> 33: 0x10e0f6523 in QWidget::showMaximized() in <QtWidgets> 34: 0x10e2374c1 in QMdiSubWindow::eventFilter(QObject*, QEvent*) in <QtWidgets> 35: 0x10f30a041 in QCoreApplicationPrivate::sendThroughObjectEventFilters(QObject*, QEvent*) in <QtCore> 36: 0x10e0c8b24 in QApplicationPrivate::notify_helper(QObject*, QEvent*) in <QtWidgets> 37: 0x10e0c9e52 in QApplication::notify(QObject*, QEvent*) in <QtWidgets> 38: 0x10bb1954a in KisApplication::notify(QObject*, QEvent*) in <libkritaui.20.dylib> 39: 0x10f309d76 in QCoreApplication::notifyInternal2(QObject*, QEvent*) in <QtCore> 40: 0x10e0f62f8 in QWidget::setWindowState(QFlags<Qt::WindowState>) in <QtWidgets> 41: 0x10e0f6523 in QWidget::showMaximized() in <QtWidgets> 42: 0x10bb52932 in KisMainWindow::showView(KisView*, QMdiSubWindow*) in <libkritaui.20.dylib> 43: 0x10bb519f5 in KisMainWindow::addView(KisView*, QMdiSubWindow*) in <libkritaui.20.dylib> 44: 0x10bb54d64 in KisMainWindow::addViewAndNotifyLoadingCompleted(KisDocument*, QMdiSubWindow*) in <libkritaui.20.dylib> 45: 0x10f3388d9 in QMetaObject::activate(QObject*, int, int, void**) in <QtCore> 46: 0x10b7208ec in <libkritaui.20.dylib> 47: 0x10f3388d9 in QMetaObject::activate(QObject*, int, int, void**) in <QtCore> 48: 0x10e25a75f in <QtWidgets> 49: 0x10f3388d9 in QMetaObject::activate(QObject*, int, int, void**) in <QtCore> 50: 0x10e1b035f in <QtWidgets> 51: 0x10e1b01fc in <QtWidgets> 52: 0x10e1b133c in QAbstractButton::mouseReleaseEvent(QMouseEvent*) in <QtWidgets> 53: 0x10e102c1a in QWidget::event(QEvent*) in <QtWidgets> 54: 0x10e0c8b39 in QApplicationPrivate::notify_helper(QObject*, QEvent*) in <QtWidgets> 55: 0x10e0cb9d2 in QApplication::notify(QObject*, QEvent*) in <QtWidgets> 56: 0x10bb1954a in KisApplication::notify(QObject*, QEvent*) in <libkritaui.20.dylib> 57: 0x10f309d76 in QCoreApplication::notifyInternal2(QObject*, QEvent*) in <QtCore> 58: 0x10e0c9442 in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool, bool) in <QtWidgets> 59: 0x10e121dcf in <QtWidgets> 60: 0x10e120abe in <QtWidgets> 61: 0x10e0c8b39 in QApplicationPrivate::notify_helper(QObject*, QEvent*) in <QtWidgets> 62: 0x10e0c9e52 in QApplication::notify(QObject*, QEvent*) in <QtWidgets> 63: 0x10bb1954a in KisApplication::notify(QObject*, QEvent*) in <libkritaui.20.dylib> 64: 0x10f309d76 in QCoreApplication::notifyInternal2(QObject*, QEvent*) in <QtCore> 65: 0x10ea93637 in QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) in <QtGui> 66: 0x10ea7ac8b in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) in <QtGui> 67: 0x111dbd528 in <libqcocoa.dylib> 68: 0x7fff3151b832 in _CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ in <CoreFoundation> 69: 0x7fff3151b7d1 in _CFRunLoopDoSource0 in <CoreFoundation> 70: 0x7fff3151b5eb in _CFRunLoopDoSources0 in <CoreFoundation> 71: 0x7fff3151a31a in _CFRunLoopRun in <CoreFoundation> 72: 0x7fff3151991e in CFRunLoopRunSpecific in <CoreFoundation> 73: 0x7fff30145abd in RunCurrentEventLoopInMode in <HIToolbox> 74: 0x7fff301456f4 in ReceiveNextEventCommon in <HIToolbox> 75: 0x7fff30145579 in BlockUntilNextEventMatchingListInModeWithFilter in <HIToolbox> 76: 0x7fff2e78c039 in DPSNextEvent in <AppKit> 77: 0x7fff2e78a880 in -[NSApplication(NSEvent) _nextEventMatchingEventMask:untilDate:inMode:dequeue:] in <AppKit> 78: 0x7fff2e77c58e in -[NSApplication run] in <AppKit> 79: 0x111dbc3dd in <libqcocoa.dylib> 80: 0x10f305797 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) in <QtCore> 81: 0x10e2c38ae in QDialog::exec() in <QtWidgets> 82: 0x10bb595c3 in KisMainWindow::slotFileNew() in <libkritaui.20.dylib> 83: 0x10f3388d9 in QMetaObject::activate(QObject*, int, int, void**) in <QtCore> 84: 0x10e1b035f in <QtWidgets> 85: 0x10e1b01fc in <QtWidgets> 86: 0x10e1b133c in QAbstractButton::mouseReleaseEvent(QMouseEvent*) in <QtWidgets> 87: 0x10e102c1a in QWidget::event(QEvent*) in <QtWidgets> 88: 0x10e0c8b39 in QApplicationPrivate::notify_helper(QObject*, QEvent*) in <QtWidgets> 89: 0x10e0cb9d2 in QApplication::notify(QObject*, QEvent*) in <QtWidgets> 90: 0x10bb1954a in KisApplication::notify(QObject*, QEvent*) in <libkritaui.20.dylib> 91: 0x10f309d76 in QCoreApplication::notifyInternal2(QObject*, QEvent*) in <QtCore> 92: 0x10e0c9442 in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool, bool) in <QtWidgets> 93: 0x10e121dcf in <QtWidgets> 94: 0x10e120abe in <QtWidgets> 95: 0x10e0c8b39 in QApplicationPrivate::notify_helper(QObject*, QEvent*) in <QtWidgets> 96: 0x10e0c9e52 in QApplication::notify(QObject*, QEvent*) in <QtWidgets> 97: 0x10bb1954a in KisApplication::notify(QObject*, QEvent*) in <libkritaui.20.dylib> 98: 0x10f309d76 in QCoreApplication::notifyInternal2(QObject*, QEvent*) in <QtCore> 99: 0x10ea93637 in QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) in <QtGui> 100: 0x10ea7ac8b in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) in <QtGui> 101: 0x111dbd528 in <libqcocoa.dylib> 102: 0x7fff3151b832 in _CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ in <CoreFoundation> 103: 0x7fff3151b7d1 in _CFRunLoopDoSource0 in <CoreFoundation> 104: 0x7fff3151b5eb in _CFRunLoopDoSources0 in <CoreFoundation> 105: 0x7fff3151a31a in _CFRunLoopRun in <CoreFoundation> 106: 0x7fff3151991e in CFRunLoopRunSpecific in <CoreFoundation> 107: 0x7fff30145abd in RunCurrentEventLoopInMode in <HIToolbox> 108: 0x7fff301456f4 in ReceiveNextEventCommon in <HIToolbox> 109: 0x7fff30145579 in BlockUntilNextEventMatchingListInModeWithFilter in <HIToolbox> 110: 0x7fff2e78c039 in DPSNextEvent in <AppKit> 111: 0x7fff2e78a880 in -[NSApplication(NSEvent) _nextEventMatchingEventMask:untilDate:inMode:dequeue:] in <AppKit> 112: 0x7fff2e77c58e in -[NSApplication run] in <AppKit> 113: 0x111dbc3dd in <libqcocoa.dylib> 114: 0x10f305797 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) in <QtCore> 115: 0x10f30a3d2 in QCoreApplication::exec() in <QtCore> 116: 0x10a7860ae in main in <krita> 117: 0x7fff6b602cc9 in start in <libdyld.dylib> *** Bug 439794 has been marked as a duplicate of this bug. *** *** Bug 441868 has been marked as a duplicate of this bug. *** Is this still relevant with the new opengl handling patch? Yes, it happened to me this week with the multibuffer branch. *** Bug 443318 has been marked as a duplicate of this bug. *** Maybe we should give in and make the minimum width/height of an image 64x64 on macos? I think this might be wise for 5.0, yes. And then we revert the change once we have a real fix. Ivan, can you take care of that? Created attachment 142203 [details] attachment-5195-0.html Please do śr., 6 paź 2021, 11:29 użytkownik Halla Rempt <bugzilla_noreply@kde.org> napisał: > https://bugs.kde.org/show_bug.cgi?id=430366 > > --- Comment #12 from Halla Rempt <halla@valdyas.org> --- > Ivan, can you take care of that? > > -- > You are receiving this mail because: > You are watching all bug changes. > > Im on it I can no longer reproduce this bug in krita master (45ea106), also not reproductible on the stable branch. The trace shows there is an invalid buffer state during the gridDraw procedure, however, since we now create buffers differently it no longer crashes. Please reopen if you encounter this issue again. |