With a little finagling, I've managed to produce a backtrace by using Quentin's suggested flag modifications to config.mk. This is attached. It seems to me only to confirm what we've already learned: the failure occurs in XmbLookupString. Perhaps with the additional diagnostic information Patrick was able to provide we'll figure it out.
As an aside: thanks to everyone who has patiently helped me figure out how to provide debugging information! Sorry I can't be more help. On Sun, Feb 10, 2019 at 5:39 PM Patrick Smith <pat42sm...@gmail.com> wrote: > > I'm experiencing a problem that appears very similar to this one, and > I can add a bit of information. > > Summary: When I have scim+anthy installed as an input method, the call > to XOpenIM fails, returning a null pointer. But I don't know much > about the internals of X, so can't be 100% sure this is the root of > the problem. Nor do I know what to look at next. > > My environment: up to date Arch Linux, dmenu 4.9. For X input methods, > using scim and anthy by setting environment variables: > > export XMODIFIERS=@im=SCIM > export GTK_IM_MODULE=scim > export QT_IM_MODULE=scim > > To reproduce the crash, I can do > > printf 'foo\nbar' | dmenu > > and then press return. With the Arch Linux 4.9, this produces a > segmentation fault. After I downgraded to the Arch version of dmenu > 4.8, it works correctly. > > So I downloaded the 4.9 source code and built it myself, with no > changes to config.mk or anything else. This version produces still > produces the segfault. > > Then I added debugging code to print some information to stderr. From > this, I see that the crash seems to be inside XmbLookupString, as > reported previously; the xic pointer returned from XCreateIC and > passed to XmbLookupString is null, and the xim pointer returned from > XOpenIM and passed to XCreateIC is also null. > > After this, I restarted X with scim disabled by commenting out the > exports mentioned above, and retried the printf into dmenu. Now it > works correctly, and reports that both XOpenIM and XCreateIC return > non-null pointers. > > I'm not sure what to look at next, so I hope that helps someone else > to diagnose the problem... >
#0 0x00007f25b05b3560 in XmbLookupString () from /usr/lib/libX11.so.6 No symbol table info available. #1 0x00005620c9f3d861 in keypress (ev=0x7ffe62443e50) at dmenu.c:315 buf = "P>Db\376\177\000\000P>Db\376\177\000\000PLH\312 V\000\000\000\000\000\000\000\000\000" len = 32766 ksym = 139799849240050 status = 1648640192 #2 0x00005620c9f3e66b in run () at dmenu.c:574 ev = {type = 2, xany = {type = 2, serial = 76, send_event = 0, display = 0x5620ca484c50, window = 14680068}, xkey = {type = 2, serial = 76, send_event = 0, display = 0x5620ca484c50, window = 14680068, root = 467, subwindow = 0, time = 86032878, x = 1078, y = 1918, x_root = 1078, y_root = 1918, state = 0, keycode = 38, same_screen = 1}, xbutton = {type = 2, serial = 76, send_event = 0, display = 0x5620ca484c50, window = 14680068, root = 467, subwindow = 0, time = 86032878, x = 1078, y = 1918, x_root = 1078, y_root = 1918, state = 0, button = 38, same_screen = 1}, xmotion = {type = 2, serial = 76, send_event = 0, display = 0x5620ca484c50, window = 14680068, root = 467, subwindow = 0, time = 86032878, x = 1078, y = 1918, x_root = 1078, y_root = 1918, state = 0, is_hint = 38 '&', same_screen = 1}, xcrossing = {type = 2, serial = 76, send_event = 0, display = 0x5620ca484c50, window = 14680068, root = 467, subwindow = 0, time = 86032878, x = 1078, y = 1918, x_root = 1078, y_root = 1918, mode = 0, detail = 38, same_screen = 1, focus = 22048, state = 3393959744}, xfocus = {type = 2, serial = 76, send_event = 0, display = 0x5620ca484c50, window = 14680068, mode = 467, detail = 0}, xexpose = {type = 2, serial = 76, send_event = 0, display = 0x5620ca484c50, window = 14680068, x = 467, y = 0, width = 0, height = 0, count = 86032878}, xgraphicsexpose = {type = 2, serial = 76, send_event = 0, display = 0x5620ca484c50, drawable = 14680068, x = 467, y = 0, width = 0, height = 0, count = 86032878, major_code = 0, minor_code = 1078}, xnoexpose = {type = 2, serial = 76, send_event = 0, display = 0x5620ca484c50, drawable = 14680068, major_code = 467, minor_code = 0}, xvisibility = {type = 2, serial = 76, send_event = 0, display = 0x5620ca484c50, window = 14680068, state = 467}, xcreatewindow = {type = 2, serial = 76, send_event = 0, display = 0x5620ca484c50, parent = 14680068, window = 467, x = 0, y = 0, width = 86032878, height = 0, border_width = 1078, override_redirect = 1918}, xdestroywindow = { type = 2, serial = 76, send_event = 0, display = 0x5620ca484c50, event = 14680068, window = 467}, xunmap = {type = 2, serial = 76, send_event = 0, display = 0x5620ca484c50, event = 14680068, window = 467, from_configure = 0}, xmap = {type = 2, serial = 76, send_event = 0, display = 0x5620ca484c50, event = 14680068, window = 467, override_redirect = 0}, xmaprequest = { type = 2, serial = 76, send_event = 0, display = 0x5620ca484c50, parent = 14680068, window = 467}, xreparent = {type = 2, serial = 76, send_event = 0, display = 0x5620ca484c50, event = 14680068, window = 467, parent = 0, x = 86032878, y = 0, override_redirect = 1078}, xconfigure = {type = 2, serial = 76, send_event = 0, display = 0x5620ca484c50, event = 14680068, window = 467, x = 0, y = 0, width = 86032878, height = 0, border_width = 1078, above = 8237747274806, override_redirect = 0}, xgravity = {type = 2, serial = 76, send_event = 0, display = 0x5620ca484c50, event = 14680068, window = 467, x = 0, y = 0}, xresizerequest = {type = 2, serial = 76, send_event = 0, display = 0x5620ca484c50, window = 14680068, width = 467, height = 0}, xconfigurerequest = {type = 2, serial = 76, send_event = 0, display = 0x5620ca484c50, parent = 14680068, window = 467, x = 0, y = 0, width = 86032878, height = 0, border_width = 1078, above = 8237747274806, detail = 0, value_mask = 94695438942209}, xcirculate = {type = 2, serial = 76, send_event = 0, display = 0x5620ca484c50, event = 14680068, window = 467, place = 0}, xcirculaterequest = {type = 2, serial = 76, send_event = 0, display = 0x5620ca484c50, parent = 14680068, window = 467, place = 0}, xproperty = {type = 2, serial = 76, send_event = 0, display = 0x5620ca484c50, window = 14680068, atom = 467, time = 0, state = 86032878}, xselectionclear = {type = 2, serial = 76, send_event = 0, display = 0x5620ca484c50, window = 14680068, selection = 467, time = 0}, xselectionrequest = {type = 2, serial = 76, send_event = 0, display = 0x5620ca484c50, owner = 14680068, requestor = 467, selection = 0, target = 86032878, property = 8237747274806, time = 8237747274806}, xselection = { type = 2, serial = 76, send_event = 0, display = 0x5620ca484c50, requestor = 14680068, selection = 467, target = 0, property = 86032878, time = 8237747274806}, xcolormap = {type = 2, serial = 76, send_event = 0, display = 0x5620ca484c50, window = 14680068, colormap = 467, new = 0, state = 0}, xclient = {type = 2, serial = 76, send_event = 0, display = 0x5620ca484c50, window = 14680068, message_type = 467, format = 0, data = { b = "\356\301 \005\000\000\000\000\066\004\000\000~\a\000\000\066\004\000", s = {-15890, 1312, 0, 0, 1078, 0, 1918, 0, 1078, 0}, l = {86032878, 8237747274806, 8237747274806, 163208757248, 94695438942209}}}, xmapping = {type = 2, serial = 76, send_event = 0, display = 0x5620ca484c50, window = 14680068, request = 467, first_keycode = 0, count = 0}, xerror = {type = 2, display = 0x4c, resourceid = 94695438942208, serial = 94698832677968, error_code = 4 '\004', request_code = 0 '\000', minor_code = 224 '\340'}, xkeymap = {type = 2, serial = 76, send_event = 0, display = 0x5620ca484c50, window = 14680068, key_vector = "\323\001", '\000' <repeats 14 times>, "\356\301 \005\000\000\000\000\066\004\000\000~\a\000"}, xgeneric = {type = 2, serial = 76, send_event = 0, display = 0x5620ca484c50, extension = 14680068, evtype = 0}, xcookie = {type = 2, serial = 76, send_event = 0, display = 0x5620ca484c50, extension = 14680068, evtype = 0, cookie = 467, data = 0x0}, pad = {94695438942210, 76, 94695438942208, 94698832677968, 14680068, 467, 0, 86032878, 8237747274806, 8237747274806, 163208757248, 94695438942209, 94698832901952, 94698832848528, 94698832854560, 94698832848464, 94698832848336, 94698832852640, 94698832893936, 94698832850752, 94698832896672, 94698832918784, 94698832850832, 94698832838240}} #3 0x00005620c9f3f8f2 in main (argc=1, argv=0x7ffe624440c8) at dmenu.c:768 wa = {x = 0, y = 0, width = 2160, height = 3840, border_width = 0, depth = 24, visual = 0x5620ca490340, root = 467, class = 1, bit_gravity = 0, win_gravity = 1, backing_store = 0, backing_planes = 4294967295, backing_pixel = 0, save_under = 0, colormap = 32, map_installed = 1, map_state = 2, all_event_masks = 5898292, your_event_mask = 0, do_not_propagate_mask = 0, override_redirect = 0, screen = 0x5620ca486e20} i = 1 fast = 0