mirror of
https://github.com/Hamlib/Hamlib
synced 2026-08-13 17:32:05 -04:00
Steps to reproduce:
tests/rigctl -m 1 \
set_parm KEYERTYPE BUG
Fixes:
Thread 1 "rigctl" received signal SIGSEGV, Segmentation fault.
__strlen_sse2 () at ../sysdeps/x86_64/multiarch/strlen-sse2.S:142
warning: 142 ../sysdeps/x86_64/multiarch/strlen-sse2.S: File o directory non esistente
(gdb) bt
#0 __strlen_sse2 () at ../sysdeps/x86_64/multiarch/strlen-sse2.S:142
#1 0x00007ffac346e300 in __printf_buffer (buf=buf@entry=0x7ffc3bcf40d0, format=0x7ffac38aef17 "%s", ap=0x7ffc3bcf4190, mode_flags=0) at ./stdio-common/vfprintf-process-arg.c:435
#2 0x00007ffac3491daf in __vsnprintf_internal (string=<optimized out>, maxlen=<optimized out>, format=<optimized out>, args=args@entry=0x7ffc3bcf4190, mode_flags=mode_flags@entry=0) at ./libio/vsnprintf.c:96
#3 0x00007ffac3469642 in __GI___snprintf (s=s@entry=0x7ffc3bcf4290 "", maxlen=maxlen@entry=32, format=format@entry=0x7ffac38aef17 "%s") at ./stdio-common/snprintf.c:31
#4 0x00007ffac370b7b9 in dummy_set_parm (rig=0x558fe1991b20, parm=2048, val=...) at dummy.c:1704
#5 0x0000558fb536afbe in rigctl_set_parm (rig=0x558fe1991b20, fout=0x7ffac35f25c0 <_IO_2_1_stdout_>, fin=<optimized out>, interactive=<optimized out>, prompt=<optimized out>, vfo_opt=<optimized out>, send_cmd_term=13 '\r', ext_resp=0,
resp_sep=10 '\n', cmd=0x558fb5388000 <test_list+1440>, vfo=536870912, arg1=0x7ffc3bcf4e10 "KEYERTYPE", arg2=0x558fb537fdb1 "1", arg3=0x558fb537ece8 "") at rigctl_parse.c:3829
#6 0x0000558fb53727d6 in rigctl_parse (my_rig=<optimized out>, fin=<optimized out>, fout=<optimized out>, argv=argv@entry=0x7ffc3bcf6fd8, argc=argc@entry=3, sync_cb=sync_cb@entry=0x0, interactive=<optimized out>, prompt=<optimized out>,
vfo_opt=<optimized out>, send_cmd_term=<optimized out>, ext_resp_ptr=<optimized out>, resp_sep_ptr=<optimized out>, use_password=<optimized out>) at rigctl_parse.c:1847
#7 0x0000558fb535cadc in main (argc=<optimized out>, argv=0x7ffc3bcf6fd8) at rigctl.c:801
(cherry picked from commit
|
||
|---|---|---|
| .. | ||
| config | ||
| rigctl.test | ||
| testbcd.test | ||
| testfreq.test | ||
| testloc.test | ||
| ampctl.c | ||
| ampctl_parse.c | ||
| ampctl_parse.h | ||
| ampctld.c | ||
| amptest.sh | ||
| Android.mk | ||
| cachetest.c | ||
| cachetest.sh | ||
| cachetest2.c | ||
| callback.c | ||
| dumpcaps.c | ||
| dumpcaps.h | ||
| dumpcaps_amp.c | ||
| dumpcaps_rot.c | ||
| dumpcaps_rot.h | ||
| dumpmem.c | ||
| dumpstate.c | ||
| example.c | ||
| func_chk.c | ||
| hamlib_tuner_control | ||
| hamlibmodels.c | ||
| listrigs.c | ||
| Makefile.am | ||
| memcsv.c | ||
| memload.c | ||
| memsave.c | ||
| README | ||
| rig_bench.c | ||
| rig_split_lst.awk | ||
| rig_tests.c | ||
| rig_tests.h | ||
| rigctl.c | ||
| rigctl_parse.c | ||
| rigctl_parse.h | ||
| rigctlcom.c | ||
| rigctld.c | ||
| rigctlsync.c | ||
| rigctltcp.c | ||
| rigfreqwalk.c | ||
| rigmatrix.c | ||
| rigmatrix_head.html | ||
| rigmem.c | ||
| rigsmtr.c | ||
| rigswr.c | ||
| rigtestlibusb.c | ||
| rigtestmcast.c | ||
| rigtestmcastrx.c | ||
| rotctl.c | ||
| rotctl_parse.c | ||
| rotctl_parse.h | ||
| rotctld.c | ||
| sendraw.c | ||
| simple.c | ||
| test2038.c | ||
| testbcd.c | ||
| testcache.c | ||
| testcaps.sh | ||
| testcookie.c | ||
| testctld.pl | ||
| testfreq.c | ||
| testgrid.c | ||
| testloc.c | ||
| testmW2power.c | ||
| testnet.c | ||
| testrig.c | ||
| testrigcaps.c | ||
| testrigopen.c | ||
| testrotctld.pl | ||
| testsecurity.c | ||
| testtrn.c | ||
| uthash.h | ||
You will find in the tests/ subdirectory various programs to exercise
the Hamlib library.
Most of the time, you will have to make sure that the backend for
your rig is loaded by passing the model number of your rig by argument.
If you don't know the number, listrigs can give it to you,
"rigctl --list" will also output something like this:
Rig# Mfg Model Vers.
1 Hamlib Dummy 0.1
105 Yaesu FT-747GX 0.1
210 Kenwood TS-870S 0.1
311 Icom IC-706MkIIG 0.2
1506 Winradio WR-3500 0.6
[etc.]
In any case, you are encouraged to check for correct initialization
by reading the source code, at the beginning of the main(). Check also
that the program is setup for your rig path strncpy(HAMLIB_RIGPORT(my_rig)->pathname...
dumpcaps - Output the caps contents of a rig
dumpmem - Dump the memory contents of the rig
listrigs - Condensed list of all the models supported by backends
rigmatrix - Output the HTML table of supported rigs, with .png files for freqs
(Better call 'make rigmatrix.html' which builds the HTML table
and additional information in sup-info subdirectory.)
testbcd - Simple program to test BCD conversion, takes a number as arg.
testfreq - Simple program to test Freq conversion, takes a number as arg.
testrig - Sample program calling common API calls, uses rig_probe
testtrn - Sample program using event notification (transceive mode)
rigctl - Combined tool to execute any call of the API, see man page
rigmem - Combined tool to load/save content of rig memory, see man page
rotctl - Similar to 'rigctl' but for rotators, see man page
rigctld - A simple daemon to process 'rigctl' commands received over a
network socket. Useful for scripting languages or remote access
via an SSH tunnel (insecure program). See man page.
rotctld - A simple daemon to process 'rotctl' commands received over a
network socket. Useful for scripting languages or remote access
via an SSH tunnel (insecure program). See man page.
testctld.pl A Perl program to test 'rigctld' and provide some example code.