Bay 12 Games Forum

Please login or register.

Login with username, password and session length
Advanced search  
Pages: 1 ... 3 4 [5] 6 7 ... 27

Author Topic: Dwarf Fortress 0.31.25 Released  (Read 184388 times)

mrbaggins

  • Bay Watcher
    • View Profile
Re: Dwarf Fortress 0.31.25 Released
« Reply #60 on: March 28, 2011, 04:22:03 pm »

   (*)fixed world gen crash caused when a prisoner escapes from a site at the same time the last person to arrive at the site commits murder

Why the hell should that crash DF?

Probably "last person to arrive at the site commits murder" targets prisoner, but "prisoner escapes from a site at the same time" so it targets invalid person, so it targets invalid index, so it reads invalid area of memory, so it crashes.

Or because two seperate processes (murder and escape) access the same property of the site (population number).

AFAIK DF is not multithreaded.

Correct, and you beat me to posting it.
Logged

Jeoshua

  • Bay Watcher
  • God help me, I think I may be addicted to modding.
    • View Profile
Re: Dwarf Fortress 0.31.25 Released
« Reply #61 on: March 28, 2011, 05:34:56 pm »

Well while DF may not be multithreaded, it does appear to be object oriented.  Therefore, the idea that what the two, non-related objects want to do is counter to each other and makes the game crash isn't out of the question.  It's merely that it happens in serial fashion, rather than simultaneously.

I have to say tho, I'm really glad that the majority of these fixes have been in the RAWs.  Makes it easier to upgrade than if the API had been changed.
« Last Edit: March 28, 2011, 05:38:31 pm by Jeoshua »
Logged
I like fortresses because they are still underground.

Buttery_Mess

  • Bay Watcher
  • 11x11
    • View Profile
Re: Dwarf Fortress 0.31.25 Released
« Reply #62 on: March 28, 2011, 06:03:56 pm »

What does today code in anyway?
Logged
But .... It's so small!
It's not the size of the pick that counts... it's the size of the man with the pick.
Quote from: Toady One
Naturally, we'd like to make life miserable for everybody, randomly, but that'll take some doing.

Aequor

  • Bay Watcher
    • View Profile
Re: Dwarf Fortress 0.31.25 Released
« Reply #63 on: March 28, 2011, 06:06:27 pm »

Mr. Toady, you do spoil us so.
Logged
Quote
[USE_GOOD_REASON:UNTHINKABLE]

SirAaronIII

  • Bay Watcher
  • Western Romanticist
    • View Profile
Re: Dwarf Fortress 0.31.25 Released
« Reply #64 on: March 28, 2011, 06:06:43 pm »

Thanks for another great update, Toady! And another, and another, and another...
Seriously though, you should take a break. All these rapid-fire updates have got to be bad for you in the long run.
Logged
"I want to watch the sun setting below the horizon, thinking about my significance in this world. That's my dream."

monk12

  • Bay Watcher
  • Sorry, I AM a coyote
    • View Profile
Re: Dwarf Fortress 0.31.25 Released
« Reply #65 on: March 28, 2011, 06:11:39 pm »

What does today code in anyway?

C++, I believe

Toady One

  • The Great
    • View Profile
    • http://www.bay12games.com
Re: Dwarf Fortress 0.31.25 Released
« Reply #66 on: March 28, 2011, 06:21:25 pm »

   (*)fixed world gen crash caused when a prisoner escapes from a site at the same time the last person to arrive at the site commits murder

Why the hell should that crash DF?

It decides what to do with a site's population in one loop, and the general workers are the ones that kill each other.  It does the escape attempts in there, but the attempted reindex wasn't correct, so the last arrival ended up being assigned to work twice if somebody escaped.  That part of the bug is normally virtually invisible, since you'd just get a little extra work done on the site every escape year, and even the regular murder routine was set up to handle that worker being eliminated (it wouldn't have tried to kill the worker twice because of an extra check).  However, when the last doubled-up worker was chosen as the murderer, then in the process of choosing potential victims, it wasn't prepared to skip two entries in the target list (to prevent self-murder), and it crashed.  Now the original bug is fixed, and if that double-up situation arises in some other way it'll drop an error in the log instead of crashing.
« Last Edit: March 28, 2011, 06:28:03 pm by Toady One »
Logged
The Toad, a Natural Resource:  Preserve yours today!

greycat

  • Bay Watcher
    • View Profile
Re: Dwarf Fortress 0.31.25 Released
« Reply #67 on: March 28, 2011, 06:49:02 pm »

What does today code in anyway?

C++, I believe

The Linux version is linked against libstdc++, so at least some part of it is written in C++.
Logged
Hell, if nobody's suffocated because of it, it hardly counts as a bug! -- StLeibowitz

isitanos

  • Bay Watcher
  • Seasonal river flood nostalgic
    • View Profile
Re: Dwarf Fortress 0.31.25 Released
« Reply #68 on: March 28, 2011, 07:09:28 pm »

I had loads of fun yesterday night trying out the new stuff (grazing animals, pottery, ...)
Marksmen actually train (sometimes) and use metal bolts against baddies, having a somewhat working military is great. They turned a goblin snatcher into a pincushion. They do display "Soldier - cannot follow order" 90% of the time though, which is rather confusing. Any chance of telling us what they need to get to work instead of that cryptic error message?


A hilarious moment was when a water buffalo and a horse got into a fight: the horse first kicked the hell out of the buffalo, and then bit and latched on to its back and wouldn't let go. Trying to imagine the scene had me laugh out loud.
Overall animals being a big unruly is fun. I put two war dogs and a giant scorpion (all non-grazers) in a small pasture in front of my entrance to guard it, and they also got into a fight (the dog actually wounded the scorpion and was unhardmed  :o ).
The scorpion didn't use its sting and only grabbed the dog with its rear legs, as if it really didn't want to harm it. This made me think that it would be fun if animals (and dwarves, why not) did have a set of attacks (some of them toned down as when training) that they use in friendly brawls. Puppies would have those kind of brawls all the time.


Also very funny is "Urist bashes Asob in the head with its iron battleaxe, lightly tapping the target".


One last thing: do you guys manage to visually distinguish grass from muddy floor, pebbles, and various other kinds of soil? Around my fortress, it seems that the only way to see if grass is growing somewhere is to use 'k' and check tiles one at a time, not very good if you want to quickly assess how much food is left for your grazers, or if a place is good for a pasture. Some different tiles for grass and bare soil would help I think.
« Last Edit: March 28, 2011, 07:11:41 pm by isitanos »
Logged

steppenfox

  • Escaped Lunatic
    • View Profile
Re: Dwarf Fortress 0.31.25 Released
« Reply #69 on: March 28, 2011, 07:18:17 pm »

Whoa.  Thanks for the updates!

Would installing the latest newbie pack + updating the executable and raws work?  Or... does dwarf therapist get messed up every time there is an update?
Logged

Aklyon

  • Bay Watcher
  • Fate~
    • View Profile
Re: Dwarf Fortress 0.31.25 Released
« Reply #70 on: March 28, 2011, 07:19:25 pm »

You'll need to check the therapist thread for an updated memory layout.
Logged
Crystalline (SG)
Sigtext
Quote from: RedKing
It's known as the Oppai-Kaiju effect. The islands of Japan generate a sort anti-gravity field, which allows breasts to behave as if in microgravity. It's also what allows Godzilla and friends to become 50 stories tall, and lets ninjas run up the side of a skyscraper.

abadidea

  • Bay Watcher
  • [IS_8BIT_PROGRAMMER]
    • View Profile
    • 0xabad1dea
Re: Dwarf Fortress 0.31.25 Released
« Reply #71 on: March 28, 2011, 07:32:33 pm »

   (*)fixed world gen crash caused when a prisoner escapes from a site at the same time the last person to arrive at the site commits murder

Why the hell should that crash DF?

Probably "last person to arrive at the site commits murder" targets prisoner, but "prisoner escapes from a site at the same time" so it targets invalid person, so it targets invalid index, so it reads invalid area of memory, so it crashes.

Or because two seperate processes (murder and escape) access the same property of the site (population number).

AFAIK DF is not multithreaded.

It doesn't necessarily have to be multithreaded to produce spectacular inconsistency.

For example: Prisoner leaves, population decrements to zero. Murderer murders nobody and population decrements to negative one. Code a few lines down that assumes it can't go negative crashes. (Just speculation but you see what I mean.)
Logged
ABadIdea likes bandfire opal, black opal, claro opal, crystal opal, fire opal, harlequin opal, jelly opal, levin opal, pinfire opal, precious fire opal, red flash opal, white opal, and microcline for its vibrant hue.

glory in the thunder, resplendent in the sky <-- I wrote a whole novel. There will be more.

HammerDave

  • Bay Watcher
    • View Profile
Re: Dwarf Fortress 0.31.25 Released
« Reply #72 on: March 28, 2011, 08:08:58 pm »

Wow, that's a lot of bugfixes.  I'm merrily playing along in .21, biding my time while Therapist, dfhack, and Mayday are available on the latest version.  'cept the latest version doesn't last long enough for the others to get updated!   :o

I am wondering how Toady finds enough time in the day to release so frequently.  Perhaps compiling while he sleeps?   8)

On the "it's not multi-threaded" comments -- Toady already posted a pretty open description, but in general for event loops like this one there are always exposures to iteration N adversely affecting other things in the same iteration, or in the next one.

Prisoners escaping must be an adventure mode thing, right?

And "release 1" had me worried the plan was to not release anything until 1.0.0.  I hope it means the next 0.nn number?
Logged

Footkerchief

  • Bay Watcher
  • The Juffo-Wup is strong in this place.
    • View Profile
Re: Dwarf Fortress 0.31.25 Released
« Reply #73 on: March 28, 2011, 08:13:12 pm »

Or because two seperate processes (murder and escape) access the same property of the site (population number).

AFAIK DF is not multithreaded.

It doesn't necessarily have to be multithreaded to produce spectacular inconsistency.

For example: Prisoner leaves, population decrements to zero. Murderer murders nobody and population decrements to negative one. Code a few lines down that assumes it can't go negative crashes. (Just speculation but you see what I mean.)

I'm sure Kogut knows that -- what s/he was getting at with the response to Areyar's comment was that multiple processes weren't at work here, i.e. this wasn't a race condition / critical section type thing.

Also, for completeness, DF does have multithreaded rendering code, just not the rest of the game.

Prisoners escaping must be an adventure mode thing, right?

World gen thing, hence world gen crash.

And "release 1" had me worried the plan was to not release anything until 1.0.0.  I hope it means the next 0.nn number?

Yes, it's 0.32.  Release 1 and subsequent releases are described here.  Toady discussed the timeframe recently:

Quote from: Toady One
I'm not sure how long Release 1 will take, but after Release 1, I'm going to do another cycle like this.  Hopefully it'll be lighter on the new bug fixes, since that took a lot of time this time around by itself, but another 2 week or 20 day period or whatever of old bug fixes will come up then.  If I end up starting Release 1 next, then ultra-tentatively-and-without-any-serious, let's say that takes up April.  Then the better part of May will be debugging, and so on.
« Last Edit: March 28, 2011, 08:17:50 pm by Footkerchief »
Logged

Iggbyoo

  • Bay Watcher
    • View Profile
Re: Dwarf Fortress 0.31.25 Released
« Reply #74 on: March 28, 2011, 09:14:58 pm »

Man, he is going so fast that he can't stop now! He'll get coding whiplash!  Poor guy.  :'(
Logged
Pages: 1 ... 3 4 [5] 6 7 ... 27