BW3-Core/boswatch
KoenigMjr 23d1b1a328 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 Function, 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-22 09:59:59 +02:00
..
decoder Fix POCSAG decoding crash caused by invalid subric parsing 2025-10-22 09:59:59 +02:00
inputSource Avoid "DeprecationWarning: invalid escape sequence" 2023-09-19 17:49:09 +02:00
network Avoid "DeprecationWarning: invalid escape sequence" 2023-09-19 17:49:09 +02:00
router Merge branch 'develop' into feature/ISSUE-67 2025-06-11 07:35:25 +02:00
utils Avoid "DeprecationWarning: invalid escape sequence" 2023-09-19 17:49:09 +02:00
__init__.py edit __init__.py's 2018-01-08 20:09:15 +01:00
configYaml.py Avoid "DeprecationWarning: invalid escape sequence" 2023-09-19 17:49:09 +02:00
packet.py Avoid "DeprecationWarning: invalid escape sequence" 2023-09-19 17:49:09 +02:00
processManager.py Avoid "DeprecationWarning: invalid escape sequence" 2023-09-19 17:49:09 +02:00
timer.py Avoid "DeprecationWarning: invalid escape sequence" 2023-09-19 17:49:09 +02:00
wildcard.py Behebung der WARNING "field not found" im Log Bedingt durch die modeunabhängige Verarbeitung sämtlicher Wildcards warnt das Programm, dass manche Felder nicht verfügbar sind, die in der derzeitigen Auswertung jedoch gar nicht vorhanden sein können (z.B. FMS Felder in ZVEI-Datensatz etc.) 2025-08-08 12:01:41 +02:00