[Bug 27426] Duke Nukem Forever Demo crashes on start

wine-bugs at winehq.org wine-bugs at winehq.org
Thu Jun 9 01:52:54 CDT 2011


http://bugs.winehq.org/show_bug.cgi?id=27426

Anastasius Focht <focht at gmx.net> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |focht at gmx.net

--- Comment #2 from Anastasius Focht <focht at gmx.net> 2011-06-09 01:52:52 CDT ---
Hello,

that patched main executable has indeed a strange first import descriptor...
Some section names contain "KANXUE" which might point to origins of this
"patch".

--- snip ---
->Import Table
   1. ImageImportDescriptor:
    OriginalFirstThunk:  0x0017532D
    TimeDateStamp:       0x00000000  (GMT: Thu Jan 01 00:00:00 1970)
    ForwarderChain:      0x00000000
    Name:                0x00172000  ("meqon


KERNEL32.dll")
    FirstThunk:          0x001722F6

    Ordinal/Hint API name
    ------------ ---------------------------------------
    0x0000       "??0Support at RBConvexPolyhedronGeometry@meq@@QAE at XZ

<lots of repeated LF+CR characters>

<garbage>

   2. ImageImportDescriptor:
    OriginalFirstThunk:  0x0017846A
    TimeDateStamp:       0x00000000  (GMT: Thu Jan 01 00:00:00 1970)
    ForwarderChain:      0x00000000
    Name:                0x00172105  ("KERNEL32.dll")
    FirstThunk:          0x000121EC

    Ordinal/Hint API name
    ------------ ---------------------------------------
    0x0000       "IsDebuggerPresent"
    0x0000       "InterlockedExchange"
    0x0000       "Sleep"
...
--- snip ---

Hex view of that data:

--- snip ---
$ xxd -g4 -s 0x171400 -l 400 DukeForeverDemo.exe
0171400: 6d65716f 6e0d0a0d 0a0d0a0d 0a0d0a0d  meqon...........
0171410: 0a0d0a0d 0a0d0a0d 0a0d0a0d 0a0d0a0d  ................
0171420: 0a0d0a0d 0a0d0a0d 0a0d0a0d 0a0d0a0d  ................
0171430: 0a0d0a0d 0a0d0a0d 0a0d0a0d 0a0d0a0d  ................
0171440: 0a0d0a0d 0a0d0a0d 0a0d0a0d 0a0d0a0d  ................
0171450: 0a0d0a0d 0a0d0a0d 0a0d0a0d 0a0d0a0d  ................
0171460: 0a0d0a0d 0a0d0a0d 0a0d0a0d 0a0d0a0d  ................
0171470: 0a0d0a0d 0a0d0a0d 0a0d0a0d 0a0d0a0d  ................
0171480: 0a0d0a0d 0a0d0a0d 0a0d0a0d 0a0d0a0d  ................
0171490: 0a0d0a0d 0a0d0a0d 0a0d0a0d 0a0d0a0d  ................
01714a0: 0a0d0a0d 0a0d0a0d 0a0d0a0d 0a0d0a0d  ................
01714b0: 0a0d0a0d 0a0d0a0d 0a0d0a0d 0a0d0a0d  ................
01714c0: 0a0d0a0d 0a0d0a0d 0a0d0a0d 0a0d0a0d  ................
01714d0: 0a0d0a0d 0a0d0a0d 0a0d0a0d 0a0d0a0d  ................
01714e0: 0a0d0a0d 0a0d0a0d 0a0d0a0d 0a0d0a0d  ................
01714f0: 0a0d0a0d 0a0d0a0d 0a0d0a0d 0a0d0a0d  ................
0171500: 0a0d0a0d 0a4b4552 4e454c33 322e646c  .....KERNEL32.dl
0171510: 6c005553 45523332 2e646c6c 00646e41  l.USER32.dll.dnA
0171520: 6e696d61 74696f6e 2e646c6c 00334452  nimation.dll.3DR
0171530: 44656275 674c6962 2e646c6c 006d6571  DebugLib.dll.meq
0171540: 6f6e2e64 6c6c0042 75674861 6e646c65  on.dll.BugHandle
--- snip ---

The Windows loader probably treats this as invalid descriptor (= ignores any
parts of it).
That "meqon.dll" is also referenced by other imports/dlls which have a valid
import descriptor for it, hence the problem will fix itself at later time.
Wine loader might be too strict here ...

Can you "profile" that executable using "Dependency Walker"
(http://www.dependencywalker.com/) under Windows?
It should show how this entry is handled...

Regards

-- 
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
Do not reply to this email, post in Bugzilla using the
above URL to reply.
------- You are receiving this mail because: -------
You are watching all bug changes.



More information about the wine-bugs mailing list