Description of problem: Abiword won't start on Fedora 25 beta 1.1. Running on the command line shows a segfault. Running in gdb shows: Thread 1 "abiword" received signal SIGSEGV, Segmentation fault. 0x00007ffff2af7bf4 in XkbUseExtension () from /lib64/libX11.so.6 Version-Release number of selected component (if applicable): abiword-1:3.0.1-12.fc25.x86_64 Fedora 25 install from beta 1.1 iso; up-to-date as of today. Lenovo X1 Carbon 3rd generation. How reproducible: always Steps to Reproduce: 1. dnf install abiword 2. abiword Actual results: Segfault (or silent failure to launch if started from gnome-shell). Expected results: Abiword runs. Additional info:
After installing debuginfo, gdb gives the following backtrace: Thread 1 "abiword" received signal SIGSEGV, Segmentation fault. 0x00007ffff2aeeb14 in _XkbReloadDpy (dpy=0x5555557be0b0) at XKBBind.c:555 555 LockDisplay(dpy); (gdb) bt #0 0x00007ffff2aeeb14 in _XkbReloadDpy (dpy=0x5555557be0b0) at XKBBind.c:555 #1 0x00007ffff2aef11d in XKeysymToKeycode (dpy=dpy@entry=0x5555557be0b0, ks=ks@entry=65513) at XKBBind.c:159 #2 0x00007ffff79fd125 in s_getAltMask () at ev_UnixKeyboard.cpp:500 #3 ev_UnixKeyboard::ev_UnixKeyboard (this=0x555555935400, pEEM=<optimized out>) at ev_UnixKeyboard.cpp:67 #4 0x00007ffff79a18bf in XAP_UnixFrameImpl::_initialize (this=0x55555590df00) at xap_UnixFrameImpl.cpp:1320 #5 0x00007ffff79c5dbf in XAP_Frame::initialize ( this=this@entry=0x55555590de20, szMenuLayoutKey=szMenuLayoutKey@entry=0x7ffff7a3997a "MenuLayouts", szMenuLayoutDefaultValue=szMenuLayoutDefaultValue@entry=0x7ffff7a37b88 "Main", szMenuLabelSetKey=szMenuLabelSetKey@entry=0x7ffff7a162e2 "StringSet", szMenuLabelSetDefaultValue=0x7ffff7a162e2 "StringSet", szToolbarLayoutsKey=0x7ffff7a39992 "ToolbarLayouts", szToolbarLayoutsDefaultValue=0x7ffff7a399b8 "FileEditOps FormatOps TableOps ExtraOps", szToolbarLabelSetKey=0x7ffff7a162e2 "StringSet", szToolbarLabelSetDefaultValue=0x7ffff7a14ed0 "en-US") at xap_Frame.cpp:375 #6 0x00007ffff786be43 in AP_UnixFrame::initialize (this=this@entry= 0x55555590de20, frameMode=frameMode@entry=XAP_NormalFrame) at ap_UnixFrame.cpp:243 #7 0x00007ffff78303b5 in AP_UnixApp::newFrame (this=<optimized out>) at ap_UnixApp.cpp:476 #8 0x00007ffff7887878 in AP_App::openCmdLineFiles (this=this@entry= 0x555555777980, args=args@entry=0x7fffffffdee0) at ap_App.cpp:69 #9 0x00007ffff76f5c41 in AP_UnixApp::main (szAppName=<optimized out>, argc=<optimized out>, argv=<optimized out>) at ap_UnixApp.cpp:1382 #10 0x00007ffff198b401 in __libc_start_main ( main=0x555555554870 <main(int, char**)>, argc=1, argv=0x7fffffffe0d8, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7fffffffe0c8) at ../csu/libc-start.c:289 #11 0x00005555555548ba in _start ()
backtrace isn't always reproducible. Segfaults variously in different parts of Xkb: 0x00007ffff2aeeb14 in _XkbReloadDpy (dpy=0x5555557be0b0) at XKBBind.c:555 555 LockDisplay(dpy); 0x00007ffff2af2f56 in XkbGetMapChanges (dpy=dpy@entry=0x5555557be0b0, xkb=0x8fb6e8db89c6894d, changes=0x7ffff38d8968 <g_type_class_meta_marshal+40>) at XKBGetMap.c:853 853 LockDisplay(dpy); XkbUseExtension (dpy=dpy@entry=0x5555557be0b0, major_rtrn=major_rtrn@entry=0x0, minor_rtrn=minor_rtrn@entry=0x0) at XKBUse.c:652 652 dpy->free_funcs->xkb = _XkbFreeInfo; 0x00007ffff2aef061 in XKeysymToKeycode (dpy=dpy@entry=0x5555557bd8b0, ks=ks@entry=65513) at XKBBind.c:157 157 if (_XkbUnavailable(dpy))
Valgrind says: ** (abiword:24182): WARNING **: Running under buggy valgrind, see http://bugs.kde.org/show_bug.cgi?id=164298 ==24182== Invalid read of size 8 ==24182== at 0x9F02F47: XkbGetMapChanges (XKBGetMap.c:853) ==24182== by 0x9EFF138: XKeysymToKeycode (XKBBind.c:159) ==24182== by 0x540D124: s_getAltMask (ev_UnixKeyboard.cpp:500) ==24182== by 0x540D124: ev_UnixKeyboard::ev_UnixKeyboard(EV_EditEventMapper*) (ev_UnixKeyboard.cpp:67) ==24182== by 0x53B18BE: XAP_UnixFrameImpl::_initialize() (xap_UnixFrameImpl.cpp:1320) ==24182== by 0x53D5DBE: XAP_Frame::initialize(char const*, char const*, char const*, char const*, char const*, char const*, char const*, char const*, char const*, char const*) (xap_Frame.cpp:375) ==24182== by 0x527BE42: AP_UnixFrame::initialize(_FrameModes) (ap_UnixFrame.cpp:243) ==24182== by 0x52403B4: AP_UnixApp::newFrame() (ap_UnixApp.cpp:476) ==24182== by 0x5297877: AP_App::openCmdLineFiles(AP_Args const*) (ap_App.cpp:69) ==24182== by 0x5105C40: AP_UnixApp::main(char const*, int, char**) (ap_UnixApp.cpp:1382) ==24182== by 0xAF00400: (below main) (libc-start.c:289) ==24182== Address 0x1320f438 is 24 bytes before a block of size 232 alloc'd ==24182== at 0x4C2FA50: calloc (vg_replace_malloc.c:711) ==24182== by 0x9395600: g_malloc0 (gmem.c:124) ==24182== by 0x9123B07: type_class_init_Wm (gtype.c:2131) ==24182== by 0x9123B07: g_type_class_ref (gtype.c:2947) ==24182== by 0x9123234: g_type_class_ref (gtype.c:2939) ==24182== by 0x910A147: g_object_newv (gobject.c:1877) ==24182== by 0x910A863: g_object_new (gobject.c:1623) ==24182== by 0x7E25D86: _gdk_wayland_screen_create_root_window (gdkwindow-wayland.c:361) ==24182== by 0x7E1EBC7: _gdk_wayland_screen_new (gdkscreen-wayland.c:835) ==24182== by 0x7E1959E: _gdk_wayland_display_open (gdkdisplay-wayland.c:536) ==24182== by 0x7DBD9F4: gdk_display_manager_open_display (gdkdisplaymanager.c:472) ==24182== by 0x76ACF89: gtk_init_check (gtkmain.c:1082) ==24182== by 0x5105B0F: AP_UnixApp::main(char const*, int, char**) (ap_UnixApp.cpp:1323)
I'm told this is fixed in 3.0.2. https://twitter.com/hfiguiere/status/792447371942780930
I think the upstream fix is probably http://bugzilla.abisource.com/show_bug.cgi?id=13766 if you're rather backport than move to the new upstream tiny release.
Just upgrade to 3.0.2.
Even though it doesn't work well with Gtk 3.22. (ok with 3.20)
This is a dupe of bug 1288847 But I can't mark it as such, I have don't permissions.
*** This bug has been marked as a duplicate of bug 1288847 ***