https://bugs.kde.org/show_bug.cgi?id=440778
--- Comment #5 from Jiri Slaby <jirisl...@gmail.com> --- (In reply to Nate Graham from comment #4) > Feel free to submit a merge request to fix it! If I only knew what the root cause is -- I only described the symptoms... The Display is callocated (so zeroed) and lock_fns explicitly set to NULL in OpenDisplay. lock_fns is then touched (Xmalloc-ed) only in _XInitDisplayLock. Anyway, whole _XDisplay structure seems to be mangled: > $4 = {ext_data = 0x7f169265d0a0 <wl_display_interface>, free_funcs = > 0x7f1692509d70, fd = 1, conn_checker = 0, proto_major_version = 904794160, > proto_minor_version = 21891, vendor = 0x558335ee1100 "", resource_base = > 4294967296, resource_mask = 94022033870896, resource_id = 0, resource_shift = > 0, > resource_alloc = 0x0, byte_order = 904802176, bitmap_unit = 21891, > bitmap_pad = 0, bitmap_bit_order = 0, nformats = 0, pixmap_format = 0x0, > vnumber = 0, > release = 0, head = 0x3, tail = 0xf8, qlen = 256, last_request_read = > 94022033919856, request = 0, last_req = 0x0, buffer = 0x0, > bufptr = 0x1 <error: Cannot access memory at address 0x1>, bufmax = > 0x558335ee10e8 "\350\020\356\065\203U", max_request_size = 904794344, > db = 0x558335ee1030, synchandler = 0x558335ee1100, display_name = > 0x558335ee1100 "", default_screen = 904794160, nscreens = 21891, screens = > 0x0, > motion_buffer = 0, flags = 0, min_keycode = 0, max_keycode = 0, keysyms = > 0x0, modifiermap = 0xdd00000000, keysyms_per_keycode = 0, xdefaults = 0x0, > scratch_buffer = 0x0, scratch_length = 0, ext_number = 0, ext_procs = 0x0, > event_vec = {0xe1, 0x7f16903b4640, 0x558335f569e0, 0x6400000001, > 0x7f16903b3c68, > 0x7f1695fa7680 <QMapDataBase::shared_null>, 0x1, 0x0, 0x0, 0x0, > 0x7f16903b3c68, 0x7f1695fa7680 <QMapDataBase::shared_null>, 0x1, 0x0, 0x0, > 0x0, > 0x7f16903b3c68, 0x7f1695fa7680 <QMapDataBase::shared_null>, 0x1, 0x0, > 0x0, 0x0, 0x7f16903b3c68, 0x7f1695fa7680 <QMapDataBase::shared_null>, 0x1, > 0x0, > 0x0, 0x0, 0x21, > 0x7f16925aa460 > <QtWaylandClient::QWaylandWindowManagerIntegration::wlHandleListenerGlobal(void*, > wl_registry*, unsigned int, QString const&, unsigned int)>, 0x558335edacc0, > 0x0, 0x31, 0x7f16959c1a00 <main_arena>, 0x558335ee0ed0, 0x5583357d3840 > <QHashData::shared_null>, 0x0, 0x0, 0x31, 0x200000001, 0x100000000, > 0x558335ee1260, 0x0, 0x0, 0x31, 0x558335ed97e0, 0x0, 0x626b782f6769666e, > 0x558335ee1200, 0x0, 0x31, 0x73782f656d6f682f, 0x6f632e2f7962616c, > 0x626b782f6769666e, 0x0, 0x0, 0x31, 0x558335ee1310, 0x558335ed97a0, > 0x558335ee1410, 0x0, 0x0, 0x41, 0x6168732f7273752f, 0x6c61636f6c2f6572, > 0x5f434c2f73632f65, 0x534547415353454d, 0x6f6d2e6362696c2f, 0x0, 0x0, > 0x41, 0x558335ee1370, 0x7f1600000001, 0x558335edba20, 0x5583363fd630, 0x0, > 0x0, > 0x0, 0x21, 0x558335edca90, 0xffffffffffffffff, 0x0, 0x21, > 0x626b782f6374652f, 0x0, 0x62, 0x21, 0x558335eb2e40, 0x0, 0x0, 0x71, > 0x2700000001, 0x28, 0x18, > 0x5f00700077007a, 0x6d006900720070, 0x5f007900720061, 0x65006c00650073, > 0x6f006900740063, 0x650064005f006e, 0x65006300690076, 0x6e0061006d005f, > 0x72006500670061, 0x310076005f, 0x31, 0x558335f6d710, 0x400, > 0x558335f4b830, 0x200000001bd, 0x0, 0x31, 0x100000001, 0x2, 0x18, > 0xde78c2c000000034, 0x30, > 0x21, 0x31646f4d, 0x0, 0x0, 0x61, 0x7f1696190750 <vtable for > QObjectPrivate+16>, 0x558335eb5570, 0x0, 0x5583357d38f0 > <QListData::shared_null>, > 0x35ee1130, 0x0, 0x0}, wire_vec = {0x558335eb4ba0, 0x0, 0x0, 0x0, 0x21, > 0x7f169265de18 <vtable for QtWaylandClient::QWaylandTabletManagerV2+16>, > 0x558335eec340, 0x0, 0x101, 0xc00000001, 0xe, 0x18, 0x24, 0xa00000060, > 0x2c, 0xa00000060, 0x74, 0xa00000060, 0x558336020de0, 0x1000000a0, 0x18, > 0xa00000060, 0x0, 0x0, 0x48, 0xa00000060, 0x58, 0xa00000060, 0xc, > 0xa00000060, 0x0, 0x114, 0x0, 0xa00000060, 0x50f00, 0x0, 0x558336020480, > 0x558336011de0, 0x0, 0x100003176, 0x101, 0xa00000001, 0xe, 0x18, 0x0, > 0xa00000060, 0x558335f759b0, 0x1000000a0, 0xc, 0xa00000060, 0x28, 0xa00000060, > 0x44, 0xa00000060, 0x5c, 0xa00000060, 0x78, 0xa00000060, 0x0, 0x114, > 0x90, 0xa00000060, 0x0, 0x115, 0x224, 0xa00000060, 0x240, 0x600000060, 0x2ac, > 0xa00000060, 0x2c0, 0x600000060, 0x21, 0x7f169265dfa0 <vtable for > QtWaylandClient::QWaylandShm+16>, 0x558335eec750, 0x558335eeca40, 0x31, > 0x700000001, > 0x8, 0x18, 0x75006e0069006c, 0x6200660078, 0x111, 0xac00000001, > 0x7f16000000e8, 0x18, 0x7372657600000007, 0x5006e6f69, 0x6775626564, > 0x6863726100000007, > 0x300716572, 0x3e00444949, 0x702d74712e67726f, 0x512e7463656a6f72, > 0x50512e4150512e74, 0x496d726f6674616c, 0x697461726765746e, > 0x726f746361466e6f, > 0x61667265746e4979, 0x332e352e6563, 0x73616c6300000009, 0x656d614e73, > 0x6e694c5100000019, 0x65746e4962467875, 0x506e6f6974617267, 0x42006e6967756c, > 0x6174654d00000008, 0x7f0061746144, 0x558335ed9688, 0x7fff8b1f4660, > 0x558335eb4840, 0x7fff8b1f46d8, 0x0, 0x5583357d38c0 <QArrayData::shared_null>, > 0x5583357d38c0 <QArrayData::shared_null>, 0x5583357d38c0 > <QArrayData::shared_null>, 0x31, 0x558335ee2091, 0x0, 0x0, 0x558335ed9680, > 0x558335ee19d0, 0x21, > 0xa100000001, 0x558335eda830, 0x558335eda630, 0x31, 0x700000001}, > lock_meaning = 8, lock = 0x18, async_handlers = 0x6c007900610077, > bigreq_size = 429503938657, lock_fns = 0x31, idlist_alloc = 0x800000001, > key_bindings = 0x7f1600000009, cursor_font = 24, atoms = 0x7379654b00000004, > mode_switch = 3473408, num_lock = 7340079, context_db = 0x71, error_vec = > 0x558335ed9680, cms = { > defaultCCCs = 0x5583357d38c0 <QArrayData::shared_null> > "\377\377\377\377", clientCmaps = 0x0, perVisualIntensityMaps = 0x0}, > im_filters = 0x0, > qfree = 0x0, next_event_serial_num = 0, flushes = 0x0, im_fd_info = > 0x558335ee29a0, im_fd_length = 897398976, > conn_watchers = 0x5583357d38c0 <QArrayData::shared_null>, watcher_count = > 8, filedes = 0x0, savedsynchandler = 0x71, resource_max = 94022033877024, > xcmisc_opcode = 897398976, xkb_info = 0x0, trans_conn = 0x0, xcb = 0x0, > next_cookie = 0, generic_event_vec = {0x0, 0x0, 0x558335ee1950, > 0x5583357d38c0 <QArrayData::shared_null>, 0x5583357d38c0 > <QArrayData::shared_null>, 0x100000008, 0x0, 0x41, 0x100000001, 0x2, 0x18, > 0x0, 0xa00000060, > 0x756c506e6f697461, 0x6f006e6967, 0x41, 0x100000001, 0x2, 0x18, 0x0, > 0xa00000060, 0x10a00000006c0067, 0x100000080, 0x31, 0x558335ee28b1, 0x0, 0x0, > 0x558335eda4e0, 0x558335eda7c0, 0x51, 0x558335ede290, 0x558335edf100, > 0x7f169546b0c0, 0x7f16962c9400, 0x0, 0x558335ede290, 0x558335edf100, > 0x7f169546b0c0, 0x7f16962c9400, 0x71, 0x558335eb91e0, 0x5583357d38c0 > <QArrayData::shared_null>, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x558335ed97c0, > 0x5583357d38c0 <QArrayData::shared_null>, 0x5583357d38c0 > <QArrayData::shared_null>, 0x100000008, 0x0, 0x71, 0x558335ee2db0, > 0x5583357d38c0 <QArrayData::shared_null>, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, > 0x558335ee2e40, 0x5583357d38c0 <QArrayData::shared_null>, > 0x5583357d38c0 <QArrayData::shared_null>, 0x100000008, 0x0, 0x81, > 0x2b00000002, 0x2d, 0x18, 0x7200730075002f, 0x620069006c002f, > 0x71002f00340036, > 0x70002f00350074, 0x6900670075006c, 0x70002f0073006e, 0x6600740061006c, > 0x73006d0072006f, 0x620069006c002f, 0x63006e00760071, 0x6f0073002e, > 0x100000000, > 0x21, 0x6c2f343662696c2f, 0x2e74617078656269, 0x312e6f73, 0x21, > 0x6c00343662696c2f, 0x2e74617078656269, 0x7f00312e6f73, 0x21, > 0xffffffff00000003, > 0x558335ed9790, 0x20, 0x31, 0xb00000001, 0x0, 0x558335eda570, 0x0, > 0x558335ed9770, 0xa1, 0x7f169265def0, 0x558335eeb670, 0x558335ee0ed0, 0x0, > 0x0, > 0x71002f00000000, 0x5583357d38f0 <QListData::shared_null>, 0x5583357d38c0 > <QArrayData::shared_null>, 0x70002f00000000, 0x0, > 0x5583357d38c0 <QArrayData::shared_null>, 0x620069006c0000, 0x0, 0x0, > 0x0, 0x0, 0x558335ed90e0, 0x32007800000002, 0x0, 0xa1, 0x3e00000002, 0x40, > 0x18, > 0x7200730075002f, 0x620069006c002f, 0x71002f00340036}, > generic_event_copy_vec = {0x70002f00350074, 0x6900670075006c, > 0x70002f0073006e, 0x6600740061006c, > 0x73006d0072006f, 0x620069006c002f, 0x79006100770071, 0x64006e0061006c, > 0x6f00630078002d, 0x73006f0070006d, 0x2d006500740069, 0x2e006c00670065, > 0x6f0073, > 0x51, 0x1600000001, 0x17, 0x18, 0x6100740053002f, 0x4e007300750074, > 0x6600690074006f, 0x57007200650069, 0x68006300740061, 0x720065, 0x51, > 0x558335edddc0, > 0x558335ede290, 0x7f169546b0c0, 0x7f16962c9400, 0x0, 0x558335edddc0, > 0x558335ede290, 0x7f169546b0c0, 0x7f16962c9400, 0x111, 0xa800000001, > 0x7f16000000e8, > 0x18, 0x7372657600000007, 0x5006e6f69, 0x6775626564, 0x6863726100000007, > 0x300716572, 0x3e00444949, 0x702d74712e67726f, 0x512e7463656a6f72, > 0x50512e4150512e74, 0x496d726f6674616c, 0x697461726765746e, > 0x726f746361466e6f, 0x61667265746e4979, 0x332e352e6563, 0x73616c6300000009, > 0x656d614e73, > 0x6c67455100000017, 0x726765746e495346, 0x756c506e6f697461, 0x8006e6967, > 0x617461446174654d, 0x7fff8b1f4800, 0x7f1695d18213 > <QListData::realloc_grow(int)+51>, 0x7fff8b1f47f0, 0x7fff8b1f47e0, 0x2, > 0x0, 0x5583357d38c0 <QArrayData::shared_null>, > 0x5583357d38c0 <QArrayData::shared_null>, 0x5583357d38c0 > <QArrayData::shared_null>, 0x31, 0x5583362e8071, 0x558335ed9410, > 0x558335ee1920, 0x558335ee2db0, > 0x558335ee1c20, 0x41, 0x200000001, 0x2, 0x18, 0x0, 0xa00000060, > 0x558335ee2d90, 0x100000080, 0x81, 0x2900000001, 0x2a, 0x18, 0x5f00700077007a, > 0x6200790065006b, 0x6400720061006f, 0x6f00680073005f, 0x75006300740072, > 0x69005f00730074, 0x6200690068006e, 0x6d005f00740069, 0x670061006e0061, > 0x76005f00720065, 0x558300000031, 0x1000000a0, 0x101, 0xc00000001, > 0x7f160000000e, 0x18, 0x24, 0xa00000060, 0x2c, 0xa00000060, 0xa0, 0xa00000060, > 0x558335ed9710, 0x1000000a0, 0x18, 0xa00000060, 0x0, 0x0, 0x70, > 0xa00000060, 0x80, 0xa00000060, 0xc, 0xa00000060, 0x0, 0x114, 0x0, > 0xa00000060, 0x50f00, > 0x0, 0x7fff8b1f47e0, 0x10, 0x0}, cookiejar = 0x5583357d38c0 > <QArrayData::shared_null>, error_threads = 0x111, exit_handler = 0xac00000001, > exit_handler_data = 0xe8} dpy->lock is 0x18 dpy->lock_meaning is 0x8 (gdb) p *dpy->screens Cannot access memory at address 0x0 (gdb) p dpy->nscreens $16 = 21891 OTOH, for example dpy->im_fd_info looks to be correct: > (gdb) p *dpy->im_fd_info > $15 = {fd = 1, read_callback = 0x558335ee2280, call_data = 0x558335ee2180 > "\001", watch_data = 0x31, next = 0xb00000001} For another crash: (gdb) p *dpy->screens Cannot access memory at address 0x0 (gdb) p dpy->nscreens $1 = 22056 (gdb) p dpy->lock $2 = (struct _XLockInfo *) 0x18 (gdb) p/x dpy->lock_meaning $3 = 0x8 (gdb) p *dpy->im_fd_info $4 = {fd = 1, read_callback = 0x5628d28ab280, call_data = 0x5628d28ab180 "\001", watch_data = 0x31, next = 0xb00000001} -- You are receiving this mail because: You are watching all bug changes.