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

            Bug ID: 434686
           Summary: kwin_wayland aborted in egl_provider_resolver when the
                    splash screen was shown
           Product: kwin
           Version: 5.21.3
          Platform: Fedora RPMs
                OS: Linux
            Status: REPORTED
          Severity: normal
          Priority: NOR
         Component: wayland-generic
          Assignee: kwin-bugs-n...@kde.org
          Reporter: matthew.fagn...@utoronto.ca
  Target Milestone: ---

SUMMARY

I was logging into Plasma 5.21.3 on Wayland in a Fedora 34 KDE Plasma
installation. The splash screen was shown. I moved the cursor to the top left
of the screen, and the top left turned blue. kwin_wayland aborted in
egl_provider_resolver at src/egl_generated_dispatch.c:3911 in
libepoxy-1.5.5-2.fc34. The trace showed that kwin_wayland might've been
destroying an EGL DMAbuf buffer in frames 3 to 8.

Core was generated by `kwin_wayland --wayland_fd 4 --xwayland
/usr/libexec/startplasma-waylandsession'.
Program terminated with signal SIGABRT, Aborted.
#0  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:49
49        return ret;
[Current thread is 1 (Thread 0x7ffa879b8940 (LWP 5407))]

(gdb) bt
#0  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:49
#1  0x00007ffa868a1950 in __GI_abort () at abort.c:100
#2  0x00007ffa86e0bcb9 in egl_provider_resolver
    (name=name@entry=0x7ffa86e31b5c <entrypoint_strings+988>
"eglDestroyImageKHR", providers=providers@entry=0x7ffa86e31704
<providers.23.lto_priv>, entrypoints=entrypoints@entry=0x7ffa86e316f8
<entrypoints.22.lto_priv>) at src/egl_generated_dispatch.c:3911
#3  0x00007ffa86e0f55a in epoxy_eglDestroyImageKHR_resolver () at
src/egl_generated_dispatch.c:4264
#4  epoxy_eglDestroyImageKHR_global_rewrite_ptr (dpy=0x55b7fbe3a490,
image=0x55b7fca06680)
    at src/egl_generated_dispatch.c:5059
#5  0x00007ffa73382be7 in KWin::EglDmabufBuffer::removeImages()
(this=this@entry=0x55b7fca38d40)
    at
/usr/src/debug/kwin-5.21.3-1.fc34.x86_64/platformsupport/scenes/opengl/egl_dmabuf.cpp:166
#6  0x00007ffa73382d97 in KWin::EglDmabufBuffer::~EglDmabufBuffer()
    (this=0x55b7fca38d40, this=<optimized out>)
    at
/usr/src/debug/kwin-5.21.3-1.fc34.x86_64/platformsupport/scenes/opengl/egl_dmabuf.cpp:150
#7  KWin::EglDmabufBuffer::~EglDmabufBuffer() (this=0x55b7fca38d40,
this=<optimized out>)
    at
/usr/src/debug/kwin-5.21.3-1.fc34.x86_64/platformsupport/scenes/opengl/egl_dmabuf.cpp:151
#8  0x00007ffa8454f0cf in destroy_resource (element=0x55b7fca28d80,
data=data@entry=0x0, flags=0)
    at ../src/wayland-server.c:724
#9  0x00007ffa84550bb1 in wl_resource_destroy (resource=<optimized out>)
    at ../src/wayland-server.c:741
#10 0x00007ffa81db9c04 in ffi_call_unix64 () at ../src/x86/unix64.S:76
#11 0x00007ffa81db9107 in ffi_call
    (cif=cif@entry=0x7ffc41d5cd00, fn=<optimized out>, rvalue=<optimized out>, 
    rvalue@entry=0x0, avalue=avalue@entry=0x7ffc41d5cdd0) at
../src/x86/ffi64.c:525
#12 0x00007ffa8454c670 in wl_closure_invoke
--Type <RET> for more, q to quit, c to continue without paging--c
    (closure=closure@entry=0x55b7fcdf7cf0, target=<optimized out>,
target@entry=0x55b7fca28d80, opcode=opcode@entry=0, data=<optimized out>,
data@entry=0x55b7fc9f6320, flags=<optimized out>) at ../src/connection.c:1018
#13 0x00007ffa845506e4 in wl_client_connection_data (fd=<optimized out>,
mask=<optimized out>, data=0x55b7fc9f6320) at ../src/wayland-server.c:432
#14 0x00007ffa8454f21a in wl_event_loop_dispatch (loop=0x55b7fbc19230,
timeout=<optimized out>) at ../src/event-loop.c:1027
#15 0x00007ffa86f59c6a in KWaylandServer::Display::dispatchEvents()
(this=<optimized out>) at
/usr/src/debug/kwayland-server-5.21.3-1.fc34.x86_64/src/server/display.cpp:107
#16 0x00007ffa883b24b0 in QtPrivate::QSlotObjectBase::call(QObject*, void**)
(a=0x7ffc41d5d3f0, r=<optimized out>, this=0x55b7fbc0edd0) at
../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398
#17 doActivate<false>(QObject*, int, void**) (sender=0x55b7fc625520,
signal_index=3, argv=0x7ffc41d5d3f0) at kernel/qobject.cpp:3886
#18 0x00007ffa883ac9e7 in QMetaObject::activate(QObject*, QMetaObject const*,
int, void**) (sender=sender@entry=0x55b7fc625520, m=m@entry=0x7ffa88647440
<QSocketNotifier::staticMetaObject>,
local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x7ffc41d5d3f0)
at kernel/qobject.cpp:3946
#19 0x00007ffa883b4b3a in QSocketNotifier::activated(QSocketDescriptor,
QSocketNotifier::Type, QSocketNotifier::QPrivateSignal)
(this=this@entry=0x55b7fc625520, _t1=..., _t2=<optimized out>, _t3=...) at
.moc/moc_qsocketnotifier.cpp:178
#20 0x00007ffa883b52d4 in QSocketNotifier::event(QEvent*) (this=0x55b7fc625520,
e=<optimized out>) at kernel/qsocketnotifier.cpp:302
#21 0x00007ffa87380e73 in QApplicationPrivate::notify_helper(QObject*, QEvent*)
(this=<optimized out>, receiver=0x55b7fc625520, e=0x7ffc41d5d510) at
kernel/qapplication.cpp:3632
#22 0x00007ffa88381f48 in QCoreApplication::notifyInternal2(QObject*, QEvent*)
(receiver=0x55b7fc625520, event=0x7ffc41d5d510) at
kernel/qcoreapplication.cpp:1063
#23 0x00007ffa883cba6e in
QEventDispatcherUNIXPrivate::activateSocketNotifiers() (this=0x55b7fbbe7720) at
kernel/qeventdispatcher_unix.cpp:304
#24 0x00007ffa883cbde5 in
QEventDispatcherUNIX::processEvents(QFlags<QEventLoop::ProcessEventsFlag>)
(this=<optimized out>, flags=...) at kernel/qeventdispatcher_unix.cpp:511
#25 0x000055b7fade4e11 in
QUnixEventDispatcherQPA::processEvents(QFlags<QEventLoop::ProcessEventsFlag>)
()
#26 0x00007ffa883809b2 in
QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>)
(this=this@entry=0x7ffc41d5d680, flags=..., flags@entry=...) at
../../include/QtCore/../../src/corelib/global/qflags.h:69
#27 0x00007ffa88388544 in QCoreApplication::exec() () at
../../include/QtCore/../../src/corelib/global/qflags.h:121
#28 0x000055b7fad915b4 in main(int, char**) (argc=<optimized out>,
argv=0x7ffc41d5d8c0) at
/usr/src/debug/kwin-5.21.3-1.fc34.x86_64/main_wayland.cpp:788

KDE programs depending on kwin_wayland also aborted. kwin_wayland restarted
automatically, and Plasma started after about 10 seconds. 

STEPS TO REPRODUCE
1. Boot a Fedora 34 KDE Plasma installation updated to 2021-3-19 with the
updates-testing repo enabled. 
2. log into Plasma 5.21.3 on Wayland 
3. move the cursor to the top left of the screen when the splash screen is
shown

OBSERVED RESULT
kwin_wayland aborted in egl_provider_resolver when the splash screen was shown

EXPECTED RESULT
No crash would happen.

SOFTWARE/OS VERSIONS
Linux/KDE Plasma: Fedora 34
(available in About System)
KDE Plasma Version: 5.21.3
KDE Frameworks Version: 5.80.0
Qt Version: 5.15.2

ADDITIONAL INFORMATION

coredumpctl had crashes with the same trace from 5.20.4 and 5.20.90 which also
happened when logging in to Plasma.

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

Reply via email to