Open LifWirser opened 2 years ago
UPDATE: This is some py3 problem some items have in py3 , to test I compiled vegastrike-engine without py3. I found another ship regional Guard/medium/dostoesky that locked up.in addition when I tried to sel items some but not all would cause lockups. All these disappeared when test against py2 engine. All problem items are repeatable with py3 engine
Good to know! OK, we'll need to look into these.
Can you provide a complete list of every problem item you have found so far?
If I'm right the types of troubled in the nav and ship generation python as well. A starting new issue about debugging python
to avoid needing to change runlevel, run in windowed mode(change with .vegasettings) Start vegastrike-engine from terminal ,when hangs close terminal.
to avoid needing to change runlevel, run in windowed mode(change with .vegasettings) Start vegastrike-engine from terminal ,when hangs close terminal.
Yes, I almost always run Vega Strike in windowed mode now, for this very reason. Perhaps we should make windowed mode the default?
at least for development, it probably should default to windowed mode.
update+1 I created a save game before hang ( with "starship/hunter/light/hyena" available. then ran gdb via "gdb --args ./vegastrike-engine-p3 --debug =3 -d../../Assets-Production-0.8.0" loaded save game then selected offending trade center item ,after hang exited via {cntr}{c} and recieved
Thread 1 "vegastrike-engi" received signal SIGINT, Interrupt. 0x0000000000869e54 in prettyPrintFloat (buffer=buffer@entry=0x7fffffffb2f0 "0.75", f=f@entry=-nan(0x400000), digitsBefore=digitsBefore@entry=0, digitsAfter=digitsAfter@entry=2, bufferLen=bufferLen@entry=128) at /home/enon/build/Vega-Strike-Engine-Source-0.8.0/engine/src/cmd/basecomputer.cpp:4592 4592 before++; `
Well I have so far two starship : /hunter/medium/hyena, /regenal guard/medium/ Dostoevsky (while /adoralian/med.../Dostoevsky does not both share same subdir in /units/)
Also all my inventory causes hangs at same place (void prettyPrintFloat in engine/src/cmd/basecomputer.cpp). gdb backtraces on invetory side hangs reveal
0 0x0000000000869e54 in prettyPrintFloat (buffer=buffer@entry=0x7fffffffb2f0 "0", f=-nan(0x400000),
digitsBefore=digitsBefore@entry=0, digitsAfter=digitsAfter@entry=0, bufferLen=bufferLen@entry=128) at /home/enon/build/Vega-Strike-Engine-Source-0.8.0/engine/src/cmd/basecomputer.cpp:4592
1 0x00000000008945f5 in showUnitStats (playerUnit=0x10b69e30,
text="#c0:1:.5#[NOTES]#n##n##-c@cargo/personal_transport.image@Whether dropping down to the local dispensary, or travelling around the planet to visit friends, these wheeled, hover and flight conveyances se"..., subunitlevel=0, mode=0, item=...) at /home/enon/build/Vega-Strike-Engine-Source-0.8.0/engine/src/cmd/damageable.h:79
2 0x000000000089df6c in buildShipDescription (item=..., texturedescription="")
at /home/enon/build/Vega-Strike-Engine-Source-0.8.0/engine/src/cmd/basecomputer.cpp:3967 Notice line #2 "texturedescription="") which indicates some pointer got corupted between buying and attempting to select in invetory
Currently I can not display any 2d graphics via gimp- getting possible file corruption msg instead
I an also suspecting the call to void prettyPrintFloat in engine/src/cmd/basecomputer.cpp). may reflect python >3 code. which would still pass gcc as valid c++ but cause trouble at runtime
Those stack traces show that the number the game is trying to print is -NaN. The game engine should handle that case, but I'm also wondering how you got -NaN in the first place.
What version of the assets are you using?
both assets and engine are 0.8.0 from Assets-Production-0.8.0.tar.gz, Vega-Strike-Engine-Source-0.8.0.tar.gz
on another thought While looking at "prettyprint" occurances I found two declarations engine/src/cmd/basecomputer.cpp:void prettyPrintFloat( char buffer, float f, int digitsBefore, int digitsAfter, int bufferLen = 128 ); engine/src/cmd/basecomputer.cpp:void prettyPrintFloat( char buffer, float f, int digitsBefore, int digitsAfter, int bufferLen )
which for c++ may be ok , I am trying to consider py2vs py3 print changes . on that note I grepped what could be relevent py print usages and will file seperate issue.. another issue will about variation in /units/vessels/* files
Seems to have been corrected in 0.8.x engine/assets. build diffences - running cmake/make in bash instead of dash (default for buster). copied bianaries from objconv to bin directory (have not knowingly run
still more bugs
Twice in two different "trade centers", when in seller frame "starship/hunter/light/hyena" when selected hangs game. so far np other trade entries have misbehaved, Dont know if data corrupt/missing
Suggest some sort of error msssage once cause determinded
Had to change to another runlevel to exit