So I opened up the Calculator program, and huh... what does this blank button do?

Well, let's press it! Click.
free(): double free detected in tcache 2
Program received signal SIGABRT, Aborted.
Oh.
(gdb) backtrace
#0 __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=6,
no_tid=no_tid@entry=0) at pthread_kill.c:44
#1 0x00007ffff736dd93 in __pthread_kill_internal (threadid=<optimized out>, signo=6)
at pthread_kill.c:89
#2 0x00007ffff7312e8e in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26
#3 0x00007ffff72fa7b3 in __GI_abort () at abort.c:77
#4 0x00007ffff72fb804 in __libc_message_impl (
vma_name=vma_name@entry=0x7ffff74aceb1 "glibc: fatal", fmt=fmt@entry=0x7ffff74b04bf "%s\n")
at ../sysdeps/posix/libc_fatal.c:138
#5 0x00007ffff737808c in __libc_message_wrapper (vmaname=0x7ffff74aceb1 "glibc: fatal",
fmt=0x7ffff74b04bf "%s\n") at ../include/stdio.h:203
#6 malloc_printerr (str=str@entry=0x7ffff74b3590 "free(): double free detected in tcache 2")
at malloc.c:5341
#7 0x00007ffff737cb48 in tcache_double_free_verify (e=<optimized out>) at malloc.c:3159
#8 0x00007ffff737c9ed in __GI___libc_free (mem=<optimized out>) at malloc.c:3348
#9 0x00007ffff7799139 in XtFree (ptr=<optimized out>)
at /usr/src/debug/libXt-1.3.1-4.fc44.x86_64/src/Alloc.c:252
#10 0x00007ffff79334ca in FreeRendition (rendition=0x669de0) at XmRenderT.c:2569
#11 XmRenditionFree (rendition=0x669de0) at XmRenderT.c:2594
#12 0x00007ffff78dc600 in plan_renditions (ent=0x7fffffffca00, base=0x69ae40, rt=0x0)
at XmString.c:1857
#13 entry_metrics (ent=ent@entry=0x7fffffffcaa0, r=r@entry=0x666320,
rend_io=rend_io@entry=0x7fffffffcbe0, base=base@entry=0x69ae40, which_seg=which_seg@entry=3,
width=width@entry=0x7fffffffcbb4, height=0x7fffffffcbb6, ascent=0x7fffffffcbb8,
descent=0x7fffffffcbba) at XmString.c:1923
#14 0x00007ffff78dc7d8 in OptLineMetrics (r=r@entry=0x666320, opt=opt@entry=0x6704d0,
rend_io=rend_io@entry=0x7fffffffcbe0, base_rend=base_rend@entry=0x69ae40,
width=width@entry=0x7fffffffcbb4, height=height@entry=0x7fffffffcbb6, ascent=0x7fffffffcbb8,
descent=0x7fffffffcbba) at XmString.c:2034
#15 0x00007ffff78e298b in _render (d=d@entry=0x463910, w=w@entry=39846102,
rendertable=rendertable@entry=0x666320, rend=0x69ae40, string=string@entry=0x6704d0,
x=x@entry=37, y=12, width=0, align=1 '\001', lay_dir=206 '\316', image=0 '\000',
underline=<optimized out>, clip=0x0) at XmString.c:4034
#16 0x00007ffff78e3905 in _draw (d=0x463910, w=39846102, rendertable=0x666320, string=0x6704d0,
gc=0x625760, x=37, y=12, width=0, align=1 '\001', lay_dir=206 '\316', clip=0x0,
image=0 '\000', underline=0x0) at XmString.c:3983
#17 0x00007ffff78e3f70 in _draw (d=0x463910, w=39846102, rendertable=0x666320, string=0x6704d0,
gc=0x625760, x=37, y=12, width=0, align=1 '\001', lay_dir=206 '\316', clip=0x0,
image=0 '\000', underline=0x0) at XmString.c:3975
#18 XmStringDraw (d=0x463910, w=39846102, rendertable=0x666320, string=0x6704d0, gc=0x625760,
x=37, y=12, width=0, align=1 '\001', lay_dir=206 '\316', clip=0x0) at XmString.c:5147
#19 0x00007ffff784611b in Redisplay (wid=wid@entry=0x649dd0, event=event@entry=0x7fffffffd590,
region=region@entry=0x0) at Label.c:1561
#20 0x00007ffff78694b5 in DrawPushButtonLabel (pb=pb@entry=0x649dd0,
event=event@entry=0x7fffffffd590, region=region@entry=0x0) at PushB.c:1295
#21 0x00007ffff786b543 in Redisplay (wid=0x649dd0, event=0x7fffffffd590, region=0x0)
at PushB.c:1197
#22 0x00007ffff7869297 in Arm (wid=0x649dd0, event=0x7fffffffd590, params=<optimized out>,
num_params=<optimized out>) at PushB.c:1993
#23 0x00007ffff77d51e7 in HandleActions (w=w@entry=0x649dd0, event=0x7fffffffd590,
stateTree=0x638f90, accelWidget=<optimized out>, procs=0x666128,
actions=actions@entry=0x7ffff77ff2c0 <dummyAction.3>)
at /usr/src/debug/libXt-1.3.1-4.fc44.x86_64/src/TMstate.c:637
#24 0x00007ffff77d5582 in HandleSimpleState (w=w@entry=0x649dd0, tmRecPtr=tmRecPtr@entry=0x649e18,
curEventPtr=curEventPtr@entry=0x7fffffffd280)
at /usr/src/debug/libXt-1.3.1-4.fc44.x86_64/src/TMstate.c:862
#25 0x00007ffff77d5ef2 in _XtTranslateEvent (w=0x649dd0, event=<optimized out>)
at /usr/src/debug/libXt-1.3.1-4.fc44.x86_64/src/TMstate.c:1060
#26 0x00007ffff77aa143 in XtDispatchEventToWidget (widget=widget@entry=0x649dd0,
event=event@entry=0x7fffffffd590) at /usr/src/debug/libXt-1.3.1-4.fc44.x86_64/src/Event.c:933
#27 0x00007ffff77b3da9 in _XtDefaultDispatcher (event=0x7fffffffd590)
at /usr/src/debug/libXt-1.3.1-4.fc44.x86_64/src/Event.c:1404
#28 0x00007ffff77ab729 in XtDispatchEvent (event=0x7fffffffd590)
at /usr/src/debug/libXt-1.3.1-4.fc44.x86_64/src/Event.c:1478
#29 0x00007ffff77b84e0 in XtAppProcessEvent (app=<optimized out>, mask=<optimized out>)
at /usr/src/debug/libXt-1.3.1-4.fc44.x86_64/src/NextEvent.c:1433
#30 XtAppProcessEvent (app=0x462310, mask=15)
at /usr/src/debug/libXt-1.3.1-4.fc44.x86_64/src/NextEvent.c:1336
#31 0x00007ffff77abffd in XtAppMainLoop (app=0x462310)
at /usr/src/debug/libXt-1.3.1-4.fc44.x86_64/src/Event.c:1615
#32 0x0000000000416e7a in start_tool () at motif.c:2656
#33 0x000000000040134a in do_dtcalc (argc=1, argv=0x7fffffffd888) at calctool.c:398
#34 0x000000000040ed0d in main (argc=1, argv=0x7fffffffd888) at motif.c:347
Strangely enough, this turned out to be a Motif issue that went away with the latest commits in Tim's fork. This can be closed!