Angepinnt TNN Crash/Bug und Fix - DE/ENG

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • TNN Crash/Bug und Fix - DE/ENG

    Moin Leute und an alle Sysops von TNN-Noden,


    es scheint einen Bug in der TNN Software ab Version 1.79.49 (Danke an Ralph Y02Hal) zu geben,
    der zum Absturz von TNN führt.
    "TheNetNode verursachte einen unbekannten Systemfehler!!!"
    "Letzete Funktion war: l1tcpip(TcpipSV)"


    Der Crash wird ausgelöst durch die Eingabe des (N)ODES Kommandos mit bestimmten Parametern.
    Als Beispiel führt N *4* zu dem Crash, es sind aber auch andere Parameter/Kombinationen betroffen.


    Es empfiehlt sich den N Befehl zu sperren.
    Hier ein Lösungsansatz, erarbeitet von Ralph(Y02HAL).


    1.
    Im Ordner tnn/textcmd die Datei fix.txt erstellen
    (Der Inhalt der Datei wird beim Aufrufen des Befehls anstelle des N Befehls ausgegeben).


    2.
    Alias für alle Kombinationen des N Befehles erstellen.
    Also in der TNN Konsole:


    ALIAS N fix
    ALIAS NO fix
    ALIAS NOD fix
    ALIAS NODE fix
    ALIAS NODES fix


    SP


    Bitte leitet diese Info an alle TNN Sysops weiter..


    --------------------------------------------------------------------------------------------
    ENG


    Hi folks and to all sysops of TNN nodes,


    there seems to be a bug in the TNN software from version 1.79.49 (thanks to Ralph Y02Hal),
    which causes TNN to crash.
    "TheNetNode caused an unknown system error!!!"
    "Last function was: l1tcpip(TcpipSV)"


    The crash is triggered by entering the (N)ODES command with certain parameters.
    As an example, N *4* leads to the crash, but other parameters/combinations are also affected.


    It is recommended to lock the N command.
    Here is a solution approach, developed by Ralph(Y02HAL).


    1.
    Create the file fix.txt in the folder tnn/textcmd
    (The content of the file is output instead of the N command when the command is called).


    2.
    Create aliases for all combinations of the N command.
    So in the TNN console:


    ALIAS N fix
    ALIAS NO fix
    ALIAS NOD fix
    ALIAS NODE fix
    ALIAS NODES fix


    SP


    Please forward this info to all TNN sysops...


    Translated with DeepL.com (free version)
  • Hallo zusammen,

    bei mir trat der Absturz nicht nur bei dem Befehl Nodes auf, die Eingabe des Befehls CONV erzeugte bei mir selbigen Absturz . ( Letzete Funktion war: l1tcpip(TcpipSV) )

    Betriebssystem: DEBIAN Linux 12
    Software: TheNetNode (Linux) (CB), 1.79cb53 (9957)



    55 & 73 DAR182 ( Andy )
  • Moin Andy,

    ja, ich kenne diese Probleme auch. Und das ist nicht nur beim Aufrufen des Convers. Betrifft auch andere Befehle wie TOP oder einfaches Aufrufen der (I)nfo Textdatei.

    Das ist aber ein ganz anderes Problem, was mit dem hier beschriebenen Bug vermutlich nichts zu tun hat.
    Das kann damit zu tun haben, dass es als 64bit Version auf ein 64bit System kompiliert wurde oder überflüssige/verbugte Module in der include/all.h aktiviert wurden.

    Aber jetzt erst einmal von Vorne.

    Dank Ralph(Y02HAL) und Peter(PE1FLT) haben wir eine Lösung für das Problem.
    Der Bug scheint erst ab Version xx49 aufzutreten.
    Peter konnte die Funktion, die für den Crash verantwortlich ist finden worauf hin Ralph die Funktion mit der alten Version vergleichen konnte. Und siehe da.. Es scheint zu funktionieren und läuft bereits so auf verschiedenen Systemen..
    Yeah..

    Ich habe das ganze als Bug Report auf GitHub(TNN Delta Lima) eingereicht und hoffe auf ein baldiges update.
    github.com/DeltaLima/TheNetNode-CB/issues/1

    BugFix :
    (Bitte seit euch im klaren darüber, dass ihr diese Modifikation auf eigene Gefahr durch führt. Es können durch diese Modifikation andere Bugs entstehen, was zu Missverständnissen führen kann, wenn ein neuer Bug gemeldet wird, ohne zu wissen das sich Eure Version um eine Modifizierte Version handelt !!! Es ist für die Developer extrem schwer nachzuvollziehen und kann viel nervenaufreibende Arbeit bedeuten, bis man endlich erkennt, dass der Bug durch die Mod ausgelöst wird. Also Bitte erwartet kein Support mit dieser Modifizierten Version.)
    -----------------------------------------------------------------------------------------------------------------------------------------
    Im TNN Ordner,
    in der Datei src/callstr.c
    Zeile 418 ändern von
    if (strlen(*n) >= 1)
    in
    if (n[-1] != *a)


    und neu kompilieren.
    Das wars.. Vor dem neuen Kompilieren immer einmal 'make clean' machen.

    -----------------------------------------------------------------------------------------------------------------------------------------



    Jetzt folgt noch eine Anweisung zum korrekten kompilieren von TNN als 32-bit Anwendung auf ein 64-bit System.
    Der Peter(PE1FLT) hat diese Anweisung dankenswerter weise erarbeitet und getestet auf folgenden Systemen.
    (Debian 11, Ubuntu 22)
    Das Problem an noch aktuelleren Versionen ist, dass sich TNN nur mit GCC Kompiliere bis Version 9 kompilieren lässt.
    Ich habe schon gelesen das es jemand mit Version 10 geschafft hat aber die folgende Anweisung ist für gcc Version 9.

    Kompilieren:
    -----------------------------------------------------------------------------------------------------------------------------------------

    Natürlich erst mal git und buildtools installieren:

    Quellcode

    1. sudo apt install git build-essential






    Dann das GCC Version 9:

    Quellcode

    1. sudo apt install gcc-9 gcc-9-multilib



    Danach die GCC-9 als default einstellen:

    Quellcode

    1. update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-9 9



    Kontrollieren mal die Gcc-Version:

    Quellcode

    1. gcc -v



    sollte was mit 9.xx rauskommen.

    TNN (mache ich direkt als root):

    Quellcode

    1. sudo -i



    git-repo herunterladen:

    Quellcode

    1. cd /usr/src
    2. git clone https://github.com/DeltaLima/TheNetNode-CB.git
    3. cd TheNetNode-CB



    Ggf. Bugfix durchführen,
    dann kompilieren als 32-Bit

    Quellcode

    1. make CC="gcc -m32"


    Kontrollieren ob es wirklich 32bit geworden ist.

    Quellcode

    1. file bin/*


    es sollte alles elf32 sein. Außer bin/cleaner das ist 64-bit, das ist aber richtig so da es nicht zum tnn gehört.
    Dann

    Quellcode

    1. make baseinstall


    Fertig ..
    Danke an Peter !!
    -----------------------------------------------------------------------------------------------------------------------------------------



    Ich hoffe es hilft dir auch bei deinen Problem.
    Kannst ja gerne mal ein Feedback geben, ob das neu kompilieren was gebracht hat.

    Ich muss aber dazu sagen, dass es mit immer moderneren Versionen von Linux, immer mehr Probleme mit der alten SW gibt.
    ax25-tools ab Version rc5 bzw. oder libax25 machen z.B. auch Probleme. FBB z.B. hat Probleme mit den Kernel AX25 Geräten was in den vorherigen Versionen nicht so war. Das ganze Linux NetRom Gedöns scheint auch nicht mehr wirklich zu funktionieren bzw Fehlerhaft zu sein..
    Aber gut, das ist ein andere Thema..
Datenfunk auf CB-Funk - Packet Radio