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

            Bug ID: 508628
           Summary: Layers docker doesn't refresh after new layer
                    shortcut, then krita crashes
    Classification: Applications
           Product: krita
      Version First git master (please specify the git hash!)
       Reported In:
          Platform: Other
                OS: Linux
            Status: REPORTED
          Severity: normal
          Priority: NOR
         Component: * Unknown
          Assignee: [email protected]
          Reporter: [email protected]
  Target Milestone: ---

SUMMARY

Layer docker stops updating and eventually crashes. Probably a rare race
condition that leads to memory corruption, so this report is just filed for
record.

The only krita code location appear in stack trace is `operator() at
libs/ui/input/KisPopupWidgetAction.cpp:73`

STEPS TO REPRODUCE
1. Use the shortcut key configured to create a new paint layer.
2. Observe that the new paint layer does not appear in the docker. Other things
seems to be normal (e.g. drawing making stroke on canvas)
3. Attempt to save and close the file, krita crashes

OBSERVED RESULT


EXPECTED RESULT


SOFTWARE/OS VERSIONS
Qt Version: 6.9.1
Krita:  665e6a795cea86f382e6e0929501df5a4e14b82b  (or, to be more accurate,
https://invent.kde.org/graphics/krita/-/merge_requests/2447 , I don't think the
MR matters)

ADDITIONAL INFORMATION

```
#0  0x00007ffff2798362 in __memmove_avx512_unaligned_erms () from
/nix/store/lmn7lwydprqibdkghw7wgcn21yhllz13-glibc-2.40-66/lib/libc.so.6
#1  0x00007ffff4414ffd in
QArrayDataPointer<QAction*>::reallocateAndGrow(QArrayData::GrowthPosition, long
long, QArrayDataPointer<QAction*>*) ()
   from
/nix/store/a7vlrrzdya0qsnsbwddmgpw873xj5mdb-qtbase-6.9.1/lib/libQt6Widgets.so.6
#2  0x00007ffff45b8a7a in QMenu::clear() () from
/nix/store/a7vlrrzdya0qsnsbwddmgpw873xj5mdb-qtbase-6.9.1/lib/libQt6Widgets.so.6
#3  0x00007ffff7a60269 in operator() (__closure=0x348d71e0) at
/home/user/sources/krita/libs/ui/input/KisPopupWidgetAction.cpp:73
#4  operator() (__closure=<optimized out>) at
/nix/store/a7vlrrzdya0qsnsbwddmgpw873xj5mdb-qtbase-6.9.1/include/QtCore/qobjectdefs_impl.h:116
#5  QtPrivate::FunctorCallBase::call_internal<void,
QtPrivate::FunctorCall<std::integer_sequence<long unsigned int>,
QtPrivate::List<>, void, KisPopupWidgetAction::end(QEvent*)::<lambda()>
>::call(KisPopupWidgetAction::end(QEvent*)::<lambda()>&, void**)::<lambda()> >
(args=<optimized out>, fn=...) at
/nix/store/a7vlrrzdya0qsnsbwddmgpw873xj5mdb-qtbase-6.9.1/include/QtCore/qobjectdefs_impl.h:65
#6  QtPrivate::FunctorCall<std::integer_sequence<long unsigned int>,
QtPrivate::List<>, void, KisPopupWidgetAction::end(QEvent*)::<lambda()> >::call
(f=..., arg=<optimized out>)
    at
/nix/store/a7vlrrzdya0qsnsbwddmgpw873xj5mdb-qtbase-6.9.1/include/QtCore/qobjectdefs_impl.h:115
#7  QtPrivate::FunctorCallable<KisPopupWidgetAction::end(QEvent*)::<lambda()>
>::call<QtPrivate::List<>, void> (f=..., arg=<optimized out>)
    at
/nix/store/a7vlrrzdya0qsnsbwddmgpw873xj5mdb-qtbase-6.9.1/include/QtCore/qobjectdefs_impl.h:337
#8  QtPrivate::QCallableObject<KisPopupWidgetAction::end(QEvent*)::<lambda()>,
QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase *, QObject *,
void **, bool *) (which=<optimized out>, this_=0x348d71d0,
    r=<optimized out>, a=<optimized out>, ret=<optimized out>) at
/nix/store/a7vlrrzdya0qsnsbwddmgpw873xj5mdb-qtbase-6.9.1/include/QtCore/qobjectdefs_impl.h:547
#9  0x00007ffff3016f0a in QObject::event(QEvent*) () from
/nix/store/a7vlrrzdya0qsnsbwddmgpw873xj5mdb-qtbase-6.9.1/lib/libQt6Core.so.6
#10 0x00007ffff43a1c2d in QApplicationPrivate::notify_helper(QObject*, QEvent*)
() from
/nix/store/a7vlrrzdya0qsnsbwddmgpw873xj5mdb-qtbase-6.9.1/lib/libQt6Widgets.so.6
#11 0x00007ffff7b0acae in KisApplication::notify (this=0x7ffffffd8f00,
receiver=0x35e8210, event=0x347ffe80) at
/home/user/sources/krita/libs/ui/KisApplication.cpp:820
#12 0x00007ffff2fb8098 in QCoreApplication::notifyInternal2(QObject*, QEvent*)
() from
/nix/store/a7vlrrzdya0qsnsbwddmgpw873xj5mdb-qtbase-6.9.1/lib/libQt6Core.so.6
#13 0x00007ffff2fbbf88 in QCoreApplicationPrivate::sendPostedEvents(QObject*,
int, QThreadData*) () from
/nix/store/a7vlrrzdya0qsnsbwddmgpw873xj5mdb-qtbase-6.9.1/lib/libQt6Core.so.6
#14 0x00007ffff32e5f3f in postEventSourceDispatch(_GSource*, int (*)(void*),
void*) () from
/nix/store/a7vlrrzdya0qsnsbwddmgpw873xj5mdb-qtbase-6.9.1/lib/libQt6Core.so.6
#15 0x00007ffff2503f6d in g_main_context_dispatch_unlocked () from
/nix/store/kww24b3s330m61gy3n7fdl6517vpayv6-glib-2.84.3/lib/libglib-2.0.so.0
#16 0x00007ffff25062b8 in g_main_context_iterate_unlocked.isra () from
/nix/store/kww24b3s330m61gy3n7fdl6517vpayv6-glib-2.84.3/lib/libglib-2.0.so.0
#17 0x00007ffff2506b4f in g_main_context_iteration () from
/nix/store/kww24b3s330m61gy3n7fdl6517vpayv6-glib-2.84.3/lib/libglib-2.0.so.0
#18 0x00007ffff32e55d3 in
QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) ()
from
/nix/store/a7vlrrzdya0qsnsbwddmgpw873xj5mdb-qtbase-6.9.1/lib/libQt6Core.so.6
#19 0x00007ffff2fc6e4b in
QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from
/nix/store/a7vlrrzdya0qsnsbwddmgpw873xj5mdb-qtbase-6.9.1/lib/libQt6Core.so.6
#20 0x00007ffff2fc1ea1 in QCoreApplication::exec() () from
/nix/store/a7vlrrzdya0qsnsbwddmgpw873xj5mdb-qtbase-6.9.1/lib/libQt6Core.so.6
#21 0x0000000000409fce in main (argc=<optimized out>, argv=<optimized out>) at
/home/user/sources/krita/krita/main.cc:802
```

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

Reply via email to