PANIC: "cfg_bool" [fixed in v1.187]

edited April 2018 in Problems Now Fixed
To do some work on the kiwiSDR antennas, I tried to temporarily disable user connections in the control tab. This has worked without issues in previous software versions. However, in v1.186, the kiwiSDR was very unhappy when trying to disable and enable user connections. This can be seen in the log extract below:

Apr 28 05:41:11 kiwisdr kiwid: 17:50:14.636 .... 0     7125.00 kHz lsb z7  "xx.xx.xx.xxx" Russia (LEAVING after 0:25:46)
Apr 28 05:41:19 kiwisdr kiwid: 17:50:21.880 .... [00] ADMIN: server_enabled=0
Apr 28 05:41:19 kiwisdr kiwid: 17:50:21.890 ....      /root/kiwi.config/admin.json: required parameter not found: include_alert_gps
Apr 28 05:41:19 kiwisdr kiwid: PANIC: "cfg_bool" (cfg.c, line 631)
Apr 28 05:41:30 kiwisdr kiwid: 00:00:00.617 ....      KiwiSDR v1.186 --------------------------------------------------------------------
Apr 28 05:41:30 kiwisdr kiwid: 00:00:00.621 ....      compiled: Apr 27 2018 03:24:10
Apr 28 05:41:30 kiwisdr kiwid: 00:00:00.624 ....      -debian 8
Apr 28 05:41:30 kiwisdr kiwid: 00:00:00.624 ....      /etc/debian_version 8.5
Apr 28 05:41:30 kiwisdr kiwid: 00:00:00.624 ....      background mode: delaying start 30 secs...
Apr 28 05:42:00 kiwisdr kiwid: 00:00:30.656 ....      reading configuration from file /root/kiwi.config/kiwi.json: 167 tokens
Apr 28 05:42:00 kiwisdr kiwid: 00:00:30.661 ....      reading configuration from file /root/kiwi.config/admin.json: 75 tokens
Apr 28 05:42:01 kiwisdr kiwid: 00:00:31.048 ....      serial number from EEPROM: 1243
Apr 28 05:42:01 kiwisdr kiwid: 00:00:31.171 ....      reading configuration from file /root/kiwi.config/dx.json: 7087 tokens
Apr 28 05:42:01 kiwisdr kiwid: 00:00:31.174 ....      893 dx entries
Apr 28 05:42:01 kiwisdr kiwid: 00:00:31.185 ....      listening on default port 8073/8073 for "openwebrx"
Apr 28 05:42:01 kiwisdr kiwid: 00:00:31.189 ....      webserver for "openwebrx" on port [::]:8073
Apr 28 05:42:01 kiwisdr kiwid: 00:00:31.421 ....      ### using SPI_DEV
Apr 28 05:42:02 kiwisdr kiwid: 00:00:32.570 ....      FPGA version 1
Apr 28 05:42:03 kiwisdr kiwid: 00:00:33.030 ....      using DC_offsets: I -0.019283 Q -0.019746
Apr 28 05:42:04 kiwisdr kiwid: 00:00:34.175 ....      UPDATE: check scheduled (startup)
Apr 28 05:42:04 kiwisdr kiwid: 00:00:34.179 ....      UPDATE: checking for updates
Apr 28 05:42:05 kiwisdr kiwid: 00:00:34.910 ....      DDNS: lat/lon = (60.600000, 15.633300)
Apr 28 05:42:05 kiwisdr kiwid: 00:00:34.914 ....      DDNS: private IPv4 <192.168.1.55> 0xc0a80137 /24 0xffffff00
Apr 28 05:42:05 kiwisdr kiwid: 00:00:34.917 ....      DDNS: private IPv6 LINK-LOCAL <fe80::6a9e:19ff:fe85:cec0%eth0> /64 ff:ff:ff:ff:ff:ff:ff:ff:00:00:00:00:00:00:00:00:
Apr 28 05:42:05 kiwisdr kiwid: 00:00:35.188 ....      UPDATE: version 1.186 is current
Apr 28 05:42:06 kiwisdr kiwid: 00:00:36.196 ....      SERVER-POOL: 5 ip addresses for public.kiwisdr.com
Apr 28 05:42:06 kiwisdr kiwid: 00:00:36.199 ....      SERVER-POOL: #1 81.236.135.130
Apr 28 05:42:06 kiwisdr kiwid: 00:00:36.202 ....      SERVER-POOL: #2 89.17.134.135
Apr 28 05:42:06 kiwisdr kiwid: 00:00:36.202 ....      SERVER-POOL: #3 103.26.16.225
Apr 28 05:42:06 kiwisdr kiwid: 00:00:36.202 ....      SERVER-POOL: #4 142.104.83.74
Apr 28 05:42:06 kiwisdr kiwid: 00:00:36.202 ....      SERVER-POOL: #5 64.136.200.36
Apr 28 05:42:06 kiwisdr kiwid: 00:00:36.202 ....      DDNS: public ip 90.236.50.153
Apr 28 05:42:06 kiwisdr kiwid: 00:00:36.202 ....      auto NAT is set false
Apr 28 05:42:06 kiwisdr kiwid: 00:00:36.249 ....      starting noip.com DUC
Apr 28 05:42:14 kiwisdr kiwid: 00:00:44.179 ....      TIMEZONE: lat/lon from sdr.hu config: (65.965298, 24.030000)
Apr 28 05:42:14 kiwisdr kiwid: 00:00:44.646 ....      TIMEZONE: for (65.965298, 24.030000): utc_offset=3600/1.0 dst_offset=3600/1.0
Apr 28 05:42:14 kiwisdr kiwid: 00:00:44.649 ....      TIMEZONE: "Europe/Stockholm", "Central European Summer Time"
Apr 28 06:04:26 kiwisdr kiwid: 00:22:56.434 .... [00] PWD isLocal_if_ip: TRUE IPv4/4_6 remote_ip 192.168.1.50 ip_client 192.168.1.50/0xc0a80132 ip_server[IPv4] 192.168.1.55/0xc0a80137 nm /24 0xffffff00
Apr 28 06:04:26 kiwisdr kiwid: 00:22:56.437 .... [00] PWD admin config pwd set FALSE, auto-login TRUE
Apr 28 06:04:26 kiwisdr kiwid: 00:22:56.439 .... [00] PWD admin ALLOWED: no config pwd set, but is_local
Apr 28 06:04:26 kiwisdr kiwid: 00:22:56.440 .... [00] PWD admin ALLOWED: from 192.168.1.50
Apr 28 06:05:15 kiwisdr kiwid: 00:23:45.222 .... [00] ADMIN: server_enabled=1
Apr 28 06:05:15 kiwisdr kiwid: 00:23:45.232 ....      /root/kiwi.config/admin.json: required parameter not found: include_alert_gps
Apr 28 06:05:15 kiwisdr kiwid: PANIC: "cfg_bool" (cfg.c, line 631)
Apr 28 06:05:27 kiwisdr kiwid: 00:00:00.866 ....      KiwiSDR v1.186 --------------------------------------------------------------------
Apr 28 06:05:27 kiwisdr kiwid: 00:00:00.869 ....      compiled: Apr 27 2018 03:24:10
Apr 28 06:05:27 kiwisdr kiwid: 00:00:00.872 ....      -debian 8
Apr 28 06:05:27 kiwisdr kiwid: 00:00:00.872 ....      /etc/debian_version 8.5
Apr 28 06:05:27 kiwisdr kiwid: 00:00:00.872 ....      background mode: delaying start 30 secs...
Apr 28 06:05:57 kiwisdr kiwid: 00:00:30.904 ....      reading configuration from file /root/kiwi.config/kiwi.json: 167 tokens
Apr 28 06:05:57 kiwisdr kiwid: 00:00:30.909 ....      reading configuration from file /root/kiwi.config/admin.json: 75 tokens

Regards Mauritz / SM2BYC

Comments

  • jksjks
    edited April 2018
    Hmm. Can you ssh or PuTTY into the Beagle? If so, what happens if you go to the configuration directory with cdk then type jq '.include_alert_gps' <admin.json Be careful to type that exactly as shown with the single quotes, periods and < sign. Do you get false or null as the result?

    Alternatively, type jq '.' <admin.json to see all the configuration parameters nicely formatted.


  • I see you got it running again. Let me experiment with disabling user connections here..

  • jq '.include_alert_gps' <admin.json gives true as the result.
  • So the configuration parameter exists in the file. I don't know why it would ever show as "required parameter not found". That should never happen for include_alert_gps. There is even code to guarantee it exists with a default value of false on startup. And I don't know what this would have to do with changing the user connection setting.

    I just tried it here and it all works fine. Did you restart after changing "enable user connections"? (you don't have to -- it will take effect immediately). Is this behavior repeatable? And does it happen exactly as you describe? i.e. change user connections to "no", restart and it begins failing.

  • It has failed at two occasions with v1.186 i.e. first disabling and then enabling user connections at both occasions. Can't test now as there are a couple of users connected. I didn't do a restart, it restarted automatically.
  • Is there any way you could temporarily open port 22 (ssh) on your router so I could remotely login to the Beagle? Or run team viewer on a pc on your local network so I could PuTTY to the Beagle from there? I'd really like to run the debugger and try and catch the failure. But first I'd like to know if this is a completely repeatable problem on your Kiwi or just happens occasionally.

  • Tested now by first disabling user connections and then enabling user connections. It survived disabling with no panic but enabling resulted in panic and restart. So it is obviously not 100% repeatable.

    Port 22 should now be open. Please let me know when I can close it.
  • jksjks
    edited April 2018
    I just got it to fail here. So it must be timing related. I can add some code here to force it to occur more frequently. Go ahead and close your ssh port for now. Thanks for reporting this problem!

  • OK thanks. Port 22 now closed.
  • Okay, v1.187 is out with a fix for this.

  • Tested v1.187 a few times and it seems to work without issues. Thanks for the quick fix.

    Regards Mauritz / SM2BYC
Sign In or Register to comment.