WineHQ
Bug Tracking Database – Bug 3542

 Bugzilla

 

Last modified: 2020-04-11 04:44:13 UTC  

Dungeon Keeper Gold not starting

Bug 3542 - Dungeon Keeper Gold not starting
Dungeon Keeper Gold not starting
Status: CLOSED FIXED
AppDB: Show Apps affected by this bug
Product: Wine
Classification: Unclassified
Component: d3d
0.9.18.
x86 Linux
: P2 normal
: ---
Assigned To: Mr. Bugs
: patch
Depends on:
Blocks:
  Show dependency tree
 
Reported: 2005-10-10 16:19 UTC by Flo
Modified: 2020-04-11 04:44 UTC (History)
10 users (show)

See Also:
Regression SHA1:
Fixed by SHA1: c5a8b933afb0d671da1084e4964cf1be26318369
Distribution: ---
Staged patchset:


Attachments
a +relay-trace of DK Gold starting (45.09 KB, application/x-bzip2)
2005-10-10 16:21 UTC, Flo
Details
Force copy of DOS-style executable path into argv[0] of PE executable process (1.57 KB, patch)
2005-10-31 10:42 UTC, Alex Villacís Lasso
Details | Diff
wine output for keeper95 crash (6.13 KB, text/plain)
2006-08-02 04:58 UTC, patrick
Details
THe Output of Wine if I supply a Unix-Style Path (11.14 KB, text/plain)
2007-11-16 06:24 UTC, Flo
Details
The Output of Wine if I start it in a virtual Desktop(WinXP-Mode) (8.82 KB, text/plain)
2007-11-16 06:28 UTC, Flo
Details
THe Direct3d version started in a virtual desktop (32.26 KB, text/plain)
2007-11-16 06:35 UTC, Flo
Details
backtrace from the direct3d version (9.54 KB, text/plain)
2007-11-16 19:14 UTC, Lei Zhang
Details
The normal version of DK (7.24 KB, text/plain)
2008-03-21 07:35 UTC, Flo
Details
The D3D Version of DK (18.78 KB, text/plain)
2008-03-21 07:37 UTC, Flo
Details
Now, really the log of the normal version of DK (7.16 KB, text/plain)
2008-03-21 07:38 UTC, Flo
Details
Dungeon Keeper crash output - wine-1.1.20 (7.10 KB, text/plain)
2009-04-25 07:23 UTC, Seth Anderson
Details
Patch for removing palette from a surface before releasing it (1005 bytes, patch)
2009-05-02 15:50 UTC, Benjamin Silvestre
Details | Diff
Crash output with Benjamin Silvestre's patch on Wine 1.1.29 (219 bytes, text/plain)
2009-09-18 08:22 UTC, Seth Anderson
Details
DK Gold Crash Output for 1.1.33 (15.80 KB, text/plain)
2009-11-14 05:42 UTC, Seth Anderson
Details
Patch for removing palette from a surface before releasing it (1.07 KB, patch)
2010-05-27 01:40 UTC, Benjamin Silvestre
Details | Diff
A capture with dungeon keeper running (105.88 KB, image/png)
2010-05-27 01:46 UTC, Benjamin Silvestre
Details
console output from wine-1.3.1 (9.47 KB, text/plain)
2010-08-22 16:55 UTC, Wylda
Details
Patch wine 1.3.19 (1.02 KB, patch)
2011-05-10 17:16 UTC, Boris
Details | Diff
patch wine 1.4-rc1 (1.02 KB, patch)
2012-01-30 13:03 UTC, Tor
Details | Diff
Crash from wine-1.5.3-164-gdec3d50 (7.58 KB, text/plain)
2012-05-05 05:12 UTC, Wylda
Details
This is a log of a KEEPER95.EXE crash with +relay and +snoop debug turned on. (180.62 KB, application/x-xz)
2014-01-12 07:45 UTC, Walter Woden
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Flo 2005-10-10 16:19:21 UTC
Dungeon Keeper Gold simply doesn't start. It immediately crashes after 
starting: 
sifff@Skynet ~ $ wine ./Windows/DKGold/KEEPER95.EXE 
wine: Unhandled exception (thread 0009), starting debugger... 
WineDbg starting on pid 0x8 
Unhandled exception: page fault on write access to 0x00000000 in 32-bit code 
(0x004048e2). 
In 32 bit mode. 
Register dump: 
 CS:0073 SS:007b DS:007b ES:007b FS:1007 GS:0033 
 EIP:004048e2 ESP:7fbffd0c EBP:7fbfff20 EFLAGS:00210206(   - 00      - RIP1) 
 EAX:00000000 EBX:ffffffff ECX:00000000 EDX:7fbffce0 
 ESI:00769326 EDI:7fbffd9e 
Stack dump: 
0x7fbffd0c:  7fbfff20 7ffffa00 7fd16065 7fcb060c 
0x7fbffd1c:  00bffd2c 7fbffd2c 7fbffd28 0000008c 
0x7fbffd2c:  b7f0dd00 7fff1534 7fbffe04 7ffdcd28 
0x7fbffd3c:  7ffed990 7fbffde4 7ffeda6f b7f11280 
0x7fbffd4c:  7fd61720 7fff1534 7fbffdcc 7ffba3ae 
0x7fbffd5c:  00015180 00000000 000146ad 00000000 
0200: sel=1007 base=7ff84000 limit=00001fff 32-bit rw- 
Backtrace: 
=>1 0x004048e2 in keeper95 (+0x48e2) (0x7fbfff20) 
  2 0x7fc767cd start_process+0xed(arg=0x0) 
[/home/sifff/wine/dlls/kernel/process.c:992] in kernel32 (0x7fbffff4) 
  3 0xb7f28f91 wine_switch_to_stack+0x11 in libwine.so.1 (0x00000000) 
0x004048e2: movb        $0x0,0x0(%eax) 
Modules: 
Module  Address                 Debug info      Name (78 modules) 
PE      0x00400000-007ae000     Export          keeper95 
PE      0x10000000-10029000     Deferred        wsnd7r 
PE      0x20000000-2002b000     Deferred        mss32 
ELF     0x7bf00000-7bf03000     Deferred        <wine-loader> 
ELF     0x7e85b000-7e87d000     Deferred        msacm32<elf> 
  \-PE  0x7e860000-7e87d000     \               msacm32 
ELF     0x7e87d000-7e895000     Deferred        msacm.drv<elf> 
  \-PE  0x7e880000-7e895000     \               msacm.drv 
ELF     0x7e895000-7e964000     Deferred        libasound.so.2 
ELF     0x7e964000-7e98d000     Deferred        winealsa.drv<elf> 
  \-PE  0x7e970000-7e98d000     \               winealsa.drv 
ELF     0x7e98d000-7ea90000     Deferred        libcrypto.so.0.9.7 
ELF     0x7ea90000-7eac1000     Deferred        libssl.so.0.9.7 
ELF     0x7eac1000-7eae4000     Deferred        libcups.so.2 
ELF     0x7eb40000-7eb5d000     Deferred        imm32<elf> 
  \-PE  0x7eb50000-7eb5d000     \               imm32 
ELF     0x7eb5d000-7eb7a000     Deferred        ximcp.so.2 
ELF     0x7eb7a000-7f2e3000     Deferred        libglcore.so.1 
ELF     0x7f2e3000-7f362000     Deferred        libgl.so.1 
ELF     0x7f37b000-7f3fe000     Deferred        winex11.drv<elf> 
  \-PE  0x7f390000-7f3fe000     \               winex11.drv 
ELF     0x7f3fe000-7f423000     Deferred        libexpat.so.0 
ELF     0x7f423000-7f458000     Deferred        libfontconfig.so.1 
ELF     0x7f471000-7f48b000     Deferred        libz.so.1 
ELF     0x7f48b000-7f51b000     Deferred        libfreetype.so.6 
ELF     0x7f534000-7f55f000     Deferred        ws2_32<elf> 
  \-PE  0x7f540000-7f55f000     \               ws2_32 
ELF     0x7f55f000-7f57a000     Deferred        wsock32<elf> 
  \-PE  0x7f570000-7f57a000     \               wsock32 
ELF     0x7f57a000-7f5b7000     Deferred        dplayx<elf> 
  \-PE  0x7f590000-7f5b7000     \               dplayx 
ELF     0x7f5b7000-7f682000     Deferred        libx11.so.6 
ELF     0x7f682000-7f691000     Deferred        libxext.so.6 
ELF     0x7f691000-7f6a9000     Deferred        libice.so.6 
ELF     0x7f6ad000-7f6c2000     Deferred        midimap<elf> 
  \-PE  0x7f6b0000-7f6c2000     \               midimap 
ELF     0x7f6c2000-7f740000     Deferred        ddraw<elf> 
  \-PE  0x7f6e0000-7f740000     \               ddraw 
PE      0x7f740000-7f758000     Deferred        smackw32 
ELF     0x7f765000-7f784000     Deferred        iphlpapi<elf> 
  \-PE  0x7f770000-7f784000     \               iphlpapi 
ELF     0x7f784000-7f7ca000     Deferred        rpcrt4<elf> 
  \-PE  0x7f790000-7f7ca000     \               rpcrt4 
ELF     0x7f7ca000-7f858000     Deferred        ole32<elf> 
  \-PE  0x7f7e0000-7f858000     \               ole32 
ELF     0x7f858000-7f8dc000     Deferred        winmm<elf> 
  \-PE  0x7f860000-7f8dc000     \               winmm 
ELF     0x7f8dc000-7fa09000     Deferred        user32<elf> 
  \-PE  0x7f900000-7fa09000     \               user32 
ELF     0x7fa09000-7fa33000     Deferred        winspool.drv<elf> 
  \-PE  0x7fa10000-7fa33000     \               winspool.drv 
ELF     0x7fa33000-7fa72000     Deferred        advapi32<elf> 
  \-PE  0x7fa40000-7fa72000     \               advapi32 
ELF     0x7fa72000-7fb00000     Deferred        gdi32<elf> 
  \-PE  0x7fa80000-7fb00000     \               gdi32 
ELF     0x7fc00000-7fc09000     Deferred        libxcursor.so.1.0.2 
ELF     0x7fc09000-7fd10000     Stabs           kernel32<elf> 
  \-PE  0x7fc20000-7fd10000     \               kernel32 
ELF     0x7fe24000-7fe27000     Deferred        xlcdef.so.2 
ELF     0x7fe27000-7fe32000     Deferred        libnss_files.so.2 
ELF     0x7fe32000-7fe3a000     Deferred        libnss_compat.so.2 
ELF     0x7fe3b000-7fe3f000     Deferred        libxrandr.so.2 
ELF     0x7fe3f000-7fe47000     Deferred        libxrender.so.1 
ELF     0x7fe47000-7fe50000     Deferred        libsm.so.6 
ELF     0x7fe53000-7fe7a000     Deferred        libm.so.6 
ELF     0x7fe7a000-7ff6f000     Deferred        libwine_unicode.so.1 
ELF     0x7ff6f000-7ff84000     Deferred        libnsl.so.1 
ELF     0x7ff88000-80000000     Deferred        ntdll<elf> 
  \-PE  0x7ffa0000-80000000     \               ntdll 
ELF     0xb7de0000-b7de5000     Deferred        libxxf86vm.so.1 
ELF     0xb7de5000-b7def000     Deferred        libnss_nis.so.2 
ELF     0xb7df1000-b7df5000     Deferred        libdl.so.2 
ELF     0xb7df5000-b7f12000     Deferred        libc.so.6 
ELF     0xb7f12000-b7f24000     Deferred        libpthread.so.0 
ELF     0xb7f24000-b7f3e000     DIA             libwine.so.1 
ELF     0xb7f3e000-b7f40000     Deferred        libnvidia-tls.so.1 
ELF     0xb7f51000-b7f57000     Deferred        libxxf86dga.so.1 
ELF     0xb7f58000-b7f74000     Deferred        ld-linux.so.2 
Threads: 
process  tid      prio (all id:s are in hex) 
00000008 (D) Y:\Windows\DKGold\KEEPER95.EXE 
        00000009    0 <== 
WineDbg terminated on pid 0x8
Comment 1 Flo 2005-10-10 16:21:06 UTC
Created attachment 1147 [details]
a +relay-trace of DK Gold starting

This is a +relay trace of DK Gold while it starts. Uncompressed it's about 1.5
MB
Comment 2 Lionel Ulmer 2005-10-10 16:27:48 UTC
Could you try starting it but with the full 'windows' path of the game ?

I.e. if your 'Windows' directory is mapped as 'D:' in Wine, start it like this
(from the directory where DKGold is installed):

'wine D:\\DKGold\\KEEPER95.EXE'

And tell us if it works better.
Comment 3 Flo 2005-10-10 16:46:22 UTC
OK, I did this: 
wine Y:\\Windows\\DKGold\\Keeper95.exe  
And it tries to start. 
In normal mode it stucks at the SplashScreen. 
In a virtual Desktop it plays the video and gets to the Main menu.  
Then the mouse Cursor is stuck in the top left corner. So I can't start a 
game. 
The same goes for the d3d-Version. 
Comment 4 Lionel Ulmer 2005-10-11 16:13:29 UTC
Assigning the bug to myself. I have a patch that fixes this issue that I need to
re-send (it was sent to wine-patches some time ago and was never committed due
to the lack of test cases).
Comment 5 Werner Höhrer 2005-10-30 15:30:02 UTC
Is there any news on this bug or better the patch? This issue with Dungeon
Keeper (and Theme Hospital if i remember correctly) is kinda old now.
Comment 6 Alex Villacís Lasso 2005-10-31 10:42:48 UTC
Created attachment 1278 [details]
Force copy of DOS-style executable path into argv[0] of PE executable process

This is a patch to fix the primary bug on DungeonKeeper. I am surprised this
bug was overlooked up to now.

The basic problem is that Wine is passing the argv[] array unmodified (except
for the removal of the 'wine' reference itself) to the PE process. This means
that, unless the user writes a DOS-style path at wine invocation, the PE
process receives an UNIX-style relative path as its argv[0]. This differs from
standard behavior in MS-DOS and Windows, where the argv[0] of the process
contains a fully qualified DOS-style path (such as C:\WINDOWS\FOO.EXE)
regardless of the method used to run the executable. DungeonKeeper relies on
this characteristic of MS-DOS/Windows and crashes when it sees the UNIX-style
path. 

This patch will also be sent to wine-patches, as a fix for one of the issues of
bug 3542.
Comment 7 Flo 2005-11-01 06:49:03 UTC
with a cvs - snapshot( 01.11.05 12:00 CET ) I get the following: 
 
sifff@Skynet ~/Windows/DKGold $ wine Y:\\Windows\\DKGOLD\\keeper95.exe 
 
wine: cannot open (null) 
 
I'll attach a trace+all 
 
This is also plagueing some other programs, including the ie6 Installer 
Comment 8 Flo 2005-11-01 06:52:25 UTC
Never mind... a mistake in my rights... 
Comment 9 Flo 2006-02-11 03:54:30 UTC
with a cvs-wine of today and starting it with wine keeper95.exe I get the 
following Output: 
wine: Unhandled page fault on write access to 0x00000000 at address 0x4048e2 
(thread 0009), starting debugger... 
WineDbg starting on pid 0x8 
First chance exception: page fault on read access to 0x00000000 in 32-bit code 
(0x7ff992c1). 
In 32 bit mode. 
Register dump: 
 CS:0073 SS:007b DS:007b ES:007b FS:1007 GS:0033 
 EIP:7ff992c1 ESP:7fbcf408 EBP:7fbcf4d0 EFLAGS:00010246(   - 00      -RIZP1) 
 EAX:00000000 EBX:7ffd52e4 ECX:00000000 EDX:00000000 
 ESI:00000000 EDI:00000002 
Stack dump: 
0x00000000:  00000000 00000000 00000000 00000000 
0x00000010:  00000000 00000000 00000000 00000000 
0x00000020:  00000000 00000000 00000000 00000000 
0x00000030:  00000000 00000000 00000000 00000000 
0x00000040:  00000000 00000000 00000000 00000000 
0x00000050:  00000000 00000000 00000000 00000000 
0200: sel=1007 base=7ff5e000 limit=00001fff 32-bit rw- 
Backtrace: 
=>1 0x7ff992c1 RtlImageNtHeader+0x61(hModule=0x0) 
[/home/sifff/wine/dlls/ntdll/loader.c:2007] in ntdll (0x7ff992c1) 
  2 0x7ff9941b RtlImageDirectoryEntryToData+0x3b(module=0x0, image=0x1, 
dir=0x2, size=0x7fbcf810) [/home/sifff/wine/dlls/ntdll/loader.c:2112] in ntdll 
(0x7ff9941b) 
  3 0x7fc1a46f UnhandledExceptionFilter+0x12f(epointers=0x7fbcf84c) 
[/home/sifff/wine/dlls/kernel/except.c:407] in kernel32 (0x7fc1a46f) 
  4 0x7ff904f7 __wine_exception_handler+0x47(record=0x7fbcfc9c, 
frame=0x7fbcff2c, context=0x7fbcf9d0, pdispatcher=0x7fbcf910) 
[/home/sifff/wine/dlls/ntdll/exception.c:579] in ntdll (0x7ff904f7) 
  5 0x7ffb53e9 call_exception_handler+0x29 in ntdll (0x7ffb53e9) 
  6 0x7ffb53bd EXC_CallHandler+0x1d in ntdll (0x7ffb53bd) 
  7 0x7ff90cd3 raise_exception+0x473(first_chance=<register not in topmost 
frame>) [/home/sifff/wine/dlls/ntdll/exception.c:270] in ntdll (0x7ff90cd3) 
  8 0x7ff90d99 __regs_RtlRaiseException(rec=0x7fbcfc9c, context=0x7fbcf9d0) 
[/home/sifff/wine/dlls/ntdll/exception.c:383] in ntdll (0x7ff90d99) 
  9 0x7ffb557c raise_segv_exception(rec=0x7fbcfc9c, context=0x7fbcf9d0) 
[/home/sifff/wine/dlls/ntdll/signal_i386.c:1072] in ntdll (0x7ffb557c) 
  10 0xdeadbabe (0xdeadbabe) 
  11 0x7fc48cdb start_process+0xeb(arg=0x0) 
[/home/sifff/wine/dlls/kernel/process.c:966] in kernel32 (0x7fc48cdb) 
  12 0xb7f940b7 wine_switch_to_stack+0x17 in libwine.so.1 (0xb7f940b7) 
0x7ff992c1 RtlImageNtHeader+0x61 [/home/sifff/wine/dlls/ntdll/loader.c:2007] 
in ntdll: cmpw     $0x5a4d,0x0(%eax) 
2007            if (dos->e_magic == IMAGE_DOS_SIGNATURE) 
Modules: 
Module  Address                 Debug info      Name (77 modules) 
PE      0x00400000-007ae000     Deferred        keeper95 
PE      0x10000000-10029000     Deferred        wsnd7r 
PE      0x20000000-2002b000     Deferred        mss32 
ELF     0x7bf00000-7bf03000     Deferred        <wine-loader> 
ELF     0x7e75b000-7e770000     Deferred        midimap<elf> 
  \-PE  0x7e760000-7e770000     \               midimap 
ELF     0x7e881000-7e8a7000     Deferred        msacm32<elf> 
  \-PE  0x7e890000-7e8a7000     \               msacm32 
ELF     0x7e8a7000-7e8ec000     Deferred        wineoss<elf> 
  \-PE  0x7e8c0000-7e8ec000     \               wineoss 
ELF     0x7e8ec000-7e9f1000     Deferred        libcrypto.so.0.9.7 
ELF     0x7e9f1000-7ea22000     Deferred        libssl.so.0.9.7 
ELF     0x7ea22000-7ea45000     Deferred        libcups.so.2 
ELF     0x7eaa4000-7eac0000     Deferred        imm32<elf> 
  \-PE  0x7eab0000-7eac0000     \               imm32 
ELF     0x7eac0000-7eadd000     Deferred        ximcp.so.2 
ELF     0x7eadd000-7f29b000     Deferred        libglcore.so.1 
ELF     0x7f29b000-7f31e000     Deferred        libgl.so.1 
ELF     0x7f33a000-7f3c0000     Deferred        winex11<elf> 
  \-PE  0x7f350000-7f3c0000     \               winex11 
ELF     0x7f3c0000-7f3e5000     Deferred        libexpat.so.0 
ELF     0x7f3e5000-7f41a000     Deferred        libfontconfig.so.1 
ELF     0x7f42d000-7f436000     Deferred        libxcursor.so.1.0.2 
ELF     0x7f436000-7f450000     Deferred        libz.so.1 
ELF     0x7f450000-7f4e0000     Deferred        libfreetype.so.6 
ELF     0x7f4e0000-7f50b000     Deferred        ws2_32<elf> 
  \-PE  0x7f4f0000-7f50b000     \               ws2_32 
ELF     0x7f50b000-7f525000     Deferred        wsock32<elf> 
  \-PE  0x7f510000-7f525000     \               wsock32 
ELF     0x7f525000-7f562000     Deferred        dplayx<elf> 
  \-PE  0x7f540000-7f562000     \               dplayx 
ELF     0x7f562000-7f62d000     Deferred        libx11.so.6 
ELF     0x7f62d000-7f645000     Deferred        libice.so.6 
ELF     0x7f649000-7f661000     Deferred        msacm<elf> 
  \-PE  0x7f650000-7f661000     \               msacm 
ELF     0x7f661000-7f6e0000     Deferred        ddraw<elf> 
  \-PE  0x7f680000-7f6e0000     \               ddraw 
PE      0x7f6e0000-7f6f8000     Deferred        smackw32 
ELF     0x7f6f9000-7f708000     Deferred        libxext.so.6 
ELF     0x7f708000-7f727000     Deferred        iphlpapi<elf> 
  \-PE  0x7f710000-7f727000     \               iphlpapi 
ELF     0x7f727000-7f772000     Deferred        rpcrt4<elf> 
  \-PE  0x7f740000-7f772000     \               rpcrt4 
ELF     0x7f772000-7f807000     Deferred        ole32<elf> 
  \-PE  0x7f790000-7f807000     \               ole32 
ELF     0x7f807000-7f890000     Deferred        winmm<elf> 
  \-PE  0x7f810000-7f890000     \               winmm 
ELF     0x7f890000-7f9c3000     Deferred        user32<elf> 
  \-PE  0x7f8b0000-7f9c3000     \               user32 
ELF     0x7f9c3000-7f9ef000     Deferred        winspool<elf> 
  \-PE  0x7f9d0000-7f9ef000     \               winspool 
ELF     0x7f9ef000-7fa30000     Deferred        advapi32<elf> 
  \-PE  0x7fa00000-7fa30000     \               advapi32 
ELF     0x7fa30000-7fac0000     Deferred        gdi32<elf> 
  \-PE  0x7fa40000-7fac0000     \               gdi32 
ELF     0x7fbd0000-7fbd8000     Deferred        libxrender.so.1 
ELF     0x7fbd8000-7fce0000     Stabs           kernel32<elf> 
  \-PE  0x7fbf0000-7fce0000     \               kernel32 
ELF     0x7fdf3000-7fdfe000     Deferred        libnss_files.so.2 
ELF     0x7fdfe000-7fe08000     Deferred        libnss_nis.so.2 
ELF     0x7fe08000-7fe10000     Deferred        libnss_compat.so.2 
ELF     0x7fe11000-7fe15000     Deferred        libxrandr.so.2 
ELF     0x7fe15000-7fe1a000     Deferred        libxxf86vm.so.1 
ELF     0x7fe1a000-7fe20000     Deferred        libxxf86dga.so.1 
ELF     0x7fe23000-7fe2c000     Deferred        libsm.so.6 
ELF     0x7fe2c000-7fe50000     Deferred        libm.so.6 
ELF     0x7fe50000-7ff46000     Deferred        libwine_unicode.so.1 
ELF     0x7ff46000-7ff49000     Deferred        xlcdef.so.2 
ELF     0x7ff49000-7ff5e000     Deferred        libnsl.so.1 
ELF     0x7ff62000-7ffe0000     Stabs           ntdll<elf> 
  \-PE  0x7ff70000-7ffe0000     \               ntdll 
ELF     0xb7e5b000-b7e5f000     Deferred        libdl.so.2 
ELF     0xb7e5f000-b7f7c000     Deferred        libc.so.6 
ELF     0xb7f7c000-b7f8e000     Deferred        libpthread.so.0 
ELF     0xb7f8f000-b7fa9000     DIA             libwine.so.1 
ELF     0xb7faa000-b7fac000     Deferred        libnvidia-tls.so.1 
ELF     0xb7fc5000-b7fdc000     Deferred        ld-linux.so.2 
Threads: 
process  tid      prio (all id:s are in hex) 
00000008 (D) Y:\Windows\DKGold\keeper95.exe 
        00000009    0 <== 
WineDbg terminated on pid 0x8 
 
Comment 10 patrick 2006-08-02 04:58:09 UTC
Created attachment 3145 [details]
wine output for keeper95 crash

Dungeon keeper crashes immediately after the splash screen, attatched please
find the results of 
wine c:\\Keeper\\keeper95.exe 2> ~/keeper95.txt

The same thing happens with the deeper dungeons, and the direct3d versions
don't work either.

I am using version 0.9.18 on ubuntu dapper.
Comment 11 Austin English 2007-11-14 10:49:07 UTC
Is this still an issue in current wine?
Comment 12 Flo 2007-11-16 06:23:27 UTC
I've Installed a new CVS-Wine of (15.11.07) and the situation hasn't changed much. If I simply enter
wine keeper95.exe 
the app immediately crashes(Log supplied).
If I supply a full Dos-Path, Dungeon Keeper immediately exits with:

fixme:win:EnumDisplayDevicesW ((null),0,0x7c50e2b4,0x00000000), stub!
err:x11settings:X11DRV_ChangeDisplaySettingsEx No matching mode found(640x480x8)! (XRandR)

If I start it in a virtual desktop, it shows the Intro-Screen,and crashes then.
I'll attach a log of it.
If I start it in a virtual desktop, it produces a bunch of Error-Messages.
(log supplied)
Comment 13 Flo 2007-11-16 06:24:53 UTC
Created attachment 9191 [details]
THe Output of Wine if I supply a Unix-Style Path
Comment 14 Flo 2007-11-16 06:28:57 UTC
Created attachment 9193 [details]
The Output of Wine if I start it in a virtual Desktop(WinXP-Mode)
Comment 15 Flo 2007-11-16 06:35:16 UTC
Created attachment 9194 [details]
THe Direct3d version started in a virtual desktop
Comment 16 Lei Zhang 2007-11-16 19:14:05 UTC
Created attachment 9202 [details]
backtrace from the direct3d version

Flo: from attachment 9194 [details], it looks like there may be something wrong with your opengl setup. What video card / driver / distro are you using?

Attached is a backtrace from my attempt to run the game. I'm using a NV44 card with nvidia binary driver 100.14.11 on slackware 12. It looks like I got a bit further along.
Comment 17 Flo 2007-11-17 08:13:36 UTC
I'm using an ATI-card with the binary-driver 8.42.3 on Gentoo with X.org-Server 1.4.
Other OpenGL things, like e.g. my own OpenGL Programs work, so I didn't suspect anything there...
Comment 18 Stewart Adam 2007-11-26 19:41:53 UTC
I am seeing the same issue, nvidia driver 100.14.19 on Fedora 8, wine 0.9.49. Running the full path (wine "C:\Program Files\DKGold\KEEPER95.EXE") allows it to run properly, but it hangs right after the intro movie (X locks up so I could not obtain any errors).
Comment 19 Flo 2008-03-21 07:34:09 UTC
Well, I'm using a git-wine of today(21.03.08) and DK immediately crashes if I start it with a Unix-Path. If I start wine with the Windows-style path both, the d3d and the normal version crash after showing the intro screen. I started it in WinXP-Mode in a virtual Desktop. I still have an ATI-card and I'm using driver 8.3(The Version from march 08). I'll attach the output of both versions.
Comment 20 Flo 2008-03-21 07:35:49 UTC
Created attachment 11526 [details]
The normal version of DK
Comment 21 Flo 2008-03-21 07:37:08 UTC
Created attachment 11527 [details]
The D3D Version of DK
Comment 22 Flo 2008-03-21 07:38:11 UTC
Created attachment 11528 [details]
Now, really the log of the normal version of DK
Comment 23 Austin English 2008-09-29 19:11:01 UTC
Download link is busted, anyone got another?
Comment 24 Austin English 2009-01-14 11:57:15 UTC
Please retest in current git. If still present, update version field to earliest known version of wine that had this bug. Thanks!
Comment 25 Stewart Adam 2009-01-24 16:01:16 UTC
I can confirm this with 1.1.12 (Fedora).
Comment 26 Benjamin Silvestre 2009-04-19 10:20:15 UTC
The debug trace shows the problem comes from IDirectDrawSurfaceImpl_GetPalette.
The IWineD3DPalette_GetParent call raises an exception which crashes the game.

I try to comment this few lines in dlls/ddraw/surface.c:
//     if(wPal)
//     {
//         hr = IWineD3DPalette_GetParent(wPal, (IUnknown **) Pal);
//     }
//     else
//     {
        *Pal = NULL;
        hr = DDERR_NOPALETTEATTACHED;
//     }

This is VERY dirty but it worked. The game work seems to work fine (the menu is ok and I could start a new game). 
Comment 27 Seth Anderson 2009-04-25 07:23:41 UTC
Created attachment 20693 [details]
Dungeon Keeper crash output - wine-1.1.20
Comment 28 Benjamin Silvestre 2009-05-02 15:48:21 UTC
I think I got something: If I'm not mistaken, the crash comes from the fact the program (or wine?) releases the palette before the surface is released.

I made a patch (for wine 1.1.19) which checks if the palette is attached to a surface and removes it from the surface before releasing it. With that patch Dungeon Keeper works fine (Actually I haven't tested the network, but the rest is fine).
Comment 29 Benjamin Silvestre 2009-05-02 15:50:48 UTC
Created attachment 20873 [details]
Patch for removing palette from a surface before releasing it
Comment 30 Seth Anderson 2009-09-18 08:22:51 UTC
Created attachment 23643 [details]
Crash output with Benjamin Silvestre's patch on Wine 1.1.29

(In reply to comment #29)
> Created an attachment (id=20873) [details]
> Patch for removing palette from a surface before releasing it

Tested this patch in version 1.1.29.  The patch removes the page fault but the game still crashed on launch.  In the included attachment is all that remains of the error messages for me.  If I had more time, I'd roll back to the wine version Mr. Silvestre used to see if I get the same results, but that'll have to wait.

Hopefully someone with more time and knowledge of wine's inner workings than myself can get something useful out of this.
Comment 31 Benjamin Silvestre 2009-09-18 14:25:42 UTC
My patch allows playing dungeon keeper (and deeper dungeon) gold but the direct3D version is still broken (last time I tried, the game crashed after the main menu).

I don't know if it matter but I currently run wine 1.1.27. with an ati based card (fglrx driver).
Comment 32 Seth Anderson 2009-11-14 05:42:00 UTC
Created attachment 24727 [details]
DK Gold Crash Output for 1.1.33

Just keeping this up to date.
Comment 33 Austin English 2010-05-19 14:52:30 UTC
Looks like there's a download for it here:
http://www.gameswin.org/gameen.php?id=453

Is this still an issue in current (1.1.44 or newer) wine?
Comment 34 Seth Anderson 2010-05-22 22:01:28 UTC
(In reply to comment #33)
> Looks like there's a download for it here:
> http://www.gameswin.org/gameen.php?id=453
> 
> Is this still an issue in current (1.1.44 or newer) wine?

Yes.  I just submitted new test results with 1.2-rc1.
Comment 35 Benjamin Silvestre 2010-05-27 01:40:41 UTC
Created attachment 28316 [details]
Patch for removing palette from a surface before releasing it

Hi all!

See enclosed an update of my first patch for wine 1.2-rc1 (I added a warn comment too).

I made quick tests with a fresh wine 1.2-rc1:
- without patch: dungeon keeper normal and d3d version crash 
- with my patch: dungeon keeper normal works fine but d3d version still crashs

Regards
Comment 36 Benjamin Silvestre 2010-05-27 01:46:17 UTC
Created attachment 28317 [details]
A capture with dungeon keeper running

A capture with dungeon keeper running in wine 1.2-rc1 + patch
Comment 37 Seth Anderson 2010-05-27 05:13:45 UTC
(In reply to comment #35)
> Created an attachment (id=28316) [details]
> Patch for removing palette from a surface before releasing it
> 
> Hi all!
> 
> See enclosed an update of my first patch for wine 1.2-rc1 (I added a warn
> comment too).
> 
> I made quick tests with a fresh wine 1.2-rc1:
> - without patch: dungeon keeper normal and d3d version crash 
> - with my patch: dungeon keeper normal works fine but d3d version still crashs
> 
> Regards

That did the trick (why it didn't work for me before likely had something to do with me being an idiot).  The game no longer crashes for me.

However, the ALSA sound doesn't work for this game (OSS does), but that's a topic for another time.
Comment 38 Wylda 2010-06-01 09:09:22 UTC
> Created an attachment (id=28316) [details]
> Patch for removing palette from a surface before releasing it

Good job Benjamin, it works also for me. Henri/Roderick/Stefan is this patch OK for you?
Comment 39 Henri Verbeet 2010-06-01 10:19:10 UTC
I have some doubt (In reply to comment #38)
> > Created an attachment (id=28316) [details] [details]
> > Patch for removing palette from a surface before releasing it
> 
> Good job Benjamin, it works also for me. Henri/Roderick/Stefan is this patch OK
> for you?
I have some doubts about that patch. The surface is supposed to keep a reference to the palette, so the situation where the palette is destroyed before the surface is released isn't supposed to happen.
Comment 40 Wylda 2010-06-19 21:36:09 UTC
Still present in wine-1.2-rc4.
Comment 41 Seth Anderson 2010-06-25 16:32:11 UTC
Confirmed present in 1.2-rc5 as well (new AppDB results submitted).

(In reply to comment #39)
> I have some doubts about that patch. The surface is supposed to keep a
> reference to the palette, so the situation where the palette is destroyed
> before the surface is released isn't supposed to happen.

You seem to know a bit about how this part of wine works (or is supposed to work).  Do you know of a better solution?  It'd be nice to squash this one, maybe even for final 1.2. *cross fingers*
Comment 42 Henri Verbeet 2010-06-25 22:54:46 UTC
(In reply to comment #41)
> You seem to know a bit about how this part of wine works (or is supposed to
> work).  Do you know of a better solution?  It'd be nice to squash this one,
> maybe even for final 1.2. *cross fingers*
The most important part is to get a clear understanding of why the bug happens first. I.e., the patch removes the palette from any surfaces it is attached to when it's destroyed, but that situation isn't supposed to happen. What you want to know is why it's being destroyed while still being attached to a surface.
Comment 43 Wylda 2010-08-22 16:55:48 UTC
Created attachment 30315 [details]
console output from wine-1.3.1


Still present in wine-1.3.1.

Now i notice, that most traces attached here are garbage or when it is proper, it's different from the one provided by wine-1.3.1. So adding current back-trace.
Comment 44 Alexander Waldmann 2010-08-28 11:40:54 UTC
Confirming the problem under Wine 1.3.1 also. But the patch fixes the problems, and the game becomes very playable.
Comment 45 Wylda 2010-09-09 06:54:18 UTC
Still present in wine-1.3.2-115-gd822555.
Comment 46 Wylda 2010-09-18 21:03:00 UTC
Still present in wine-1.3.3.
Comment 47 Wylda 2010-12-11 15:57:28 UTC
Still present in wine-1.3.9. Although the output trace is shorter and cleaner (to me;)
Comment 48 Boris 2011-05-10 17:16:14 UTC
Created attachment 34604 [details]
Patch wine 1.3.19

Hi, I adapted the previous patch to the latest wine version. In contrast to the previous one, this one only removes the palette frome the surface if the palette is actually released. This should make the patch fairly unobstrusive. Of course it still does not explain why the refcount drops to zero before the surface is released. Maybe a programming error in dungeon keeper? Would be cool if someone could test what happens under windows if a palette is manually released before the surface to get an idea whether this defensive release strategy is also implemented on windows.
Comment 49 Wylda 2011-06-24 00:59:52 UTC
> what happens under windows if a palette is manually
> released before the surface to get an idea whether this defensive release
> strategy is also implemented on windows.

Could you provide such an EXE for Windows? I could report back results from different Windows versions.
Comment 50 Wylda 2011-12-02 14:50:50 UTC
> Hi, I adapted the previous patch to the latest wine version.

Tried that patch with 1.3.34 and that made this game playable.
Comment 51 Tor 2012-01-30 13:03:13 UTC
Created attachment 38607 [details]
patch wine 1.4-rc1

The patch for wine 1.3.19 doesn't work anymore with wine 1.4-rc1, so I adjusted it.
Comment 52 Michael Stefaniuc 2012-03-12 17:53:24 UTC
Remove Lionel as owner of open bugs as he isn't active anymore (and that for years).
Comment 53 Seth Anderson 2012-03-26 18:08:11 UTC
Confirming that Tor's patch works with 1.5.0.
Comment 54 Wylda 2012-05-05 05:12:56 UTC
Created attachment 40040 [details]
Crash from wine-1.5.3-164-gdec3d50


Still present in wine-1.5.3-164-gdec3d50. Console output differs, so attaching fresh output.
Comment 55 Luis Alvarado 2013-06-02 20:26:54 UTC
With 1.5.31 it crashes when loading. I can only see the the first logo image, then crashes. Using the game without any wine patches, only the normal one.

Ubuntu 13.04 64 Bit.

I even tried patching the game with the update, same problem. I changed the configuration file from Program Files/KEEPER95 to c:/KEEPE95. same thing.

It keeps crashing with an error like this:

cyrex@cyrex:~/.wine/dosdevices/c:/Keeper$ wine KEEPER95.EXE

fixme:win:EnumDisplayDevicesW ((null),0,0x170e0d8,0x00000000), stub!
fixme:x11drv:X11DRV_desktop_SetCurrentMode Cannot change screen BPP from 32 to 8
fixme:ddraw:ddraw7_WaitForVerticalBlank iface 0x15b868, flags 0x1, event (nil) stub!
fixme:d3d_surface:d3dfmt_p8_init_palette No palette set.
wine: Unhandled page fault on write access to 0x8a5f6118 at address 0x110121 (thread 0009), starting debugger...
Unhandled exception: page fault on write access to 0x8a5f6118 in 32-bit code (0x00110121).
fixme:dbghelp:addr_to_linear Failed to linearize address 10bf:ffd0 (mode 0)
Comment 56 WineBuG 2013-10-13 18:11:28 UTC
There's a demo for this game, I guess the problem can be reproduced here as well (you need to unpack it in DOS first, but then you get a normal Windows app): http://download.cnet.com/Dungeon-Keeper-demo/3000-2119_4-10011780.html

You may want to add it to the URL field.
Comment 57 Henri Verbeet 2013-12-13 12:48:43 UTC
Should be fixed by commit c5a8b933afb0d671da1084e4964cf1be26318369.
Comment 58 Flo 2013-12-16 18:14:28 UTC
hmm, I'm using wine 1.7.8
the executables keeper95.exe and deeper95.exe don't even start.
keepd3d.exe at least shows some splash screen and then segfaults.
It seems the patch you mentioned is not yet in wine-1.7.8?
Comment 59 Bruno Jesus 2013-12-16 18:28:19 UTC
(In reply to comment #58)
> hmm, I'm using wine 1.7.8
> the executables keeper95.exe and deeper95.exe don't even start.
> keepd3d.exe at least shows some splash screen and then segfaults.
> It seems the patch you mentioned is not yet in wine-1.7.8?

The patch was commited after wine 1.7.8 release, so it's in wine-git version. It will be in wine 1.7.9.
Comment 60 Henri Verbeet 2014-01-03 10:32:27 UTC
Resolving FIXED. Please reopen if that's not the case.
Comment 61 Alexandre Julliard 2014-01-03 13:09:35 UTC
Closing bugs fixed in 1.7.10.
Comment 62 Walter Woden 2014-01-12 07:32:02 UTC
This does not appear to be working for me.

Ubuntu 13.10 Saucy x64
Wine 1.7.10

To test, I installed a fresh copy of Wine 1.7.10 with no patches or anything, and then installed Dungeon Keeper Gold.

After installation, I navigate to the Bullfrog/Keeper directory and try to launch KEEPER95.exe, it briefly pops up the DK splash screen, then disappears and I am left with this in my terminal:

wodencafe@ubuntu:~/.wine/drive_c/Program Files/Bullfrog/Keeper$ wine KEEPER95.EXE
p11-kit: couldn't load module: /usr/lib/i386-linux-gnu/pkcs11/p11-kit-trust.so: /usr/lib/i386-linux-gnu/pkcs11/p11-kit-trust.so: cannot open shared object file: No such file or directory
fixme:win:EnumDisplayDevicesW ((null),0,0x160dff8,0x00000000), stub!
fixme:ddraw:ddraw7_WaitForVerticalBlank iface 0x166480, flags 0x1, event (nil) stub!
fixme:d3d_surface:d3dfmt_p8_init_palette No palette set.
fixme:winediag:AUDDRV_GetAudioEndpoint Winepulse is not officially supported by the wine project
fixme:winediag:AUDDRV_GetAudioEndpoint For sound related feedback and support, please visit http://ubuntuforums.org/showthread.php?t=1960599
fixme:mountmgr:harddisk_ioctl Unsupported ioctl 2402c (device=2 access=1 func=b method=0)
fixme:mountmgr:harddisk_ioctl Unsupported ioctl 24008 (device=2 access=1 func=2 method=0)
wodencafe@ubuntu:~/.wine/drive_c/Program Files/Bullfrog/Keeper$ 
---------------
In particular the line "fixme:d3d_surface:d3dfmt_p8_init_palette No palette set." is standing out to me, but this may not be the culprit.

Please let me know if there is any additional testing or debug logs you would like from me.
Comment 63 Walter Woden 2014-01-12 07:45:48 UTC
Created attachment 47175 [details]
This is a log of a KEEPER95.EXE crash with +relay and +snoop debug turned on.

This is a log of a KEEPER95.EXE crash with +relay and +snoop debug turned on.
It is 180 kb compressed, 14.3 MB uncompressed.

Please note the line "000d:Call KERNEL32.ExitProcess(00000000) ret=7f8129ca3adb" at line # 131,274.
Comment 64 Flo 2014-01-12 07:54:46 UTC
I admit that in my original bug report I used keeper95.exe.
What is working is the d3d version: keepd3d.exe
I tested that. I'm undecided whether we still care about keeper95.exe ...
On the other hand the extension deeper95 does not seem to be included in the direct3d version. Probably this warrants a new bug report.
Comment 65 Walter Woden 2014-01-12 08:45:05 UTC
(In reply to comment #64)
> I admit that in my original bug report I used keeper95.exe.
> What is working is the d3d version: keepd3d.exe
> I tested that. I'm undecided whether we still care about keeper95.exe ...
> On the other hand the extension deeper95 does not seem to be included in the
> direct3d version. Probably this warrants a new bug report.

Theres are good points. So I have tried to run keepd3d.exe and deepd3d.exe from my Gold installation, and each one gives me this: 
wodencafe@ubuntu:~/.wine/drive_c/Program Files/Bullfrog/Keeper$ wine deepd3d.exe
err:module:map_image Could not map section .reloc, file probably truncated
err:module:map_image Could not map section .reloc, file probably truncated
wine: Bad EXE format for C:\Program Files\Bullfrog\Keeper\deepd3d.exe.

Nothing tries to run, no splash screen, just these errors.

Am I doing something wrong? Can anyone else confirm this behavior? 
This is very different from what I would have expected given how KEEPER95.EXE runs.
Comment 66 Flo 2014-01-13 11:50:43 UTC
This doesn't look like an internal wine thing. Somehow wine doesn't recognize the executables. Probably you see a difference if you check the executables with the "file" utility.
Comment 67 Walter Woden 2014-01-14 06:22:30 UTC
(In reply to comment #66)
> This doesn't look like an internal wine thing. Somehow wine doesn't
> recognize the executables. Probably you see a difference if you check the
> executables with the "file" utility.

This is what I am seeing as output from the executables with the file command: 
wodencafe@ubuntu:~/.wine/drive_c/Program Files/Bullfrog/Keeper$ file keepd3d.exe 
keepd3d.exe: PE32 executable (GUI) Intel 80386, for MS Windows
wodencafe@ubuntu:~/.wine/drive_c/Program Files/Bullfrog/Keeper$ file KEEPER95.EXE 
KEEPER95.EXE: PE32 executable (GUI) Intel 80386, for MS Windows
Comment 68 Wylda 2014-01-16 18:33:12 UTC
(In reply to comment #65)
> Can anyone else confirm this behavior? 

Hi, KEEPER95.EXE runs perfectly here, since wine-1.7.9. Many thanks Henri for fixing this game.

PS: Since wine-1.7.9 DEEPER95.EXE is able to run intro video, but then quits without a crash. But that's unrelated to this bug report.
Comment 69 xavier Frenchy 2014-05-02 01:51:27 UTC
install ok on wine 1.7.9
the game runs fine but i can't finish the first party : the space bar doesn't quit the winning party !

UBUNTU 12.04
wine 1.7.9
driver : GeForce GT 610/PCIe/SSE2 
Dungeon Keeper Gold : original disk
Comment 70 Bruno Jesus 2014-05-02 09:42:25 UTC
(In reply to xavier Frenchy from comment #69)
> install ok on wine 1.7.9
> the game runs fine but i can't finish the first party : the space bar
> doesn't quit the winning party !

Please open a new bug for that, this one was about the game not starting.


Privacy Policy
If you have a privacy inquiry regarding this site, please write to [email protected]

Hosted By CodeWeavers