Skip to content

add nullptr judgement which will led kwin crash sometimes

Gang Wu requested to merge (removed):master into master

if client use dnd protocol with some error. Sometimes it will led kwin crash because of datasource is nullptr.

 Stack trace of thread 23309:
            #0  0x0000007fa3042488 wl_resource_get_version (libwayland-server.so.0)
            #1  0x0000007fa65796e4 _ZN8KWayland6Server19DataSourceInterface11dndFinishedEv (libKF5WaylandServer.so.5)
            #2  0x0000007fa6576f50 _ZN8KWayland6Server18DataOfferInterface7Private14finishCallbackEP9wl_clientP11wl_resource (libKF5WaylandServer.so.5)
            #3  0x0000007fa1d89d6c ffi_call_SYSV (libffi.so.6)
            #4  0x0000007fa1d8a694 ffi_call (libffi.so.6)
            #5  0x0000007fa3047070 wl_closure_invoke (libwayland-server.so.0)
            #6  0x0000007fa30436ec wl_client_connection_data (libwayland-server.so.0)
            #7  0x0000007fa30453bc wl_event_loop_dispatch (libwayland-server.so.0)
            #8  0x0000007fa6580d14 _ZN8KWayland6Server7Display7Private8dispatchEv (libKF5WaylandServer.so.5)
            #9  0x0000007fa6580998 _ZZN8KWayland6Server7Display7Private21installSocketNotifierEvENKUlvE_clEv (libKF5WaylandServer.so.5)
            #10 0x0000007fa6588ccc call (libKF5WaylandServer.so.5)
            #11 0x0000007fa6588588 call<QtPrivate::List<>, void> (libKF5WaylandServer.so.5)
            #12 0x0000007fa6586884 impl (libKF5WaylandServer.so.5)
            #13 0x0000007fa51bb450 n/a (libQt5Core.so.5)
            #14 0x0000007fa51bf39c _ZN15QSocketNotifier9activatedE17QSocketDescriptorNS_4TypeENS_14QPrivateSignalE (libQt5Core.so.5)
            #15 0x0000007fa51bfd0c _ZN15QSocketNotifier5eventEP6QEvent (libQt5Core.so.5)
            #16 0x0000007fa5c353ac _ZN19QApplicationPrivate13notify_helperEP7QObjectP6QEvent (libQt5Widgets.so.5)
            #17 0x0000007fa5c3c424 _ZN12QApplication6notifyEP7QObjectP6QEvent (libQt5Widgets.so.5)
            #18 0x0000007fa5182084 _ZN16QCoreApplication15notifyInternal2EP7QObjectP6QEvent (libQt5Core.so.5)
            #19 0x0000007fa51dcdb0 _ZN27QEventDispatcherUNIXPrivate23activateSocketNotifiersEv (libQt5Core.so.5)
            #20 0x0000007fa51dd104 _ZN20QEventDispatcherUNIX13processEventsE6QFlagsIN10QEventLoop17ProcessEventsFlagEE (libQt5Core.so.5)
            #21 0x0000007f9ead80c4 _ZN23QUnixEventDispatcherQPA13processEventsE6QFlagsIN10QEventLoop17ProcessEventsFlagEE (KWinQpaPlugin.so)
            #22 0x0000007fa51807f4 _ZN10QEventLoop4execE6QFlagsINS_17ProcessEventsFlagEE (libQt5Core.so.5)
            #23 0x0000007fa51895d0 _ZN16QCoreApplication4execEv (libQt5Core.so.5)
            #24 0x000000000040faa4 main (kwin_wayland)
            #25 0x0000007fa4996d24 __libc_start_main (libc.so.6)
            #26 0x0000000000409a0c $x (kwin_wayland)
            #27 0x0000000000409a0c $x (kwin_wayland)

Merge request reports