Bay 12 Games Forum

Please login or register.

Login with username, password and session length
Advanced search  

Author Topic: worldgen crashing, same install in Wine does as well  (Read 1874 times)

draeath

  • Bay Watcher
  • So it has come to this...
    • View Profile
worldgen crashing, same install in Wine does as well
« on: June 04, 2014, 04:48:26 am »

Hey there - as the subject says...

I'm trying to generate worlds on a Windows 8.1 machine. 64-bit, Intel i7 4770k, 16gb RAM. It appears to always crash during history generation, anywhere from around 100 to 300 years in. There's no log output or anything interesting shown in dfhack when it happens. Seeing your note in the manual, I thought I would give it a go in a linux VM via wine - and I receive the same behavior.

I am using "MasterworkDF V.5.03."

The crashing happens with the included world-gen parameters as well as anything I've created myself in PerfectWorld.

From my Windows event log:
Code: [Select]
Faulting application name: Dwarf Fortress.exe, version: 0.0.0.0, time stamp: 0x4fcc9488
Faulting module name: Dwarf Fortress.exe, version: 0.0.0.0, time stamp: 0x4fcc9488
Exception code: 0xc0000005
Fault offset: 0x00391791
Faulting process id: 0x2b30
Faulting application start time: 0x01cf7fce8b7a8d20
Faulting application path: C:\Games\DF-MasterWork\Dwarf Fortress\Dwarf Fortress.exe
Faulting module path: C:\Games\DF-MasterWork\Dwarf Fortress\Dwarf Fortress.exe
Report Id: 9f5d10a9-ebc3-11e3-bea3-74d435856604
Faulting package full name:
Faulting package-relative application ID:

From the Report Id itself:
Code: [Select]
Problem signature
Problem Event Name: APPCRASH
Application Name: Dwarf Fortress.exe
Application Version: 0.0.0.0
Application Timestamp: 4fcc9488
Fault Module Name: Dwarf Fortress.exe
Fault Module Version: 0.0.0.0
Fault Module Timestamp: 4fcc9488
Exception Code: c0000005
Exception Offset: 00391791
OS Version: 6.3.9600.2.0.0.256.48
Locale ID: 1033
Additional Information 1: 5861
Additional Information 2: 5861822e1919d7c014bbb064c64908b2
Additional Information 3: d1d9
Additional Information 4: d1d94a13d3609d6b740644c12508f581

Wine gives (perhaps) a bit more information:
Code: [Select]
Unhandled exception: divide by zero in 32-bit code (0x00b890bb).
Register dump:
 CS:0023 SS:002b DS:002b ES:002b FS:0063 GS:006b
 EIP:00b890bb ESP:0226ddac EBP:00000000 EFLAGS:00010246(  R- --  I  Z- -P- )
 EAX:00000000 EBX:21a4f664 ECX:00000000 EDX:00000000
 ESI:54ada0a0 EDI:00000000
Stack dump:
0x0226ddac:  21a4f664 54ada0a0 00000000 00ac8e6c
0x0226ddbc:  00000000 00000000 00000000 00000000
0x0226ddcc:  54ada0a0 41e46d00 3ffb1530 00b922d0
0x0226dddc:  00002710 00000495 00000000 00000000
0x0226ddec:  00002710 00000000 54ada5fc 00a59c6c
0x0226ddfc:  00000425 00000495 f0036da4 0226dec8
Backtrace:
=>0 0x00b890bb in dwarf fortress (+0x7890bb) (0x00000000)
0x00b890bb: divl %ecx,%eax
Modules:
Module Address Debug info Name (189 modules)
PE   340000-  371000 Deferred        protobuf-lite
PE   380000-  3a9000 Deferred        lua
PE   3d0000-  3d8000 Deferred        plants.plug
PE   3e0000-  3e6000 Deferred        worknow.plug
PE   3f0000-  3f7000 Deferred        tilesieve.plug
PE   400000- 1a59000 Export          dwarf fortress
PE 1a60000- 1e48000 Deferred        sdl
PE 2ad0000- 2ae0000 Deferred        prospector.plug
PE 2ae0000- 2aea000 Deferred        digflood.plug
PE 2af0000- 2af9000 Deferred        counters.plug
PE 2b00000- 2b07000 Deferred        infinitesky.plug
PE 2b10000- 2b2e000 Deferred        dwarfmonitor.plug
PE 2b30000- 2b3a000 Deferred        catsplosion.plug
PE 2b40000- 2b4e000 Deferred        fix-armory.plug
PE 2b50000- 2b5b000 Deferred        changeitem.plug
PE 2b60000- 2b68000 Deferred        colonies.plug
PE 2b70000- 2b77000 Deferred        onceexample.plug
PE 2b80000- 2b9c000 Deferred        buildingplan.plug
PE 2ba0000- 2ba7000 Deferred        deramp.plug
PE 2bb0000- 2bbf000 Deferred        tweak.plug
PE 2bc0000- 2bc9000 Deferred        reveal.plug
PE 2bd0000- 2d0a000 Deferred        stonesense.plug
PE 2d10000- 2d18000 Deferred        fixpositions.plug
PE 2d20000- 2d2d000 Deferred        rename.plug
PE 2d50000- 2d58000 Deferred        cleanowned.plug
PE 2da0000- 2da9000 Deferred        cursecheck.plug
PE 2db0000- 2db7000 Deferred        flows.plug
PE 2dc0000- 2dc7000 Deferred        outsideonly.plug
PE 2dd0000- 2de5000 Deferred        workflow.plug
PE 2df0000- 2dfa000 Deferred        changelayer.plug
PE 2e00000- 2e09000 Deferred        resume.plug
PE 2e10000- 2e1d000 Deferred        autodump.plug
PE 2e20000- 2e3b000 Deferred        search.plug
PE 2e40000- 2e47000 Deferred        buildprobe.plug
PE 2e50000- 2e62000 Deferred        automaterial.plug
PE 2e70000- 2e79000 Deferred        syndrometrigger.plug
PE 2e80000- 2e89000 Deferred        feature.plug
PE 2e90000- 2e9e000 Deferred        manipulator.plug
PE 2ea0000- 2eab000 Deferred        steam-engine.plug
PE 2eb0000- 2ec2000 Deferred        digginginvaders.plug
PE 2ed0000- 2ed8000 Deferred        power-meter.plug
PE 2ee0000- 2ee8000 Deferred        stripcaged.plug
PE 2ef0000- 2f02000 Deferred        hotkeys.plug
PE 2f10000- 2f19000 Deferred        filltraffic.plug
PE 2f20000- 2f2c000 Deferred        add-spatter.plug
PE 2f30000- 2f45000 Deferred        tiletypes.plug
PE 2f50000- 2f59000 Deferred        follow.plug
PE 2f60000- 2f68000 Deferred        nestboxes.plug
PE 2f70000- 2f83000 Deferred        liquids.plug
PE 2f90000- 2fa5000 Deferred        autolabor2.plug
PE 2fb0000- 2fc6000 Deferred        stocks.plug
PE 2fd0000- 2fd9000 Deferred        createitem.plug
PE 2fe0000- 2fec000 Deferred        automelt.plug
PE 2ff0000- 2ff9000 Deferred        mode.plug
PE 3000000- 3009000 Deferred        misery.plug
PE 3010000- 301e000 Deferred        burrows.plug
PE 3020000- 3037000 Deferred        3dveins.plug
PE 3040000- 3047000 Deferred        cleanconst.plug
PE 3050000- 305f000 Deferred        eventful.plug
PE 3060000- 306c000 Deferred        autosyndrome.plug
PE 3070000- 3077000 Deferred        tubefill.plug
PE 3080000- 3099000 Deferred        rendermax.plug
PE 30a0000- 30ac000 Deferred        dwarfexport.plug
PE 30b0000- 30b8000 Deferred        treefarm.plug
PE 30c0000- 30c8000 Deferred        cleaners.plug
PE 30d0000- 30d7000 Deferred        vshook.plug
PE 30e0000- 3100000 Deferred        zone.plug
PE 3100000- 3114000 Deferred        siege-engine.plug
PE 3120000- 3127000 Deferred        printargs.plug
PE 3130000- 313f000 Deferred        dig.plug
PE 3140000- 3149000 Deferred        initflags.plug
PE 3150000- 3158000 Deferred        weather.plug
PE 3160000- 3169000 Deferred        eventexample.plug
PE 3170000- 3183000 Deferred        dfusion.plug
PE 3190000- 3197000 Deferred        frozen.plug
PE 31a0000- 31a8000 Deferred        stockcheck.plug
PE 31b0000- 31b6000 Deferred        drybuckets.plug
PE 31c0000- 31cc000 Deferred        autotrade.plug
PE 31d0000- 31dd000 Deferred        mousequery.plug
PE 31e0000- 31e7000 Deferred        lair.plug
PE 31f0000- 3200000 Deferred        mapexport.plug
PE 3200000- 320b000 Deferred        jobutils.plug
PE 3210000- 3218000 Deferred        kittens.plug
PE 3220000- 3228000 Deferred        stockpiles.plug
PE 3230000- 323c000 Deferred        probe.plug
PE 3240000- 324c000 Deferred        isoworldremote.plug
PE 3250000- 3259000 Deferred        memview.plug
PE 3260000- 3272000 Deferred        advtools.plug
PE 3280000- 3291000 Deferred        autolabor.plug
PE 32a0000- 32b2000 Deferred        getplants.plug
PE 32c0000- 32c8000 Deferred        notes.plug
PE 32d0000- 32dc000 Deferred        seedwatch.plug
PE 32e0000- 32ea000 Deferred        dumpmats.plug
PE 32f0000- 32f7000 Deferred        fastdwarf.plug
PE 3300000- 3307000 Deferred        regrass.plug
PE 3310000- 331e000 Deferred        ruby.plug
PE 3420000- 342e000 Deferred        sort.plug
PE 3430000- 3437000 Deferred        fixveins.plug
PE 3440000- 344b000 Deferred        forceequip.plug
PE 3450000- 3459000 Deferred        showmood.plug
PE 3460000- 3468000 Deferred        rprobe.plug
PE 3470000- 3477000 Deferred        changevein.plug
PE 3480000- 3486000 Deferred        stepbetween.plug
PE 10000000-101b2000 Deferred        fmodex
PE 62e40000-62e60000 Deferred        sdl_image
PE 62e80000-62e97000 Deferred        zlib1
PE 66b80000-66c66000 Deferred        libruby
PE 68100000-6815d000 Deferred        sdlreal
PE 6f4c0000-6f4cc000 Deferred        sdl_ttf
PE 6fbc0000-6fc32000 Deferred        libfreetype-6
PE 78050000-780b9000 Deferred        msvcp100
PE 78aa0000-78b5e000 Deferred        msvcr100
ELF 7b800000-7ba5e000 Deferred        kernel32<elf>
  \-PE 7b810000-7ba5e000 \               kernel32
ELF 7bc00000-7bce1000 Deferred        ntdll<elf>
  \-PE 7bc10000-7bce1000 \               ntdll
ELF 7bf00000-7bf03000 Deferred        <wine-loader>
ELF 7e32a000-7e330000 Deferred        libxfixes.so.3
ELF 7e330000-7e33a000 Deferred        libxcursor.so.1
ELF 7e33a000-7e342000 Deferred        libxrandr.so.2
ELF 7e342000-7e34c000 Deferred        libxrender.so.1
ELF 7e34c000-7e352000 Deferred        libxxf86vm.so.1
ELF 7e352000-7e374000 Deferred        libxcb.so.1
ELF 7e374000-7e4ac000 Deferred        libx11.so.6
ELF 7e4ac000-7e4be000 Deferred        libxext.so.6
ELF 7e4be000-7e552000 Deferred        winex11<elf>
  \-PE 7e4d0000-7e552000 \               winex11
ELF 7e552000-7e56b000 Deferred        libz.so.1
ELF 7e56b000-7e607000 Deferred        libfreetype.so.6
ELF 7e607000-7e61e000 Deferred        glu32<elf>
  \-PE 7e610000-7e61e000 \               glu32
ELF 7e61e000-7e727000 Deferred        opengl32<elf>
  \-PE 7e640000-7e727000 \               opengl32
ELF 7e727000-7e73a000 Deferred        psapi<elf>
  \-PE 7e730000-7e73a000 \               psapi
ELF 7e73a000-7e74e000 Deferred        libresolv.so.2
ELF 7e74e000-7e773000 Deferred        iphlpapi<elf>
  \-PE 7e750000-7e773000 \               iphlpapi
ELF 7e773000-7e7a8000 Deferred        ws2_32<elf>
  \-PE 7e780000-7e7a8000 \               ws2_32
ELF 7e7a8000-7e7c3000 Deferred        wsock32<elf>
  \-PE 7e7b0000-7e7c3000 \               wsock32
ELF 7e7c3000-7e847000 Deferred        rpcrt4<elf>
  \-PE 7e7d0000-7e847000 \               rpcrt4
ELF 7e847000-7e985000 Deferred        ole32<elf>
  \-PE 7e860000-7e985000 \               ole32
ELF 7e985000-7ea32000 Deferred        msvcrt<elf>
  \-PE 7e9a0000-7ea32000 \               msvcrt
ELF 7ea32000-7ea4b000 Deferred        version<elf>
  \-PE 7ea40000-7ea4b000 \               version
ELF 7ea4b000-7eb6a000 Deferred        gdi32<elf>
  \-PE 7ea60000-7eb6a000 \               gdi32
ELF 7eb6a000-7ecc7000 Deferred        user32<elf>
  \-PE 7eb80000-7ecc7000 \               user32
ELF 7ecc7000-7ed7f000 Deferred        winmm<elf>
  \-PE 7ecd0000-7ed7f000 \               winmm
ELF 7ed7f000-7eda9000 Deferred        msacm32<elf>
  \-PE 7ed90000-7eda9000 \               msacm32
ELF 7eda9000-7ee19000 Deferred        advapi32<elf>
  \-PE 7edc0000-7ee19000 \               advapi32
ELF 7ee19000-7ee25000 Deferred        libnss_files.so.2
ELF 7ee25000-7ee30000 Deferred        libnss_nis.so.2
ELF 7ee30000-7ee47000 Deferred        libnsl.so.1
ELF 7efbe000-7efe4000 Deferred        libm.so.6
ELF 7efe4000-7efed000 Deferred        librt.so.1
ELF f6a2c000-f6b30000 Deferred        comctl32<elf>
  \-PE f6a30000-f6b30000 \               comctl32
ELF f6b30000-f6d66000 Deferred        shell32<elf>
  \-PE f6b40000-f6d66000 \               shell32
ELF f6d66000-f6e9d000 Deferred        oleaut32<elf>
  \-PE f6d80000-f6e9d000 \               oleaut32
ELF f6e9d000-f6f17000 Deferred        shlwapi<elf>
  \-PE f6eb0000-f6f17000 \               shlwapi
ELF f718a000-f7216000 Deferred        gdiplus<elf>
  \-PE f71a0000-f7216000 \               gdiplus
ELF f7216000-f723a000 Deferred        imm32<elf>
  \-PE f7220000-f723a000 \               imm32
ELF f7280000-f73cb000 Deferred        wined3d<elf>
  \-PE f7290000-f73cb000 \               wined3d
ELF f73cb000-f7441000 Deferred        ddraw<elf>
  \-PE f73d0000-f7441000 \               ddraw
ELF f7441000-f7444000 Deferred        libxau.so.6
ELF f7444000-f744c000 Deferred        libnss_compat.so.2
ELF f744d000-f7451000 Deferred        libdl.so.2
ELF f7451000-f75b5000 Deferred        libc.so.6
ELF f75b6000-f75cf000 Deferred        libpthread.so.0
ELF f75e2000-f7797000 Dwarf           libwine.so.1
ELF f7799000-f77b7000 Deferred        ld-linux.so.2
ELF f77b7000-f77b8000 Deferred        [vdso].so
Threads:
process  tid      prio (all id:s are in hex)
0000000c services.exe
0000001c    0
0000001b    0
00000012    0
0000000e    0
0000000d    0
00000010 winedevice.exe
00000018    0
00000017    0
00000015    0
00000011    0
00000019 plugplay.exe
0000001e    0
0000001d    0
0000001a    0
00000021 winewrapper.exe
00000022    0
00000023 (D) C:\DF-MasterWork\Dwarf Fortress\Dwarf Fortress.exe
0000002f    0
0000002e    0
0000002d    0
0000002c    0
00000026    0 <==
00000025   15
00000024    0
00000027 explorer.exe
00000029    0
00000028    0
0000002a wineconsole.exe
0000002b    0
System information:
    Wine build: wine-1.7.4-7237-g24aae81
    Platform: i386
    Host system: Linux
    Host version: 3.2.0-4-amd64

Hope this is helpful at all... interesting that Windows shows an ACCESS_VIOLATION yet Wine shows a division by 0 error...

I can work around this by trying several times with short histories, but of course this means I'm missing out on some of the experience.

Oh! Here's my masterwork settings profile, as you probably want that as well. It includes the world-gen stuff, just in case.

Oh, one last note - I can't replicate this in the vanilla DF (with dfhack 34.11r3 in that case, looks like masterwork is r4)
« Last Edit: June 04, 2014, 04:56:13 am by draeath »
Logged
Urist McAlchemist cancels extract isotope: interrupted by supercriticality accident.
This kea is so raw it stole my wheelbarrow!

Meph

  • Bay Watcher
    • View Profile
    • worldbicyclist
Re: worldgen crashing, same install in Wine does as well
« Reply #1 on: June 04, 2014, 04:52:53 am »

This is a very good bug report. All the info is here. :)

Have you tried the LAA patcher that is included in the utilities? It allows the DF.exe to use more than 2GB ram, maybe thats the issue. Otherwise I can only say, what I always say about worldgen crashes: Either less megabeasts, less civs, less races, smaller world or shorter history.

Because DF doesnt generate an errorlog or gamelog, its really hard to figure out why some people have random crashes at worldgen, while others never have them.
Logged
::: ☼Meph Tileset☼☼Map Tileset☼- 32x graphic sets with TWBT :::
::: ☼MASTERWORK DF☼ - A comprehensive mod pack now on Patreon - 250.000+ downloads and counting :::
::: WorldBicyclist.com - Follow my bike tours around the world - 148 countries visited :::

draeath

  • Bay Watcher
  • So it has come to this...
    • View Profile
Re: worldgen crashing, same install in Wine does as well
« Reply #2 on: June 04, 2014, 04:57:51 am »

This is a very good bug report. All the info is here. :)

Have you tried the LAA patcher that is included in the utilities? It allows the DF.exe to use more than 2GB ram, maybe thats the issue. Otherwise I can only say, what I always say about worldgen crashes: Either less megabeasts, less civs, less races, smaller world or shorter history.

Because DF doesnt generate an errorlog or gamelog, its really hard to figure out why some people have random crashes at worldgen, while others never have them.

I ran it, it shows the binary as already flagged. I can certainly unflag it and try?

I did think to check that though... the game had only allocated a hair over 1gb of "private bytes" when it was halted.
Logged
Urist McAlchemist cancels extract isotope: interrupted by supercriticality accident.
This kea is so raw it stole my wheelbarrow!

Boltgun

  • Bay Watcher
  • [UTTERANCES]
    • View Profile
Re: worldgen crashing, same install in Wine does as well
« Reply #3 on: June 04, 2014, 07:20:44 am »

My experience on worldgen crashes is that at some point the game have too much civs and figures to handle and gets unstable. For example, in vanilla, adding too much body descriptions crashed the game at around 125 years.

You might get impoverished naming errors in the errorlog before the crash, but that is only vaguely linked to the issue.
Logged

draeath

  • Bay Watcher
  • So it has come to this...
    • View Profile
Re: worldgen crashing, same install in Wine does as well
« Reply #4 on: June 04, 2014, 08:34:41 am »

Last crash I got was in the middle of "Finalizing sites" - unsure if that confirms your hypothesis Boltgun, or throws a goblin at it. Either way, I finally got a 200-year world generated so I can enjoy it :)
Logged
Urist McAlchemist cancels extract isotope: interrupted by supercriticality accident.
This kea is so raw it stole my wheelbarrow!

Netr0

  • Bay Watcher
    • View Profile
Re: worldgen crashing, same install in Wine does as well
« Reply #5 on: June 04, 2014, 01:23:33 pm »

Saw the mention of LAA and thought, I thought, why not. I turned it on for DF and after loading my game it crashes. Even after I turn it back off :(
Logged

draeath

  • Bay Watcher
  • So it has come to this...
    • View Profile
Re: worldgen crashing, same install in Wine does as well
« Reply #6 on: June 05, 2014, 09:00:19 pm »

Saw the mention of LAA and thought, I thought, why not. I turned it on for DF and after loading my game it crashes. Even after I turn it back off :(

Bummer! AFAIK it's literally a bit flag, so I can't imagine anything permanent happening from your toggling it... but just in case, have you tried replacing the binary with the one from the Masterwork distribution zip?
Logged
Urist McAlchemist cancels extract isotope: interrupted by supercriticality accident.
This kea is so raw it stole my wheelbarrow!

BigD145

  • Bay Watcher
    • View Profile
Re: worldgen crashing, same install in Wine does as well
« Reply #7 on: June 06, 2014, 08:07:37 am »

Try limiting DF to one cpu core. This won't always fix this problem but sometimes it works. Don't change window focus (alt tab) anywhere during world gen.
Logged

draeath

  • Bay Watcher
  • So it has come to this...
    • View Profile
Re: worldgen crashing, same install in Wine does as well
« Reply #8 on: June 06, 2014, 12:20:59 pm »

Try limiting DF to one cpu core. This won't always fix this problem but sometimes it works. Don't change window focus (alt tab) anywhere during world gen.

This appears to be working! I've made it to year 300 (generation completed there) when the previous best was in the low 100s and often not even that far!

Testing with a PerfectWorld arrangement with 1050 years set, so we'll see what happens... EDIT: sadface, crashed at year 52.
« Last Edit: June 06, 2014, 12:32:12 pm by draeath »
Logged
Urist McAlchemist cancels extract isotope: interrupted by supercriticality accident.
This kea is so raw it stole my wheelbarrow!

draeath

  • Bay Watcher
  • So it has come to this...
    • View Profile
Re: worldgen crashing, same install in Wine does as well
« Reply #9 on: June 30, 2014, 08:10:21 pm »

I think this was inadvertently fixed - I've yet to have this crash with 5.10, with all civs enabled. Anyone else?

I wonder of the raw cleanup might have helped?
Logged
Urist McAlchemist cancels extract isotope: interrupted by supercriticality accident.
This kea is so raw it stole my wheelbarrow!

Rimbinas

  • Bay Watcher
    • View Profile
Re: worldgen crashing, same install in Wine does as well
« Reply #10 on: July 01, 2014, 06:23:26 am »

For me its all good till about 250 after that I just have fps death... And for me most of the times second entirely new map generation crashes the client at about 100 years, so I always restart the client if I am not happy with generated map
Logged