FlightAware Incompatible With Bookworm?

My RPi’s upgraded to Bookworm today. They stopped feeding FA but still feed other sites. A reboot doesn’t help. I do not know where to begin trouble shooting this issue. Ideas?

The log doesn’t show much.

● piaware.service - FlightAware ADS-B uploader
Loaded: loaded (/lib/systemd/system/piaware.service; enabled; preset: enabled)
Active: active (running) since Sat 2023-06-03 17:27:29 EDT; 27min ago
Docs: PiAware - ADS-B and MLAT Receiver - FlightAware
Main PID: 728 (piaware)
Tasks: 4 (limit: 4915)
CPU: 25.476s
CGroup: /system.slice/piaware.service
├─ 728 /usr/bin/piaware -p /run/piaware/piaware.pid -plainlog -statusfile /run/piaware/status.json
├─ 874 /usr/lib/piaware/helpers/faup1090 --net-bo-ipaddr localhost --net-bo-port 30005 --stdout --lat 28.034 --lon -82.720
└─5447 /usr/lib/piaware/helpers/fa-mlat-client --input-connect localhost:30005 --input-type dump1090 --results beast,connect,localhost:30104 --results beast,listen,30105 --results ext_basestation,listen,30106 --udp-transport 206.253.84.194:17229:2215779651

Jun 03 17:38:04 cs1 piaware[728]: 3261 msgs recv’d from dump1090-fa (1495 in last 5m); 2700 msgs sent to FlightAware
Jun 03 17:43:04 cs1 piaware[728]: 4576 msgs recv’d from dump1090-fa (1315 in last 5m); 4015 msgs sent to FlightAware
Jun 03 17:44:35 cs1 piaware[728]: mlat-client(5447): Receiver status: connected
Jun 03 17:44:35 cs1 piaware[728]: mlat-client(5447): Server status: synchronized with 324 nearby receivers
Jun 03 17:44:35 cs1 piaware[728]: mlat-client(5447): Receiver: 354.3 msg/s received 145.5 msg/s processed (41%)
Jun 03 17:44:35 cs1 piaware[728]: mlat-client(5447): Server: 0.1 kB/s from server 0.0kB/s TCP to server 1.2kB/s UDP to server
Jun 03 17:44:35 cs1 piaware[728]: mlat-client(5447): Results: 37.4 positions/minute
Jun 03 17:44:35 cs1 piaware[728]: mlat-client(5447): Aircraft: 8 of 20 Mode S, 27 of 42 ADS-B used
Jun 03 17:48:04 cs1 piaware[728]: 6028 msgs recv’d from dump1090-fa (1452 in last 5m); 5467 msgs sent to FlightAware
Jun 03 17:53:04 cs1 piaware[728]: 7793 msgs recv’d from dump1090-fa (1765 in last 5m); 7232 msgs sent to FlightAware

To my unskilled eye, the log looks like Piaware is feeding correctly.

Where are you seeing a problem?

Email from FA stating that 6 out of 6 Bookworm RPi’s have been offline since the update about 7 hours ago. When I look at my user stats there are 3 red status symbols. Everything seems to be OK. FR24 feeding from the same RPi are OK as well with no issues reported.

What do you get from the most recent part of the log?

journalctl -eu piaware

We don’t test on bookworm yet (it’s still unreleased AFAIK, and it’ll probably be a while before the Pi Foundation looks at moving to it even after release) so I don’t know what broke here.

The logs do seem normal. I note that CS1 seems to be feeding fine on your stats page, did you look at the wrong feeder?

Welcome to the bleeding edge!

Check this post

Sorry, I posted the wrong log. CS1 is working correctly.
In CS2 thru CS6 the piaware service was masked.
I don’t know what caused it.
After unmasking and rebooting, the piaware service exited with code 5.
How do I find the cause of the code 5?

Raspberry Pi Foundation has NOT yet released Bookworm. Your OS can not get upgraded if you are using “Raspberry Pi OS”.

The only possiblity is that you are using some other OS like Ubuntu or DietPi or Armbian OS etc etc.

Please post output of following commands. Thank you.

uname -a   

lsb_release -a  

cat /etc/os-release   

 

LSB Exit Code 5 = The program is not installed.

 

Basic C library exit codes

Exit Code Symbolic Name Description
0 EXIT_SUCCESS Generic success code.
1 EXIT_FAILURE Generic failure or unspecified error.

 

LSB service exit codes

Exit Code Symbolic Name Description
2 EXIT_INVALIDARGUMENT Invalid or excess arguments.
3 EXIT_NOTIMPLEMENTED Unimplemented feature.
4 EXIT_NOPERMISSION The user has insufficient privileges.
5 EXIT_NOTINSTALLED The program is not installed.
6 EXIT_NOTCONFIGURED The program is not configured.
7 EXIT_NOTRUNNING The program is not running.

The LSB specification suggests that error codes 200 and above are reserved for implementations. Some of them are used by the service manager to indicate problems during process invocation:

 

Systemd-specific exit codes

Exit Code Symbolic Name Description
200 EXIT_CHDIR Changing to the requested working directory failed. See WorkingDirectory= above.
201 EXIT_NICE Failed to set up process scheduling priority (nice level). See Nice= above.
202 EXIT_FDS Failed to close unwanted file descriptors, or to adjust passed file descriptors.
203 EXIT_EXEC The actual process execution failed (specifically, the execve(2) system call). Most likely this is caused by a missing or non-accessible executable file.
204 EXIT_MEMORY Failed to perform an action due to memory shortage.
205 EXIT_LIMITS Failed to adjust resource limits. See LimitCPU= and related settings above.
206 EXIT_OOM_ADJUST Failed to adjust the OOM setting. See OOMScoreAdjust= above.
207 EXIT_SIGNAL_MASK Failed to set process signal mask.
208 EXIT_STDIN Failed to set up standard input. See StandardInput= above.
209 EXIT_STDOUT Failed to set up standard output. See StandardOutput= above.
210 EXIT_CHROOT Failed to change root directory (chroot(2)). See RootDirectory=/RootImage= above.
211 EXIT_IOPRIO Failed to set up IO scheduling priority. See IOSchedulingClass=/IOSchedulingPriority= above.
212 EXIT_TIMERSLACK Failed to set up timer slack. See TimerSlackNSec= above.
213 EXIT_SECUREBITS Failed to set process secure bits. See SecureBits= above.
214 EXIT_SETSCHEDULER Failed to set up CPU scheduling. See CPUSchedulingPolicy=/CPUSchedulingPriority= above.
215 EXIT_CPUAFFINITY Failed to set up CPU affinity. See CPUAffinity= above.
216 EXIT_GROUP Failed to determine or change group credentials. See Group=/SupplementaryGroups= above.
217 EXIT_USER Failed to determine or change user credentials, or to set up user namespacing. See User=/PrivateUsers= above.
218 EXIT_CAPABILITIES Failed to drop capabilities, or apply ambient capabilities. See CapabilityBoundingSet=/AmbientCapabilities= above.
219 EXIT_CGROUP Setting up the service control group failed.
220 EXIT_SETSID Failed to create new process session.
221 EXIT_CONFIRM Execution has been cancelled by the user. See the systemd.confirm_spawn= kernel command line setting on kernel-command-line(7) for details.
222 EXIT_STDERR Failed to set up standard error output. See StandardError= above.
224 EXIT_PAM Failed to set up PAM session. See PAMName= above.
225 EXIT_NETWORK Failed to set up network namespacing. See PrivateNetwork= above.
226 EXIT_NAMESPACE Failed to set up mount, UTS, or IPC namespacing. See ReadOnlyPaths=, ProtectHostname=, PrivateIPC=, and related settings above.
227 EXIT_NO_NEW_PRIVILEGES Failed to disable new privileges. See NoNewPrivileges=yes above.
228 EXIT_SECCOMP Failed to apply system call filters. See SystemCallFilter= and related settings above.
229 EXIT_SELINUX_CONTEXT Determining or changing SELinux context failed. See SELinuxContext= above.
230 EXIT_PERSONALITY Failed to set up an execution domain (personality). See Personality= above.
231 EXIT_APPARMOR_PROFILE Failed to prepare changing AppArmor profile. See AppArmorProfile= above.
232 EXIT_ADDRESS_FAMILIES Failed to restrict address families. See RestrictAddressFamilies= above.
233 EXIT_RUNTIME_DIRECTORY Setting up runtime directory failed. See RuntimeDirectory= and related settings above.
235 EXIT_CHOWN Failed to adjust socket ownership. Used for socket units only.
236 EXIT_SMACK_PROCESS_LABEL Failed to set SMACK label. See SmackProcessLabel= above.
237 EXIT_KEYRING Failed to set up kernel keyring.
238 EXIT_STATE_DIRECTORY Failed to set up unit’s state directory. See StateDirectory= above.
239 EXIT_CACHE_DIRECTORY Failed to set up unit’s cache directory. See CacheDirectory= above.
240 EXIT_LOGS_DIRECTORY Failed to set up unit’s logging directory. See LogsDirectory= above.
241 EXIT_CONFIGURATION_DIRECTORY Failed to set up unit’s configuration directory. See ConfigurationDirectory= above.
242 EXIT_NUMA_POLICY Failed to set up unit’s NUMA memory policy. See NUMAPolicy= and NUMAMask= above.
243 EXIT_CREDENTIALS Failed to set up unit’s credentials. See LoadCredential= and SetCredential= above.
245 EXIT_BPF Failed to apply BPF restrictions. See RestrictFileSystems= above.

 

Yeah, but that’s not consistently used.

@tech0 – I’d need to see the systemd / journald logging on a failing system as a starting point.

1 Like

I appreciate all of the help, but yesterday I decided to re-image with released software for each of my many systems - RPi OS, Android and Windows. I’m getting too old for debugging pre-release software.

I’m starting with the RPi’s because they are the easiest. I’ll be offline for a few days.

3 Likes

 

QUOTE:

I’ve been on the bleeding edge for many years especially as a Microsoft Insider for many of their products. I hung that up a few weeks ago to repurpose the test equipment. To tell the truth it feels peaceful not having to install test packages every couple of days and write bug reports.

1 Like

Debian 12 Bookworm is schefuled to be released after 4 days (June 10, 2023). Raspberry Pi OS will follow soon after. However Flightaware may take some more time to release Bookworm compatible packages due to dependency issues.

I have tried to build piaware, dump1090-fa, and dump978-fa on Bookworm using current source-code. I could successfully build dump1090-fa, but piaware and dump978-fa failed to build on Bookworm.

Anyway I am happy with Bullseye, and will switch to Bookworrm only when Flightaware releases Bookworm compatible packages/source-code.

Your timing is correct. I see that I now get the following notices in response to sudo apt update:
N: Repository 'http://security.debian.org/debian-security bullseye-security InRelease' changed its 'Suite' value from 'stable-security' to 'oldstable-security'

N: Repository 'http://deb.debian.org/debian bullseye InRelease' changed its 'Suite' value from 'stable' to 'oldstable'

N: Repository 'http://deb.debian.org/debian bullseye-updates InRelease' changed its 'Suite' value from 'stable-updates' to 'oldstable-updates'

1 Like