Here is a reproducer as well as a complete backtrace.
My current setup consists of a X230 on a docking station with one
external monitor connected via DVI-D (shows up as HDMI-2 in xrandr).
This monitor is a bit special since it lacks proper EDID, so I have to
add modelines manually. The two one-liners are included here for the
sake of completeness, but keep in mind that this crash also happens with
a completely different setup with completely distinct monitors which do
provide EDID and work out of the box.
Running snapshot from
OpenBSD 6.5-current (GENERIC.MP) #170: Sat Aug 3 09:50:56 MDT 2019
[email protected]:/usr/src/sys/arch/amd64/compile/GENERIC.MP
with `vm.malloc_conf=CFGSU' and cwm, libX11, libXft built with `-g3 -O0'.
Steps to reproduce:
1. add manualmodeline
xrandr --newmode "2560x1440_30.00" 146.27 2560 2680 2944 3328 1440
1441 1444 1465 -HSync +Vsync
xrandr --addmode HDMI-2 2560x1440_30.00
2. enable external monitor, keep internal one as secondary
xrandr --output HDMI-2 --primary --rotation inverted --above LVDS-1
--auto --output LVDS-1
3. run a fullscreen program (starts on primary)
0ad
4. while in fullscreen, press M-/ (Alt slash with default cwm)
cwm crashes and I drop to the xenodm login.
Without restarting X itself, the external monitor seemingly keeps its
modelines configured since it continues to show all black, but it is not
configured as part of my screen any longer.
But strangely, I can see the half of my mouse cursor showing up on it
when moving along. Simply rerunning step 2. to configure the screen
fails:
xrandr: Output HDMI-2 is not disconnected but has no modes
xrandr: cannot find preferred mode
Restarting X (read: xenodm) resets everything and I can run steps 1. and
2. to get everything working again.
My other setups include two external monitors with the internal one
turned off, I have yet to find a reproducer that does not include a
fullscreen program like 0ad, but it the same crash appeared there as
well.
See backtraced below and a full version attached.
[New process 212650]
Core was generated by `cwm'.
Program terminated with signal SIGBUS, Bus error.
#0 0x00000bbbe340a01d in XAddExtension (dpy=0xdfdfdfdfdfdfdfdf) at
/usr/xenocara/lib/libX11/src/InitExt.c:73
73 LockDisplay (dpy);
#0 0x00000bbbe340a01d in XAddExtension (dpy=0xdfdfdfdfdfdfdfdf) at
/usr/xenocara/lib/libX11/src/InitExt.c:73
#1 0x00000bbbd2ff48f9 in _XftDisplayInfoGet (dpy=0xdfdfdfdfdfdfdfdf,
createIfNecessary=1) at /usr/xenocara/lib/libXft/src/xftdpy.c:91
#2 0x00000bbbd2ff6a19 in XftDrawSrcPicture (draw=0xbbb46fd7600,
color=0xbbbed59cb28) at /usr/xenocara/lib/libXft/src/xftdraw.c:300
#3 0x00000bbbd2ff6fdb in XftDrawGlyphs (draw=0xbbb46fd7600,
color=0xbbbed59cb28, pub=0xbbbfd21f000, x=0, y=13, glyphs=0x7f7fffff8ad0,
nglyphs=8) at /usr/xenocara/lib/libXft/src/xftdraw.c:484
#4 0x00000bbbd2ff78ec in XftDrawStringUtf8 (draw=0xbbb46fd7600,
color=0xbbbed59cb28, pub=0xbbbfd21f000, x=0, y=13, string=0x7f7fffff9eeb "",
len=0) at /usr/xenocara/lib/libXft/src/xftdraw.c:621
#5 0x00000bb9389bdfdd in menu_draw (mc=0x7f7fffff9df0, menuq=0x7f7fffffa1c8,
resultq=0x7f7fffff9de0) at /x/app/cwm/menu.c:399
#6 0x00000bb9389bd12f in menu_filter (sc=0xbbbed59ca00, menuq=0x7f7fffffa1c8,
prompt=0xbb9389b349f "window", initial=0x0, flags=0, match=0xbb9389bef00
<search_match_client>, print=0xbb9389bfb20 <search_print_client>) at
/x/app/cwm/menu.c:153
#7 0x00000bb9389c7a16 in kbfunc_menu_client (ctx=0xbbbed59ca00,
cargs=0xbbb9b36c780) at /x/app/cwm/kbfunc.c:484
#8 0x00000bb9389c3ffa in xev_handle_keypress (ee=0x7f7fffffa2a8) at
/x/app/cwm/xevents.c:336
#9 0x00000bb9389c519d in xev_process () at /x/app/cwm/xevents.c:491
#10 0x00000bb9389b763f in main (argc=0, argv=0x7f7fffffa450) at
/x/app/cwm/calmwm.c:114