I've run into this:
$ units --round 0.1s hms
Segmentation fault
GDB says it's a null pointer dereference:
Program received signal SIGSEGV, Segmentation fault.
0x56563973 in showunitlist (havestr=0xffffd9d3 "0.1s", have=0x565722c0 <have>, wantstr=<optimized out>) at ./units.c:5577
5577 if (isdecimal(*lastunitstr))
(gdb) print lastunitstr
$1 = 0x0
(gdb) bt
#0 0x56563973 in showunitlist (havestr=0xffffd9d3 "0.1s", have=0x565722c0 <have>, wantstr=<optimized out>) at ./units.c:5577
#1 0x565580a5 in main (argc=4, argv=0xffffd7e4) at ./units.c:6235