Okay, I built a debug enabled package for gpsd, however it was of little use as according to the backtrace the crash happened in ncurses code, and I don't have any debug symbols for that:
root@ntp:~# gdb --core core-gpsmon.26880.ntp.lan.1586331775 /usr/bin/gpsmon
GNU gdb (GDB) 9.1
Copyright (C) 2020 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <
http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details.
This GDB was configured as "arm-slackware-linux-gnueabihf".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<
http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<
http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from /usr/bin/gpsmon...
[New LWP 26880]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/libthread_db.so.1".
Core was generated by `gpsmon'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0 0x76e67094 in _nc_waddch_nosync () from /lib/libncurses.so.6
(gdb) thread apply all bt full
Thread 1 (Thread 0x76fdb820 (LWP 26880)):
#0 0x76e67094 in _nc_waddch_nosync () from /lib/libncurses.so.6
No symbol table info available.
#1 0x76e68234 in waddnstr () from /lib/libncurses.so.6
No symbol table info available.
Backtrace stopped: previous frame identical to this frame (corrupt stack?)
(gdb)
As per the output, there is only one thread of gpsmon altogether, so at this point we don't have to worry how the separate threads interact.
I have ncurses-6.2 installed on affected system.