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

            Bug ID: 386430
           Summary: Crash in XCB kwin crash handler
           Product: kwin
           Version: unspecified
          Platform: Other
                OS: Linux
            Status: UNCONFIRMED
          Severity: normal
          Priority: NOR
         Component: general
          Assignee: kwin-bugs-n...@kde.org
          Reporter: k...@davidedmundson.co.uk
  Target Milestone: ---

Run:

kwin_x11 --crashes 20

We get the prompt to select a WM. On exit, kwin crashes.

Valgrind

==8307== Memcheck, a memory error detector
==8307== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al.
==8307== Using Valgrind-3.13.0 and LibVEX; rerun with -h for copyright info
==8307== Command: kwin_x11 --crashes 20
==8307== 
==8307== Invalid read of size 4
==8307==    at 0x4E4528B: std::__atomic_base<int>::operator--()
(atomic_base.h:304)
==8307==    by 0xF1964A1: bool QAtomicOps<int>::deref<int>(std::atomic<int>&)
(qatomic_cxx11.h:271)
==8307==    by 0xF1956E9: QBasicAtomicInteger<int>::deref()
(qbasicatomic.h:114)
==8307==    by 0xF195795:
QExplicitlySharedDataPointer<KWin::XRenderPictureData>::~QExplicitlySharedDataPointer()
(qshareddata.h:165)
==8307==    by 0xF1953AB: KWin::XRenderPicture::~XRenderPicture()
(kwinxrenderutils.h:66)
==8307==    by 0xF193E82: KWin::XRenderUtils::cleanup()
(kwinxrenderutils.cpp:46)
==8307==    by 0x2054F9A0:
KWin::X11StandalonePlatform::~X11StandalonePlatform() (x11_platform.cpp:90)
==8307==    by 0x2054F9FD:
KWin::X11StandalonePlatform::~X11StandalonePlatform() (x11_platform.cpp:91)
==8307==    by 0xE252284: QLibraryPrivate::unload(QLibraryPrivate::UnloadFlag)
(qlibrary.cpp:562)
==8307==    by 0xE25360E: cleanup (qlibrary.cpp:403)
==8307==    by 0xE25360E: qlibraryCleanup() (qlibrary.cpp:427)
==8307==    by 0xE2539D0: (anonymous
namespace)::qlibraryCleanup_dtor_class_::~qlibraryCleanup_dtor_class_()
(qlibrary.cpp:429)
==8307==    by 0xEE117F1: __cxa_finalize (in /usr/lib/libc-2.26.so)
==8307==  Address 0x1c978e90 is 0 bytes inside a block of size 8 free'd
==8307==    at 0x4C2E64B: operator delete(void*) (in
/usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==8307==    by 0xF1957CD:
QExplicitlySharedDataPointer<KWin::XRenderPictureData>::~QExplicitlySharedDataPointer()
(qshareddata.h:165)
==8307==    by 0xF1953AB: KWin::XRenderPicture::~XRenderPicture()
(kwinxrenderutils.h:66)
==8307==    by 0xEE117F1: __cxa_finalize (in /usr/lib/libc-2.26.so)
==8307==    by 0xF193DF3: ??? (in
/opt/kde5/lib64/libkwinxrenderutils.so.5.11.90)
==8307==    by 0x400FBF2: _dl_fini (in /usr/lib/ld-2.26.so)
==8307==    by 0xEE11487: __run_exit_handlers (in /usr/lib/libc-2.26.so)
==8307==    by 0xEE114D9: exit (in /usr/lib/libc-2.26.so)
==8307==    by 0x4E41226: KWin::ApplicationX11::crashChecking()
(main_x11.cpp:295)
==8307==    by 0x4E40E77: KWin::ApplicationX11::performStartup()
(main_x11.cpp:212)
==8307==    by 0x5216D39: KWin::Application::start() (main.cpp:156)
==8307==    by 0x4E423D6: kdemain (main_x11.cpp:461)
==8307==  Block was alloc'd at
==8307==    at 0x4C2D52F: operator new(unsigned long) (in
/usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==8307==    by 0xF19521D: KWin::XRenderPicture::XRenderPicture(unsigned int)
(kwinxrenderutils.h:103)
==8307==    by 0xF194D05: __static_initialization_and_destruction_0(int, int)
(kwinxrenderutils.cpp:36)
==8307==    by 0xF194D5B: _GLOBAL__sub_I_kwinxrenderutils.cpp
(kwinxrenderutils.cpp:296)
==8307==    by 0x400F579: call_init.part.0 (in /usr/lib/ld-2.26.so)
==8307==    by 0x400F685: _dl_init (in /usr/lib/ld-2.26.so)
==8307==    by 0x4000F69: ??? (in /usr/lib/ld-2.26.so)
==8307==    by 0x2: ???
==8307==    by 0x1FFF000552: ???
==8307==    by 0x1FFF00055B: ???
==8307==    by 0x1FFF000565: ???
==8307== 
==8307== 
==8307== HEAP SUMMARY:
==8307==     in use at exit: 977,074 bytes in 11,934 blocks
==8307==   total heap usage: 98,322 allocs, 86,388 frees, 4,145,312,485 bytes
allocated
==8307== 
==8307== LEAK SUMMARY:
==8307==    definitely lost: 280 bytes in 2 blocks
==8307==    indirectly lost: 56 bytes in 3 blocks
==8307==      possibly lost: 1,752 bytes in 19 blocks
==8307==    still reachable: 974,986 bytes in 11,910 blocks
==8307==                       of which reachable via heuristic:
==8307==                         newarray           : 1,712 bytes in 21 blocks
==8307==         suppressed: 0 bytes in 0 blocks
==8307== Rerun with --leak-check=full to see details of leaked memory
==8307== 
==8307== For counts of detected and suppressed errors, rerun with: -v
==8307== ERROR SUMMARY: 3 errors from 1 contexts (suppressed: 0 from 0)

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

Reply via email to