Ofunniku / dwarftherapist

Automatically exported from code.google.com/p/dwarftherapist
Other
0 stars 0 forks source link

Running DT 64-bit (or maybe at all) makes the app kill savefiles and get wrong headcounts #369

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
DT killed my first and favourite fort. It was twenty years old when it started 
to segfault randomly and I had already saved. So I got a corrupted savefile I'm 
attaching, you can load it and play it a few minutes and see it crash. You can 
also load the dwarves in DT and see a wrong headcount unless that was from 
running it 64-bit. I wasn't worried about the headcounts differing (thought it 
was a Feature) and used DT lushly on that fortress, frequently without pausing 
and always without restarting DT when I saved and loaded my game, which I've 
now figured out is a perfect way to desynchronize DT and DF. Where is the 
button to DIS-connect from DF so I can reconnect without restarting DT?

>What steps will reproduce the problem?

1. Play a fort, connect DT to it, then save your game, and load it again, and 
read dwarves in DT without breaking the connection, if possible. Sometimes it 
is possible to just read dwarves, sometimes it isn't, after saving and loading 
your fort. But if it is possible to you risk getting a headcount off by one or 
two. The last time this happened the extra dwarf was a juvenile who didn't 
appear in the game and showed as Ecstatic (1200+), way too high a happiness 
number.

2. Compile DT 64-bit then use it at all. See if you get legendary swordsdwarves 
and segfaults

3. Sometimes I get wrong headcounts if I read dwarves after saving my game and 
loading it again. If I commit changes, I'm stuck with the wrong headcount no 
matter what I do. If I don't commit changes while the headcount is wrong, I can 
restart dwarf therapist to get the right one, and avoid other dangers that come 
from committing with the wrong headcount, like segfaults, which I've verified 
even running it 32-bit. So I always restart dwarf therapist when I save my 
game, now, and watch the DT and DF headcounts carefully to make sure they're 
synchronized. I also use DT much less :(

>What is the expected output?

Game

>What do you see instead?

Black screen

OK. That's too strong :)

>What is the expected output?

Population: 100

>What do you see instead?

Population: 101, and eventual segfaults from DF if I commit changes while the 
headcount is wrong

>What version of the product are you using? On what operating system?

Latest (0.6.11), on 64-bit Slackware 13.0

I edited the makefile to build it 32-bit and happily I appear to have 32-bit QT 
libraries on here. It hasn't corrupted a savefile on me since then but I also 
use it -much- more carefully

>Please provide the "run.log" file in the "log" directory of DwarfTherapist
>when this error occurred.

I don't get a run.log (I get a no such file error on opening the logfile)

>If this is a truly "crazy" issue, please also attach a copy of your save-
>game.

Gladly. If someone can make a change to this game that keeps it from 
segfaulting for over half an hour, give it back: I still want to play this fort!

http://ansistego.sf.net/dibesherib_crazygorge_save.tar.gz -- couldn't attach 
this, might be too large (16M). Please take a look! Connect with DT and take a 
headcount and note how it's the wrong one. Check the dwarves' legendary 
statuses and see all the bizarre legendary dwarves I got all of a sudden. 
Marvel at my bears and subterranean bees. Unpause and witness a segmentation or 
general protection fault in five minutes or less! Fun for the entire, entire 
family

brilanon@gmail.com to reach me directly

Thanks guys. DT is a really beautiful app. It's too bad it ate my game that time

Original issue reported on code.google.com by brila...@gmail.com on 20 Dec 2011 at 7:15

GoogleCodeExporter commented 9 years ago
There were some 64-bit fixes a while back, need to review them and see if there 
are still issues.

Original comment by ehler...@gmail.com on 6 Mar 2012 at 3:23

GoogleCodeExporter commented 9 years ago
Issue 370 has been merged into this issue.

Original comment by ehler...@gmail.com on 6 Mar 2012 at 3:24