https://bugs.kde.org/show_bug.cgi?id=363846

            Bug ID: 363846
           Summary: Krita crashes if a second window with a view into the
                    first window is closed
           Product: krita
           Version: 3.0
          Platform: Archlinux Packages
                OS: Linux
            Status: UNCONFIRMED
          Severity: crash
          Priority: NOR
         Component: general
          Assignee: krita-bugs-n...@kde.org
          Reporter: kdeb...@fratti.ch

If a second window is opened, and assigned the view of the document in the
first window, and then said second window is closed, Krita will crash.

Reproducible: Always

Steps to Reproduce:
1. Create a new document
2. Go to Window->New Window
3. In said new window, go to Window->New View->Unnamed
4. Close the new window.

Actual Results:  
Krita will close both windows as it crashes

Expected Results:  
Only the second window closes

This crash only happens if the window is opened after creating the document,
apparently. If I create a new window first, then create a new document, then
switch to the second window and assign the view there and close it, it won't
crash.

Here's the backtrace

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

Thread 5 (Thread 0x7f5734bd9700 (LWP 2661)):
#0  0x00007f57535b268d in poll () from /usr/lib/libc.so.6
#1  0x00007f574d39cfd6 in ?? () from /usr/lib/libglib-2.0.so.0
#2  0x00007f574d39d0ec in g_main_context_iteration () from
/usr/lib/libglib-2.0.so.0
#3  0x00007f57540e974b in
QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) ()
from /usr/lib/libQt5Core.so.5
#4  0x00007f57540914ca in
QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from
/usr/lib/libQt5Core.so.5
#5  0x00007f5753eb82f3 in QThread::exec() () from /usr/lib/libQt5Core.so.5
#6  0x00007f574dae6a65 in ?? () from /usr/lib/libQt5DBus.so.5
#7  0x00007f5753ebd1d8 in ?? () from /usr/lib/libQt5Core.so.5
#8  0x00007f574d8bb474 in start_thread () from /usr/lib/libpthread.so.0
#9  0x00007f57535bb69d in clone () from /usr/lib/libc.so.6

Thread 4 (Thread 0x7f571e78e700 (LWP 2662)):
#0  0x00007f574d8c109f in pthread_cond_wait@@GLIBC_2.3.2 () from
/usr/lib/libpthread.so.0
#1  0x00007f5753ebe08b in QWaitCondition::wait(QMutex*, unsigned long) () from
/usr/lib/libQt5Core.so.5
#2  0x00007f5753eb6d53 in QSemaphore::acquire(int) () from
/usr/lib/libQt5Core.so.5
#3  0x00007f57519540dd in ?? () from /usr/lib/libkritaimage.so.15
#4  0x00007f5753ebd1d8 in ?? () from /usr/lib/libQt5Core.so.5
#5  0x00007f574d8bb474 in start_thread () from /usr/lib/libpthread.so.0
#6  0x00007f57535bb69d in clone () from /usr/lib/libc.so.6

Thread 3 (Thread 0x7f571df8d700 (LWP 2663)):
#0  0x00007f574d8c109f in pthread_cond_wait@@GLIBC_2.3.2 () from
/usr/lib/libpthread.so.0
#1  0x00007f5753ebe08b in QWaitCondition::wait(QMutex*, unsigned long) () from
/usr/lib/libQt5Core.so.5
#2  0x00007f5753eb7046 in QSemaphore::tryAcquire(int, int) () from
/usr/lib/libQt5Core.so.5
#3  0x00007f575197039a in KisTileDataSwapper::run() () from
/usr/lib/libkritaimage.so.15
#4  0x00007f5753ebd1d8 in ?? () from /usr/lib/libQt5Core.so.5
#5  0x00007f574d8bb474 in start_thread () from /usr/lib/libpthread.so.0
#6  0x00007f57535bb69d in clone () from /usr/lib/libc.so.6

Thread 2 (Thread 0x7f571d78c700 (LWP 2665)):
#0  0x00007f574d8c109f in pthread_cond_wait@@GLIBC_2.3.2 () from
/usr/lib/libpthread.so.0
#1  0x00007f5753ebe08b in QWaitCondition::wait(QMutex*, unsigned long) () from
/usr/lib/libQt5Core.so.5
#2  0x00007f5754fed139 in ?? () from /usr/lib/libQt5Widgets.so.5
#3  0x00007f5753ebd1d8 in ?? () from /usr/lib/libQt5Core.so.5
#4  0x00007f574d8bb474 in start_thread () from /usr/lib/libpthread.so.0
#5  0x00007f57535bb69d in clone () from /usr/lib/libc.so.6

Thread 1 (Thread 0x7f57567aa800 (LWP 2659)):
[KCrash Handler]
#5  0x00007f5753091ee0 in KisBrush::scale() const () from
/usr/lib/libkritalibbrush.so.15
#6  0x00007f5729e6d4a2 in
KisBrushBasedPaintOpSettings::brushOutlineImpl(KisPaintInformation const&,
KisPaintOpSettings::OutlineMode, double, bool) const () from
/usr/lib/libkritalibpaintop.so.15
#7  0x00007f5729e6da38 in
KisBrushBasedPaintOpSettings::brushOutline(KisPaintInformation const&,
KisPaintOpSettings::OutlineMode) const () from
/usr/lib/libkritalibpaintop.so.15
#8  0x00007f57560a511a in KisToolFreehandHelper::paintOpOutline(QPointF const&,
KoPointerEvent const*, KisPaintOpSettings const*,
KisPaintOpSettings::OutlineMode) const () from /usr/lib/libkritaui.so.15
#9  0x00007f575609fba1 in KisToolFreehand::getOutlinePath(QPointF const&,
KoPointerEvent const*, KisPaintOpSettings::OutlineMode) () from
/usr/lib/libkritaui.so.15
#10 0x00007f57560acb1a in KisToolPaint::requestUpdateOutline(QPointF const&,
KoPointerEvent const*) () from /usr/lib/libkritaui.so.15
#11 0x00007f5750fb93e0 in KoToolProxy::mouseMoveEvent(QMouseEvent*, QPointF
const&) () from /usr/lib/libkritaflake.so.15
#12 0x00007f5755eb5972 in ?? () from /usr/lib/libkritaui.so.15
#13 0x00007f5756120305 in
KisInputManager::Private::handleCompressedTabletEvent(QEvent*) () from
/usr/lib/libkritaui.so.15
#14 0x00007f575611b8c1 in KisInputManager::slotCompressedMoveEvent() () from
/usr/lib/libkritaui.so.15
#15 0x00007f57540c06d9 in QMetaObject::activate(QObject*, int, int, void**) ()
from /usr/lib/libQt5Core.so.5
#16 0x00007f5751a3e561 in KisSignalCompressor::start() () from
/usr/lib/libkritaimage.so.15
#17 0x00007f575611edaa in bool
KisInputManager::compressMoveEventCommon<QMouseEvent>(QMouseEvent*) () from
/usr/lib/libkritaui.so.15
#18 0x00007f575611d6ed in KisInputManager::eventFilterImpl(QEvent*) () from
/usr/lib/libkritaui.so.15
#19 0x00007f5754093041 in
QCoreApplicationPrivate::sendThroughObjectEventFilters(QObject*, QEvent*) ()
from /usr/lib/libQt5Core.so.5
#20 0x00007f5754dbb795 in QApplicationPrivate::notify_helper(QObject*, QEvent*)
() from /usr/lib/libQt5Widgets.so.5
#21 0x00007f5754dc1727 in QApplication::notify(QObject*, QEvent*) () from
/usr/lib/libQt5Widgets.so.5
#22 0x00007f575618ac57 in KisApplication::notify(QObject*, QEvent*) () from
/usr/lib/libkritaui.so.15
#23 0x00007f57540932e0 in QCoreApplication::notifyInternal2(QObject*, QEvent*)
() from /usr/lib/libQt5Core.so.5
#24 0x00007f5754dbfee5 in QApplicationPrivate::sendMouseEvent(QWidget*,
QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) () from
/usr/lib/libQt5Widgets.so.5
#25 0x00007f5754e1a2c3 in ?? () from /usr/lib/libQt5Widgets.so.5
#26 0x00007f5754e1c793 in ?? () from /usr/lib/libQt5Widgets.so.5
#27 0x00007f5754dbb7bc in QApplicationPrivate::notify_helper(QObject*, QEvent*)
() from /usr/lib/libQt5Widgets.so.5
#28 0x00007f5754dc095f in QApplication::notify(QObject*, QEvent*) () from
/usr/lib/libQt5Widgets.so.5
#29 0x00007f575618ac57 in KisApplication::notify(QObject*, QEvent*) () from
/usr/lib/libkritaui.so.15
#30 0x00007f57540932e0 in QCoreApplication::notifyInternal2(QObject*, QEvent*)
() from /usr/lib/libQt5Core.so.5
#31 0x00007f57545df693 in
QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*)
() from /usr/lib/libQt5Gui.so.5
#32 0x00007f57545e0ea5 in
QGuiApplicationPrivate::processWindowSystemEvent(QWindowSystemInterfacePrivate::WindowSystemEvent*)
() from /usr/lib/libQt5Gui.so.5
#33 0x00007f57545be18b in
QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>)
() from /usr/lib/libQt5Gui.so.5
#34 0x00007f5742d45290 in ?? () from /usr/lib/libQt5XcbQpa.so.5
#35 0x00007f574d39cdd7 in g_main_context_dispatch () from
/usr/lib/libglib-2.0.so.0
#36 0x00007f574d39d040 in ?? () from /usr/lib/libglib-2.0.so.0
#37 0x00007f574d39d0ec in g_main_context_iteration () from
/usr/lib/libglib-2.0.so.0
#38 0x00007f57540e972f in
QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) ()
from /usr/lib/libQt5Core.so.5
#39 0x00007f57540914ca in
QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from
/usr/lib/libQt5Core.so.5
#40 0x00007f5754099a6c in QCoreApplication::exec() () from
/usr/lib/libQt5Core.so.5
#41 0x0000000000404bdd in main ()

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to