BW3-Core/boswatch/decoder
KoenigMjr f7374b2cc7 Fix POCSAG decoding crash caused by invalid subric parsing
Errorcode führte zu Programmexit:

12.10.2025 02:20:39,918 - inputThread sdrInput _runThread [ERROR] error in sdr input routine
Traceback (most recent call last):
File "/opt/boswatch3/boswatch/inputSource/sdrInput.py", line 65, in _runThread
self.addToQueue(line)
...
ValueError: invalid literal for int() with base 10: ' '

Ursache:
Die Funktion _getBitrateRicSubric() in pocsagDecoder.py griff fest auf data[40] zu, um den SubRIC-Wert zu ermitteln. Bei Fehlerhaften Datensätzen von multimon-ng kann sich die Position jedoch verschieben, wodurch an dieser Stelle ein Leerzeichen (' ') statt einer Ziffer stand. Dies führte zu einem ValueError und damit zum Abbruch des gesamten SDR-Threads.

Änderung:
Die Funktion wurde auf robuste Regex-Analyse umgestellt (analog fmsDecoder.py und pocsagDecoder.py):

Bitrate, Address (RIC) und Function (SubRIC) werden nun mit regulären Ausdrücken extrahiert.
Die ursprüngliche Logik (subric = int(Function) + 1) bleibt vollständig erhalten.
Enthält die Zeile keine gültige Funktion, wird eine Warnung geloggt ("Invalid POCSAG function (not 0–3)")
Zusätzliche Fehlerabsicherung durch try/except.

Ergebnis:
Der Decoder ist nun tolerant gegenüber Formatabweichungen und verhindert Abstürze bei fehlerhaften oder unvollständigen multimon-ng-Zeilen.
2025-10-21 15:35:17 +02:00
..
__init__.py edit __init__.py's 2018-01-08 20:09:15 +01:00
decoder.py Avoid "DeprecationWarning: invalid escape sequence" 2023-09-19 17:49:09 +02:00
fmsDecoder.py Avoid "DeprecationWarning: invalid escape sequence" 2023-09-19 17:49:09 +02:00
pocsagDecoder.py Fix POCSAG decoding crash caused by invalid subric parsing 2025-10-21 15:35:17 +02:00
zveiDecoder.py Avoid "DeprecationWarning: invalid escape sequence" 2023-09-19 17:49:09 +02:00