how to detect game crashing error in modding

Discussion in 'Mod Discussions' started by Ksgrip, September 27, 2015.

  1. Ksgrip

    Ksgrip Active Member

    Messages:
    612
    Likes Received:
    242
    Hi all
    I've been developing a modx based mod for a while and while having done some work it is pretty unsatable and cause the game to crash every time.
    I've detected it doing so everytime I use the change control mod ( uber default mod). Even if I don't do anything the game will crash nevertheless. Does anyone know how to detect what causes this?
  2. wondible

    wondible Post Master General

    Messages:
    3,315
    Likes Received:
    2,089
    Last I checked the uber default mods no longer work; the cheats have been subsumed by sandbox mode. Update mods didn't work last I tried, but we think it still blocks replay recording.

    Some of them may turn on UI elements, but I made mods which do that based on sandbox mode.

    Are you saying it crashes as soon as you check to control another player?

    My main debugging technique for crashes is to check logs, or run PA and/or server from the console to watch for any death messages from the process.
    Ksgrip likes this.
  3. stuart98

    stuart98 Post Master General

    Messages:
    6,009
    Likes Received:
    3,888
    Run the json reformat tool from a command prompt; it will tell you the line and column of the error. Repeat until all errors are ded.
    Ksgrip likes this.
  4. Ksgrip

    Ksgrip Active Member

    Messages:
    612
    Likes Received:
    242
    How do I activate the console?
    Edit: I've been using your instant sandbox mod so it uses the default sandbox system. Everytime I changr control of the player it crashes.

    As I've asked are tou willing to explain me hoe to do the process?
    Last edited: September 28, 2015
  5. Ksgrip

    Ksgrip Active Member

    Messages:
    612
    Likes Received:
    242
    Also were is the reformat tool and how do I run the console with the command
  6. wondible

    wondible Post Master General

    Messages:
    3,315
    Likes Received:
    2,089
    In windows, shift-right-click on the Planetary Annihilation/x64 (or x86 depending, but no server) folder and choose "Open command window here" Then you can type "PA" or "server"

    In OS X open Terminal.app and use the cd command; I use the uber launcher so it's`cd
    "/Users/<username>/Library/Application Support/Uber Entertainment/Planetary Annihilation/data/streams/stable/PA.app/Contents/MacOS"` The type "./PA" or "./server"
    Ksgrip likes this.
  7. wondible

    wondible Post Master General

    Messages:
    3,315
    Likes Received:
    2,089
    For light work you can find many validators on the web. For mass validation most tools are programmer oriented and thus run from the command/console/terminal. I found a few GUI tools a few minutes of searching, but they are all single file.

    http://www.softpedia.com/get/Programming/File-Editors/B-Mihai-JSON-Viewer.shtml
    https://jsonviewer.codeplex.com/
    http://www.jsoneditoronline.org/
    Plus a few references to eclipse plugins.
    Ksgrip likes this.
  8. stuart98

    stuart98 Post Master General

    Messages:
    6,009
    Likes Received:
    3,888
  9. Ksgrip

    Ksgrip Active Member

    Messages:
    612
    Likes Received:
    242
  10. wondible

    wondible Post Master General

    Messages:
    3,315
    Likes Received:
    2,089
    Install Python, then get a command prompt at the directory where you want everything under it reformatted (which will reject invalid syntax) and run "python reformat.py"

    Assuming reformat.py is in that directory.
    Ksgrip likes this.
  11. Ksgrip

    Ksgrip Active Member

    Messages:
    612
    Likes Received:
    242
    TH
    Thanks! I´ve tried to use the command window but it doesn´t really tell me dead messages. Do I have to run any more commands to get it showing the info?
  12. Ksgrip

    Ksgrip Active Member

    Messages:
    612
    Likes Received:
    242
    ERROR Error opening struct UnitSpec spec "/pa/units/land/base_unit/base_unit.json", file failed to load
    [14:17:47.812] ERROR Failed to load unit spec: /pa/units/land/base_unit/base_unit.json
    [14:17:47.828] ERROR Error opening struct UnitSpec spec "/pa/units/orbital/orbital_egg/orbital_egg.json", file failed to load
    [14:17:47.828] ERROR Failed to load unit spec: /pa/units/orbital/orbital_egg/orbital_egg.json
    [14:17:48.062] ERROR Error opening struct UnitSpec spec "/pa/unis/sea/drone_carrier/carrier.json", file failed to load
    [14:17:48.062] ERROR Failed to load unit spec: /pa/unis/sea/drone_carrier/carrier.json
    [14:17:48.125] ERROR Error opening struct ToolSpec spec "/pa/units/sea/fabrication_sub/fabrication_sub_build_arm.json", file failed to load
    [14:17:48.125] ERROR Unable to load tool spec: /pa/units/sea/fabrication_sub/fabrication_sub_build_arm.json
    [14:17:48.219] ERROR Error opening struct UnitSpec spec "/pa/units/land/amphibious_bot/amphibious_bot.json", file failed to load
    [14:17:48.219] ERROR Failed to load unit spec: /pa/units/land/amphibious_bot/amphibious_bot.json
    [14:17:48.297] ERROR Error opening struct UnitSpec spec "/pa/units/land/tank_amphibious_adv/tank_amphibious_adv.json", file failed to load
    [14:17:48.297] ERROR Failed to load unit spec: /pa/units/land/tank_amphibious_adv/tank_amphibious_adv.json
    [14:17:48.328] ERROR Failed to load unit spec: /pa/units/orbital/orbital_egg/orbital_egg.json
    [14:17:48.375] ERROR Error opening struct UnitSpec spec "/pa/units/sea/fabrication_sub/fabrication_sub.json", file failed to load
    [14:17:48.375] ERROR Failed to load unit spec: /pa/units/sea/fabrication_sub/fabrication_sub.json
    [14:17:48.391] ERROR Error opening struct UnitSpec spec "/pa/units/sea/sonar/sonar.json", file failed to load
    [14:17:48.391] ERROR Failed to load unit spec: /pa/units/sea/sonar/sonar.json
    [14:17:48.391] ERROR Error opening struct UnitSpec spec "/pa/units/sea/sonar_adv/sonar_adv.json", file failed to load
    [14:17:48.391] ERROR Failed to load unit spec: /pa/units/sea/sonar_adv/sonar_adv.json


    so it fails to load them and I checked and those are perfectly defined:S

    [14:18:43.906] ERROR HistoryServer::Connection 127.0.0.1:54463: control pipe ended!

    Any way of knowing what happenned?
    Last edited: September 28, 2015
  13. wondible

    wondible Post Master General

    Messages:
    3,315
    Likes Received:
    2,089
    Is base_unit a thing in the mod?

    A number of those look like former unused units that were cleaned out circa titans.

    I noticed this one: /pa/unis/sea/drone_carrier/carrier.json I doubt you have a unis directory.
    Ksgrip likes this.
  14. Ksgrip

    Ksgrip Active Member

    Messages:
    612
    Likes Received:
    242
    Prbably what you just said. Still what provokes the crash is always the change control flag of sandbox or a ramdom crash caused by recvCmd()
  15. Ksgrip

    Ksgrip Active Member

    Messages:
    612
    Likes Received:
    242
    son if I give you wondible this server log, what do you think?
    Also the loading base commander repeated like a thousand times..

    [18:11:26.609] INFO change: Mount="C:\\Program Files (x86)\\Steam\\steamapps\\common\\Planetary Annihilation Titans\\media\\", Action=3, Filename="pa_ex1/units/commanders/base_commander/base_commander.json", no node
    [18:11:26.609] INFO change: Mount="C:\\Program Files (x86)\\Steam\\steamapps\\common\\Planetary Annihilation Titans\\media\\pa_ex1\\", Action=3, Filename="units/commanders/base_commander/base_commander.json", have node
    [18:11:26.609] INFO change: Mount="C:\\Program Files (x86)\\Steam\\steamapps\\common\\Planetary Annihilation Titans\\media\\", Action=3, Filename="pa_ex1/units/commanders/base_commander/base_commander.json", no node
    [18:11:26.609] INFO change: Mount="C:\\Program Files (x86)\\Steam\\steamapps\\common\\Planetary Annihilation Titans\\media\\", Action=3, Filename="pa_ex1/units/commanders/base_commander/base_commander.json", no node
    [18:11:26.609] INFO change: Mount="C:\\Program Files (x86)\\Steam\\steamapps\\common\\Planetary Annihilation Titans\\media\\pa_ex1\\", Action=3, Filename="units/commanders/base_commander/base_commander.json", have node
    [18:11:26.609] INFO change: Mount="C:\\Program Files (x86)\\Steam\\steamapps\\common\\Planetary Annihilation Titans\\media\\pa_ex1\\", Action=3, Filename="units/commanders/base_commander/base_commander.json", have node
    [18:11:26.640] INFO change: Mount="C:\\Program Files (x86)\\Steam\\steamapps\\common\\Planetary Annihilation Titans\\media\\", Action=3, Filename="pa_ex1/units/commanders/base_commander/base_commander.json", no node
    [18:11:26.640] INFO change: Mount="C:\\Program Files (x86)\\Steam\\steamapps\\common\\Planetary Annihilation Titans\\media\\pa_ex1\\", Action=3, Filename="units/commanders/base_commander/base_commander.json", have node
    [18:11:26.640] INFO change: Mount="C:\\Program Files (x86)\\Steam\\steamapps\\common\\Planetary Annihilation Titans\\media\\", Action=3, Filename="pa_ex1/units/commanders/base_commander/base_commander.json", no node
    [18:11:26.640] INFO change: Mount="C:\\Program Files (x86)\\Steam\\steamapps\\common\\Planetary Annihilation Titans\\media\\pa_ex1\\", Action=3, Filename="units/commanders/base_commander/base_commander.json", have node
    [18:11:26.671] INFO change: Mount="C:\\Program Files (x86)\\Steam\\steamapps\\common\\Planetary Annihilation Titans\\media\\", Action=3, Filename="pa_ex1/units/commanders/base_commander/base_commander.json", no node
    [18:11:26.671] INFO change: Mount="C:\\Program Files (x86)\\Steam\\steamapps\\common\\Planetary Annihilation Titans\\media\\pa_ex1\\", Action=3, Filename="units/commanders/base_commander/base_commander.json", have node
    [18:11:26.671] INFO change: Mount="C:\\Program Files (x86)\\Steam\\steamapps\\common\\Planetary Annihilation Titans\\media\\", Action=3, Filename="pa_ex1/units/commanders/base_commander/base_commander.json", no node
    [18:11:26.671] INFO change: Mount="C:\\Program Files (x86)\\Steam\\steamapps\\common\\Planetary Annihilation Titans\\media\\", Action=3, Filename="pa_ex1/units/commanders/base_commander/base_commander.json", no node
    [18:11:26.671] INFO change: Mount="C:\\Program Files (x86)\\Steam\\steamapps\\common\\Planetary Annihilation Titans\\media\\pa_ex1\\", Action=3, Filename="units/commanders/base_commander/base_commander.json", have node
    [18:11:26.671] INFO change: Mount="C:\\Program Files (x86)\\Steam\\steamapps\\common\\Planetary Annihilation Titans\\media\\pa_ex1\\", Action=3, Filename="units/commanders/base_commander/base_commander.json", have node
    [18:11:26.703] INFO change: Mount="C:\\Program Files (x86)\\Steam\\steamapps\\common\\Planetary Annihilation Titans\\media\\", Action=3, Filename="pa_ex1/units/commanders/tutorial_ai_commander/tutorial_ai_commander_arm.json", no node
    [18:11:26.703] INFO change: Mount="C:\\Program Files (x86)\\Steam\\steamapps\\common\\Planetary Annihilation Titans\\media\\pa_ex1\\", Action=3, Filename="units/commanders/tutorial_ai_commander/tutorial_ai_commander_arm.json", have node
    [18:11:26.703] INFO change: Mount="C:\\Program Files (x86)\\Steam\\steamapps\\common\\Planetary Annihilation Titans\\media\\", Action=3, Filename="pa_ex1/units/commanders/base_commander/base_commander.json", no node
    [18:11:26.703] INFO change: Mount="C:\\Program Files (x86)\\Steam\\steamapps\\common\\Planetary Annihilation Titans\\media\\", Action=3, Filename="pa_ex1/units/commanders/tutorial_ai_commander_2/tutorial_ai_commander_2_arm.json", no node
    [18:11:26.703] INFO change: Mount="C:\\Program Files (x86)\\Steam\\steamapps\\common\\Planetary Annihilation Titans\\media\\", Action=3, Filename="pa_ex1/units/commanders/tutorial_ai_commander_3/tutorial_ai_commander_3.json", no node
    [18:11:26.703] INFO change: Mount="C:\\Program Files (x86)\\Steam\\steamapps\\common\\Planetary Annihilation Titans\\media\\pa_ex1\\", Action=3, Filename="units/commanders/base_commander/base_commander.json", have node
    [18:11:26.703] INFO change: Mount="C:\\Program Files (x86)\\Steam\\steamapps\\common\\Planetary Annihilation Titans\\media\\pa_ex1\\", Action=3, Filename="units/commanders/tutorial_ai_commander_2/tutorial_ai_commander_2_arm.json", have node
    [18:11:26.703] INFO change: Mount="C:\\Program Files (x86)\\Steam\\steamapps\\common\\Planetary Annihilation Titans\\media\\pa_ex1\\", Action=3, Filename="units/commanders/tutorial_ai_commander_3/tutorial_ai_commander_3.json", have node
    [18:11:26.734] INFO change: Mount="C:\\Program Files (x86)\\Steam\\steamapps\\common\\Planetary Annihilation Titans\\media\\", Action=3, Filename="pa_ex1/units/commanders/base_commander/base_commander.json", no node
    [18:11:26.734] INFO change: Mount="C:\\Program Files (x86)\\Steam\\steamapps\\common\\Planetary Annihilation Titans\\media\\pa_ex1\\", Action=3, Filename="units/commanders/base_commander/base_commander.json", have node
    [18:11:26.734] INFO change: Mount="C:\\Program Files (x86)\\Steam\\steamapps\\common\\Planetary Annihilation Titans\\media\\", Action=3, Filename="pa_ex1/units/commanders/base_commander/base_commander.json", no node
    [18:11:26.734] INFO change: Mount="C:\\Program Files (x86)\\Steam\\steamapps\\common\\Planetary Annihilation Titans\\media\\", Action=3, Filename="pa_ex1/units/commanders/tutorial_player_commander/tutorial_player_commander_arm.json", no node
    [18:11:26.734] INFO change: Mount="C:\\Program Files (x86)\\Steam\\steamapps\\common\\Planetary Annihilation Titans\\media\\pa_ex1\\", Action=3, Filename="units/commanders/base_commander/base_commander.json", have node
    [18:11:26.734] INFO change: Mount="C:\\Program Files (x86)\\Steam\\steamapps\\common\\Planetary Annihilation Titans\\media\\pa_ex1\\", Action=3, Filename="units/commanders/tutorial_player_commander/tutorial_player_commander_arm.json", have node
    [18:11:26.781] INFO change: Mount="C:\\Program Files (x86)\\Steam\\steamapps\\common\\Planetary Annihilation Titans\\media\\", Action=3, Filename="pa_ex1/units/commanders/tutorial_titan_commander/tutorial_titan_commander.json", no node
    [18:11:26.781] INFO change: Mount="C:\\Program Files (x86)\\Steam\\steamapps\\common\\Planetary Annihilation Titans\\media\\pa_ex1\\", Action=3, Filename="units/commanders/tutorial_titan_commander/tutorial_titan_commander.json", have node
    [18:11:26.781] INFO change: Mount="C:\\Program Files (x86)\\Steam\\steamapps\\common\\Planetary Annihilation Titans\\media\\", Action=3, Filename="pa_ex1/units/orbital/orbital_carrier/orbital_carrier.json", no node
    [18:11:26.781] INFO change: Mount="C:\\Program Files (x86)\\Steam\\steamapps\\common\\Planetary Annihilation Titans\\media\\pa_ex1\\", Action=3, Filename="units/orbital/orbital_carrier/orbital_carrier.json", have node
    [18:11:26.875] INFO GameServerImpl::doSimShutdown
    [18:11:26.875] INFO Script requested exit:
    in main line 29:24
    [18:11:26.875] INFO Starting exit process
    [18:11:26.875] INFO Shutting down script environment
  16. stuart98

    stuart98 Post Master General

    Messages:
    6,009
    Likes Received:
    3,888
    That looks like useless info that's not necessarily even an error.

    Would you put your mod onto github? I should be able to get it figured out within a couple of hours.
    Ksgrip likes this.
  17. Ksgrip

    Ksgrip Active Member

    Messages:
    612
    Likes Received:
    242
    I´m not used to using git hub but I can provide you a dowload url from a dropbox
  18. Ksgrip

    Ksgrip Active Member

    Messages:
    612
    Likes Received:
    242
    Last edited: September 28, 2015
  19. stuart98

    stuart98 Post Master General

    Messages:
    6,009
    Likes Received:
    3,888
    You don't have any syntax errors that I can find.

    This means that any crashes you have are being caused by path locations or other non-syntax typos. Client and server logs are your chief assets in locating the error.

    What's the deal with the unitlist.json's vanilla entries?

    What exactly have you done so far to update it?
  20. Ksgrip

    Ksgrip Active Member

    Messages:
    612
    Likes Received:
    242
    The vanilla ones are for me to easily to access those unit files without having to rewrite ir. What kind of non syntax typos?
    I´ve solved the base comm problem also

Share This Page