Neuer Fehler: Assertion failure

Willkommen in der Transport Fever Community

Wir begrüßen euch in der Fan-Community zu den Spielen Transport Fever und Train Fever, den Wirtschaftssimulatoren von Urban Games. Die Community steht euch kostenlos zur Verfügung damit ihr euch über das Spiel austauschen und informieren könnt. Wir pflegen hier einen freundlichen und sachlichen Umgang untereinander und unser Team steht euch in allen Fragen gerne beiseite.

 

Die Registrierung und Nutzung ist selbstverständlich kostenlos.

 

Wir wünschen euch viel Spaß und hoffen auf rege Beteiligung.

Das Team der Transport-Fever Community


  • Die Fehlermeldung hatte ich auch mal als ich beim bearbeiten eines Freestyle Bahnhofs zu schnell den Bahnhof wieder angewählt habe nachdem ich ausersehen das Bearbeiten Menü mit Esc geschlossen hab.

    Grüße vom Chaoslokführer. Hier ist der Name Programm... naja nicht immer. :D

  • Hier der Crash Dump.

    Bei mir ist es aktuell noch nicht nachvollziehbar. Ich bewege mich über die Map, während der Verkehr rollt, bis irgendwann der Absturz passiert. Mein Verdacht liegt mal wieder auf dem Verhalten eines Fahrzeugs. Ich hatte so etwas schon mal bei landenden Flugzeugen (da war es ein Mod-Flughafen) und bei einem bestimmten PKW.

    Ich vermute aktuell eine Bahn oder einen Bahnhof, kann aber total daneben liegen. Vor allem weil da bis dato nichts Probleme machte.

    Dateien

    • dump.zip

      (41,85 kB, 181 Mal heruntergeladen, zuletzt: )

    System: AMD Ryzen 7 7800X3D, 64 GB RAM, nVidia RTX 3060, Windows 11

  • Ja, dass ist die Mod NAB von steam vielleicht fehlt ein Segment beim Bau, Brücke nicht geschlossen oder so.


    Roter Kasten ist die Mod.

    Bilder

    • fehler.png

    MfG elektronikfreak


    MB MSI MPG Z790 Edge WIFI - i7-14700K - Nvidia GeForce RTX 4080 Founders Edition 16GB - 192 Gb DDR5 Ram - 5x 2TB M.2 - Win11/64 - WsK - 60TB Ext. - TPF2 35924 und TPF3 40418

    (Meine Screenshots dürfen weiter verwendet werden) - (Fixiert auf Berliner Mod's)

    Einmal editiert, zuletzt von elektronikfreak ()

  • Komisch ist nur, dass ich diese Mod gar nicht abonniert habe.

    Vielleicht hattest Du diese mal Abonniert, entladen und vergessen :/

    MfG elektronikfreak


    MB MSI MPG Z790 Edge WIFI - i7-14700K - Nvidia GeForce RTX 4080 Founders Edition 16GB - 192 Gb DDR5 Ram - 5x 2TB M.2 - Win11/64 - WsK - 60TB Ext. - TPF2 35924 und TPF3 40418

    (Meine Screenshots dürfen weiter verwendet werden) - (Fixiert auf Berliner Mod's)

  • Ok, hab mir gerade mal angeschaut.


    1. Es ist Tpf2, schätze mal das ist ein Fehler, dass es in Tpf1 gelandet ist? @Mods könnt ihr den Thread bitte an den richtigen Ort verschieben?
    2. Bei dem Vergleich in der Assertion in der Fehlermeldung wird, so wie ich das verstehe, von der Lua-API auf eine Speicherstelle zugegriffen, die eigentlich nicht zum dem Array (wahrscheinlich components, "it" steht vermutlich für iterator) gehört.
    3. Das ganze findet in einem Extra-Thread, nicht dem Haupt-thread des Spiels statt. Aufgrund der Nr 69 des Threads gehe ich mal davon aus, dass die problematische Mod sehr gerne neue Threads erstellt. Wenn man in dem Code der von dir installierten Mods nach Mods die Threads erstellen sucht, kann man die Menge der zu verdächtigenden Mods evtl eingrenzen.
    4. Außerdem solltest du im Code auch nach dem in der Fehlermeldung angezeigten Code-Schnipsel it != components.end() suchen. Evtl ist das ja nur bei 1 oder 2 Mods enthalten.

    Auszug aus dem Beginn des dumps:


    Ich hab mal bei mir in den Mods gesucht, it != components.end() ist bei allen von mir abonnierten oder heruntergeladenen Mods nur in Freestyle Stations enthalten. https://steamcommunity.com/wor…iledetails/?id=2363493916

    2 Mal editiert, zuletzt von bionade24 ()

  • Wow! Vielen Dank!! Sehr hilfreich und tatsächlich: Die Freestyle Stations müsste ich auch installiert haben. Ansonsten suche ich auch mal verzeichnisweit nach dem Eintrag.
    Danke auch für den Hinweis aufs Verschieben. Da wählte ich wohl versehentlich TPF1 aus.

    *EDIT* Ok, besagte Mod habe ich nicht installiert. Und eine verzeichnisweite Suche sowohl im lokalen Modverzeichnis, als auch im Workshop-Verzeichnis lieferte kein Ergebnis. 🤔
    Zu merkwürdig.

    System: AMD Ryzen 7 7800X3D, 64 GB RAM, nVidia RTX 3060, Windows 11

    Einmal editiert, zuletzt von PeterLustig ()

  • Das ist ausgeschlossen. Mit welchem tool hast du gesucht? Ich habe ripgrep benutzt. Mit den 2 Befehlen rg 'it != components.end()' mods und rg 'it != components.end()' 1066780. Das es wahrscheinlich nicht Freestyle Stations ist, habe ich schon wegen dem 69. Thread vermutet. Dass F. S. so viele Threads aufmacht, ist mir nicht bekannt.

  • Ich suchte per Explorer und Notepad++- "ripgreg" kenne ich gar nicht, versuche es aber gerne mal auch damit.

    Auffällig jedenfalls ist, dass die Abstürze nur passieren, wenn ich das Spiel vom "Pause" Modus in den "Play" Modus umschalte. Nach einer gewissen Weile kommt dann der Absturz. Daher tippe ich auf ein Fahrzeug oder eine Station, die den Absturz verursacht, sobald sie angefahren wird. Wüsste jetzt aber von keiner neuen, die ich setzte und das Problem verursachen könnte. Die, die ich zuletzt platzierte, "liefen" bisher ohne Absturz. Von daher tippe ich auf ein Fahrzeug und versuche mal eben, die zuletzt verwendeten zu entfernen. Aber auch die sind von mir schon einige Male problemlos verwendet worden. 🤔

    System: AMD Ryzen 7 7800X3D, 64 GB RAM, nVidia RTX 3060, Windows 11

  • Es ist sinnvoll es auch mit ripgrep versuchen, da ich weiß wie die Volltextsuche von dem Tool funktioniert, was ich ja auch schon getestet habe. Außerdem ist ripgrep extrem schnell, Explorer verglichen mit ripgrep nicht einmal eine Schnecke.


    Auffällig jedenfalls ist, dass die Abstürze nur passieren, wenn ich das Spiel vom "Pause" Modus in den "Play" Modus umschalte.

    Das triggert dann wohl die Race Condition in der Mod die zum Use-After-free führt.

    Ich würde eher auf eine Skript-mod tippen. Außer es gibt Fahrzeuge mit Lua-Code, der permanent in einer Schleife ausgeführt wird.

  • Kann es sein, dass Du das unter Linux nutzt? Kein Plan, wie ich das unter Windows zum Laufen bekommen soll.
    Muss ich dafür vielleicht noch erst "Git for Windows" installieren und weitere Plugins? So jedenfalls, mit der Version von Github, kann ich irgendwie nichts anfangen.

    System: AMD Ryzen 7 7800X3D, 64 GB RAM, nVidia RTX 3060, Windows 11

  • Ja, ich nutzte Linux. Aber ich nutze das Tool (und viele andere) genauso auch unter Windows. Scheinbar hatte ich beim Post-Kreieren den Downlad-Link zu ripgrep vergessen anzugeben. Du solltest auf Github ripgrep-14.1.1-x86_64-pc-windows-msvc.zip herunterladen können, die zip-Datei entpacken und dann direkt mit der enthaltenen rg.exec <argumente> loslegen können. Das Programm in the PATH packen, etc. macht nur Sinn wenn du es regelmäßig benutzen möchtest.

  • Ja, genau die Version zog ich mir inzwischen und ließ sie über die Powershell laufen.
    Ich durchsuchte damit jetzt (zusätzlich mit dem Parameter "-i") das lokale Modverzeichnis sowie das von Steam, aber fand nichts, das dem gesuchten Argument entspricht.
    So werden halt nur Einträge gefunden, die einen Teil des Arguments beinhalten, so wie das hier:





    System: AMD Ryzen 7 7800X3D, 64 GB RAM, nVidia RTX 3060, Windows 11

  • Kann es sein, dass du die Single Quotes weggelassen hast? Mein Befehl war rg 'it != components.end()' <optional Ordnername in dem gesucht werden soll, sonst ab hier überall>. Wenn Powershell Single Quotes nicht macht, woran ich mich nicht erinnern kann, dann probiere es doch bitte einmal mit Double Quotes: rg "it != components.end()" <optional Ordnername in dem gesucht werden soll, sonst ab hier überall>

  • Wie schon so oft geschrieben, das ist das Spiel, das sagt, beim Zugriff fehlt eine Komponente, sprich ein ecs::component::* Du wirst ne Zeile "it != components.end()" nie in LUA finden. LUA funktioniert nicht im Prinzip wie STL C++ Containern...


    Haben wir aber auch im Lexikon:

    stdout.txt - Erklärung & typische Fehlermeldungen


    Und natürlich passiert das wenn man die Simulation wieder startet, dann werden alle noch "aufgestauten" Befehle abgearbeitet...


    Weitere Informationen wie Entity ist 0 ist auch nicht hilfreich, das ist die World Entity

    Vom ecs::component Type wäre es ein Asset, aber das passt halt nicht zu einer World Entity, da diese nie eine Asset Komponente hat.