Bug 1389944 - abiword: segfault on startup
Summary: abiword: segfault on startup
Keywords:
Status: CLOSED DUPLICATE of bug 1288847
Alias: None
Product: Fedora
Classification: Fedora
Component: abiword
Version: 25
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Marc Maurer
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On: 1387629
Blocks:
TreeView+ depends on / blocked
 
Reported: 2016-10-29 18:52 UTC by Ralph Giles
Modified: 2016-11-15 22:52 UTC (History)
4 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2016-11-15 22:52:42 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)

Description Ralph Giles 2016-10-29 18:52:59 UTC
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:

Comment 1 Ralph Giles 2016-10-29 18:54:06 UTC
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 ()

Comment 2 Ralph Giles 2016-10-29 18:58:29 UTC
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))

Comment 3 Ralph Giles 2016-10-29 19:11:00 UTC
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)

Comment 4 Ralph Giles 2016-10-29 19:42:10 UTC
I'm told this is fixed in 3.0.2. https://twitter.com/hfiguiere/status/792447371942780930

Comment 5 Ralph Giles 2016-10-29 19:49:37 UTC
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.

Comment 6 Hubert Figuiere 2016-10-29 20:18:44 UTC
Just upgrade to 3.0.2.

Comment 7 Hubert Figuiere 2016-10-29 20:30:40 UTC
Even though it doesn't work well with Gtk 3.22. (ok with 3.20)

Comment 8 Hubert Figuiere 2016-10-30 13:57:43 UTC
This is a dupe of bug 1288847

But I can't mark it as such, I have don't permissions.

Comment 9 Gwyn Ciesla 2016-11-15 22:52:42 UTC

*** This bug has been marked as a duplicate of bug 1288847 ***


Note You need to log in before you can comment on or make changes to this bug.