"Lua error: unhandled exception" Exception type: std::out_of_range What: bitset::set

    This site uses cookies. By continuing to browse this site, you are agreeing to our Cookie Policy.

    • "Lua error: unhandled exception" Exception type: std::out_of_range What: bitset::set

      English
      Anyone seen this error before?
      in stdout:
      Lua error: unhandled exception
      Exception type: std::out_of_range
      What: bitset::set
      any hints how to debug. I have no clue where that happens...
      even web searching didn't find anything about above phrases..
      (duckduckgo weirdley brought only C++ results for search phrase "Lua error: unhandled exception" (with quotes)...)
      std::out_of_range and bitset::set sounds like errors in the C++ stack..
      after creation of the minidump I got:
      /home/urban/build/transport_fever/transport_fever_release/src/Lib/ecs/Engine.h:264: int ecs::Engine::GetComponentDataIndex(const ecs::Entity&, int) const: Assertion `it != components.end()' failed.

      hmm..

      Edit:
      I now worked/debug all ways through the lua/mod stuff... the error occurs past lua/mod processing, which seems to work fine...

      Deutsch

      Jemand schon diesen Fehler je gesehen?
      In der Standardausgabe
      Lua error: unhandled exception
      Exception type: std::out_of_range
      What: bitset::set
      Irgendwelche Hinweise wie das zu debuggen? Keine Ahnung wo das geschieht.
      Nach Kreïerung des Speicherabbilds bekam ich noch:
      /home/urban/build/transport_fever/transport_fever_release/src/Lib/ecs/Engine.h:264: int ecs::Engine::GetComponentDataIndex(const ecs::Entity&, int) const: Assertion `it != components.end()' failed.

      hmm..

      Edith:
      Ich habe nun komplett den Weg durch die lua/mod bearbeitung durchgedebugged... Der Fehler tritt nach der Lua/Mod-Prozessierung, die scheinbar Problemlos funktioniert, auf...

      The post was edited 1 time, last by tsilaicosneknurd ().

    • English

      My new assumption is, it's kind of too much data at all in lua part (what does exactly go from lua to c++ code??)
      my previous assumption was, game would crash if there are too many lanes to build by a complex building (limit somewhere between 400 and 430 lanes)
      now I made a script, to limit the lanes.
      In several iterations a limit of number of lanes per node is created, I create therefor copies (not references) of tables.
      Now the game crashes (with same error) with a lower count of lanes actually to built (but may wore data actually in lua variables/tables).
      Deutsch

      Meine neue Annahme ist, irgendeine Überschreitung eines Datenlimits im Lua Teil (Was genau wird alles von Lua nach C++ transferiert?)
      Meine vorherige Annahme (siehe vorheriger Thread) hat sich nicht ganz bestätigt:
      Ich habe eine Lanelimitierung pro Node kreïert, in mehreren Durchläufen wird ein Limit gesucht. Dafür werden Kopien (keine Referenzen) von Tabellen erzeugt.
      Nun stürzt das Spiel mit identischem Fehler bei einer deutlich geringeren Anzahl an zu bauender Lanes (aber deutlich mehr Daten in Lua Tabellen/Variablen) ab...


      Edit:
      unsetting the variables and garbagecollect() doesn't help. Would be nice to see the corresponding proprietary code.. where does std::out_of_range occur... I assume decompiling is prohibited by license :(

      The post was edited 3 times, last by tsilaicosneknurd ().

    • English
      some update.
      My last guess seems also to be wrong.
      I now get the crash with less data and less lanes.
      the question is, where or for what purpose does the C++ code use bitsets when creating the structure from lua instructions.

      Exception type: std::out_of_range
      What: bitset::set
      from reference for bitset::set
      Throws std::out_of_range if pos does not correspond to a valid position within the bitset.


      any ideas?

      Deutsch
      Ein Update
      Meine letzte Vermutung scheint ebenfalls unrichtig zu sein.
      Ich erhalte den Fehler nun mit weit weniger Daten und weniger Lanes.
      Die Frage ist, wo oder wofür nutzt der C++ Code bitsets bei der Erstellung der Strukturen aus den Lua Instruktionen.

      Exception type: std::out_of_range
      What: bitset::set
      Aus der Referenz für bitset::set
      Throws std::out_of_range if pos does not correspond to a valid position within the bitset.

      irgendeine Idee?



      finally, I think I found the cause. If a node exceeds 16 connections (bitset using 2 byte?) the error occurs.

      Schliesslich, denke ich die Ursache gefunden zu haben. Wenn eine Node 16 Verbindungen (Bitset von 2 Byte?) übersteigt, tritt der Fehler auf.

      The post was edited 1 time, last by tsilaicosneknurd ().