News:

Welcome to World of Banished!

Main Menu

I don't know whether to report this as a bug or not.

Started by A Nonny Moose, March 04, 2015, 08:02:17 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

A Nonny Moose

Today, I had a full scale system hang and couldn't get control.  The symptoms were that I had Banished open, full screen, with half a dozen open windows including a trading post.  The cursor was set to the "move window" state but nothing would move, and I couldn't get out of it no matter what I did.

Is this a known problem of having too many windows open in Banished?  Or is it a problem for me to solve since I am running Ubuntu 14.10 with wine-1.7.34 (a beta).

I forced a cold boot.  After the boot, the graphics were funny, so I forced a cleanup/reboot and things went back to normal.  It acted as if the graphics driver had been stepped on.

Anybody else experience this?
Go not to the oracle, for it will say both yea and nay.

[Gone, but not forgotten. Rest easy, you are no longer banished.]
https://www.haskettfh.com/winterton-john-hensall/

kee

I haven't had that behavior from Banished, but have had similar experiences on laptops running windows who, when running on battery mode (and with that a reduced performance) both 'demanding' graphics (kill all autolaunch videos) and ordering that pesky pdf reader to print a page. Full freeze and odd behavior after reboot, fixed by a second reboot. Strange thing, I blame multidimensional gremlins.
Kim Erik

WorldofBanished

A Nonny Moose,

I have had a full-system-hang twice while playing Banished, although I was only playing Banished at the time.

According to Steam I have 653 hours into the game. With only two hang ups, I think that's a pretty good batting avg, according to my overall pc experience.
Sometimes stuff happens?

A Nonny Moose

Fellas, I've been in the computer business since 1962 and had my share of programming some pretty exotic stuff. 

A user program should not be able to hang a system. 

I am wondering if some of the stuff that isn't handled properly by wine (notably the multitasking) was the cause.  However, if Banished itself can get into this kind of tight loop, then maybe we should let the developer know.  I have no feeling for what happened, and will try to document this if it happens again.  In this case I wasn't even able to switch to a different desktop, and nothing else was running except the hundred or so swapped out system tasks.

After I posted the original note, I was able to run from my last checkpoint and the problem was not reproducible which I consider a good sign.  All things being equal, it might have been a power bump.
Go not to the oracle, for it will say both yea and nay.

[Gone, but not forgotten. Rest easy, you are no longer banished.]
https://www.haskettfh.com/winterton-john-hensall/

rkelly17

Quote from: A Nonny Moose on March 04, 2015, 08:02:17 AM
Today, I had a full scale system hang and couldn't get control.  The symptoms were that I had Banished open, full screen, with half a dozen open windows including a trading post.  The cursor was set to the "move window" state but nothing would move, and I couldn't get out of it no matter what I did.

Is this a known problem of having too many windows open in Banished?  Or is it a problem for me to solve since I am running Ubuntu 14.10 with wine-1.7.34 (a beta).

I forced a cold boot.  After the boot, the graphics were funny, so I forced a cleanup/reboot and things went back to normal.  It acted as if the graphics driver had been stepped on.

Anybody else experience this?

I often have so many windows open I can hardly see what's happening and that hasn't yet caused a crash. So far the only crashes I've had seem to be related to map-script mods and those still leave me in control of the machine (Win 7). I use a free-ware called "Process Hacker" and I can terminate the Banished process with that.

A Nonny Moose

#5
Just had another one, but this time I was simply raising a count in a widget on the professions sheet.  It just stopped and ignored all input.  I was able to get to another desktop and activate the system monitor.  There is no doubt it was in some kind of "slow" loop.  It was using 8% CPU, but wine suppressed the dump when I killed the process.

Before I killed it, I tried jacking up the priority for dispatch on both the wineserver and the main process itself.  No soap.  When I went back to the desktop all I had was a red vertical line at the bottom of the screen.  At least, this time, I was able to kill it.

Another point.  Does something disable the automatic save?  I had it set for half an hour, ran for 3 hours and there were no auto-saves.  The last time I got one was before I used any custom content.  Is it possible that in addition to other things, that automatic saves are inhibited by mods?
Go not to the oracle, for it will say both yea and nay.

[Gone, but not forgotten. Rest easy, you are no longer banished.]
https://www.haskettfh.com/winterton-john-hensall/

irrelevant

@A Nonny Moose

Is it possible that it is the autosave that is causing your problem? I have had freezes caused by the autosave.


A Nonny Moose

#7
Quote from: irrelevant on March 06, 2015, 07:18:13 AM
@A Nonny Moose

Is it possible that it is the autosave that is causing your problem? I have had freezes caused by the autosave.



Thanks.  I'll turn if off, and set a do-it-yourself timer.  It never occurred to me that something so simple could be a problem.

Update:  Turned off autosave.  Played for several hours yesterday with no hangs.
Go not to the oracle, for it will say both yea and nay.

[Gone, but not forgotten. Rest easy, you are no longer banished.]
https://www.haskettfh.com/winterton-john-hensall/

irrelevant

Hah! This blind pig finds another acorn. Glad you're back in business. :)

A Nonny Moose

got a big bunch of nomads today and absorbed them without a problem.  Played just a little over two hours with no problems.
Go not to the oracle, for it will say both yea and nay.

[Gone, but not forgotten. Rest easy, you are no longer banished.]
https://www.haskettfh.com/winterton-john-hensall/

WorldofBanished

Quote
Fellas, I've been in the computer business since 1962 and had my share of programming some pretty exotic stuff. 

A user program should not be able to hang a system.

I did not mean disrespect. I thought that by providing some information it could help narrow things down.

A Nonny Moose

Going only on the last couple of days of play, the culprit seems to have been the autosave option.  Turned it off, and no more hangs.  Perhaps when it is active (if it ever is), there should be an automatic pause while it happens and a banner should be raised.
Go not to the oracle, for it will say both yea and nay.

[Gone, but not forgotten. Rest easy, you are no longer banished.]
https://www.haskettfh.com/winterton-john-hensall/

irrelevant

How does autosave work? Does it build a new file in active memory, or does it maybe build the new file on the hard drive? If the hard drive is used, could fragmentation possibly be a factor?

A Nonny Moose

Quote from: irrelevant on March 08, 2015, 09:55:57 AM
How does autosave work? Does it build a new file in active memory, or does it maybe build the new file on the hard drive? If the hard drive is used, could fragmentation possibly be a factor?

Good question.  If I was doing it, I'd do this:

1. pause the game and notify the user
2. garbage collect
3. write a save file using the regular save logic
4. when the save completes, take down the notice and resume the game

Has anyone seen the source for this?
Go not to the oracle, for it will say both yea and nay.

[Gone, but not forgotten. Rest easy, you are no longer banished.]
https://www.haskettfh.com/winterton-john-hensall/

rkelly17

Quote from: A Nonny Moose on March 08, 2015, 04:12:43 PM
Quote from: irrelevant on March 08, 2015, 09:55:57 AM
How does autosave work? Does it build a new file in active memory, or does it maybe build the new file on the hard drive? If the hard drive is used, could fragmentation possibly be a factor?

Good question.  If I was doing it, I'd do this:

1. pause the game and notify the user
2. garbage collect
3. write a save file using the regular save logic
4. when the save completes, take down the notice and resume the game

Has anyone seen the source for this?

I haven't seen the code but I note that once the settlement gets to sufficient size the game pauses and a little animation appears in the upper left-hand corner of the screen while the save is done. Since you can then load the autosave file in the same way that you load any other save I'm thinking that the game writes the file directly to disk. Since I can only see 1 Auto.sav file in my Save folder (in my case in ..\Documents\Banished) I'm also thinking that the program overwrites the previous autosave file as part of the process.