[Bug 34842] Multiple .NET 3.5 apps occasionally fail to run when late-bound 'riched20.dll' prelink address is already occupied and PE mapped into >2 GiB address range (Garmin BaseCamp 4.1.2, GZDoom Builder 2.3)

WineHQ Bugzilla wine-bugs at winehq.org
Sat Jan 4 09:24:08 CST 2020


https://bugs.winehq.org/show_bug.cgi?id=34842

Anastasius Focht <focht at gmx.net> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                URL|http://www.gawisp.com/perry |https://web.archive.org/web
                   |/mapsource/BaseCamp_412.exe |/20171027004627/http://www.
                   |                            |gawisp.com/perry/mapsource/
                   |                            |BaseCamp_412.exe

--- Comment #4 from Anastasius Focht <focht at gmx.net> ---
Hello folks,

adding stable links from Internet Archive:

https://web.archive.org/web/20171027004627/http://www.gawisp.com/perry/mapsource/BaseCamp_412.exe

https://web.archive.org/web/20170113164445/http://devbuilds.drdteam.org/doombuilder2-gzdb/GZDoom%20Builder%20R2364%20Installer.7z

An instance where 'riched20.dll' was successfully relocated into lower 2 GB
range. 'system.ni' (NGENed native image of MSIL 'system.dll') occupies the
preferred address range.

--- snip ---
$ pwd
/home/focht/.wine/drive_c/Program Files (x86)/GZDoom Builder

$ winedbg ./Builder.exe
...
Wine-dbg>info share

Module    Address            Debug info    Name (164 modules)
PE      330000-  3d8000    Deferred        shlwapi
PE      330000-  3d8000    Deferred        version
PE      400000-  67a000    Deferred        builder
PE      ac0000-  af9000    Deferred        imm32
PE      d70000-  d9f000    Deferred        shcore
PE      da0000- 11c1000    Deferred        ole32
PE      da0000- 11c1000    Deferred        rpcrt4
PE     3400000- 351e000    Deferred        setupapi
PE     3780000- 3abe000    Deferred        comctl32
PE     3780000- 3abe000    Deferred        usp10
PE     3ad0000- 3b32000    Deferred        uxtheme
PE     3b30000- 3b36000    Deferred        fusion
PE     3b60000- 47fc000    Deferred        system.windows.forms.ni
PE     4810000- 4898000    Deferred        rsaenh
PE     48b0000- 49e2000    Deferred        winmm
PE     48b0000- 49e2000    Deferred        msacm32
PE     4b80000- 4b8b000    Deferred        shfolder
PE     4f70000- 5317000    Deferred        slimdx
PE     5320000- 53ae000    Deferred        msvcp90
PE     5730000- 59ee000    Deferred        devil
PE     59f0000- 5a77000    Deferred        msvcp80
PE     5ee0000- 61e8000    Deferred        oleaut32
PE     6140000- 6191000    Deferred        propsys
PE     6210000- 63c0000    Deferred        riched20
PE     6850000- 6968000    Deferred        d3d9
PE     6960000- 6b94000    Deferred        d3dx9_43
PE     6960000- 6b94000    Deferred        d3dcompiler_47
PE     6c40000- 6c97000    Deferred        d3dxof
PE     6c90000- 6d48000    Deferred        buildermodes
PE     6e40000- 6e5c000    Deferred        buildereffects
PE     6e90000- 6ea2000    Deferred        colorpicker
PE     6eb0000- 6ebe000    Deferred        commentspanel
PE     6f00000- 6f12000    Deferred        nodesviewer
PE     6f40000- 6f56000    Deferred        soundpropagationmode
PE     6fa0000- 6fac000    Deferred        tagrange
PE     6fd0000- 6fe2000    Deferred        tagexplorer
PE     7000000- 702a000    Deferred        visplaneexplorer
PE     7070000- 711b000    Deferred        4mpt51bj
PE     7120000- 71cb000    Deferred        0zbjqzwk
PE     71d0000- 727b000    Deferred        gbw9czhk
PE     7280000- 732b000    Deferred        6z76euj4
PE     7330000- 73db000    Deferred        bbsv1u54
PE     73e0000- 748b000    Deferred        2y3s4p6m
PE     7490000- 753b000    Deferred        8bnhppqm
PE     7540000- 75eb000    Deferred        dn08bobn
PE     7720000- 778e000    Deferred        sharpcompress.3.5
PE     7b40000- 7b74000    Deferred        jsproxy
PE     7cd0000- 7d0f000    Deferred        mpr
PE     82a0000- 82b1000    Deferred        dhcpcsvc
PE    10000000-10224000    Deferred        kernelbase
PE    5e3a0000-5e42d000    Deferred        diasymreader
PE    60340000-60348000    Deferred        culture
PE    637a0000-63d28000    Deferred        system.xml.ni
PE    641f0000-6420e000    Deferred        shfusion
PE    64220000-64238000    Deferred        shfusres
PE    64890000-6498c000    Deferred        system.configuration.ni
PE    6a640000-6b0bc000    Deferred        system.design.ni
PE    783f0000-78433000    Deferred        msvcm90
PE    79000000-79070000    Deferred        mscoree
PE    79060000-790b6000    Deferred        mscorjit
PE    790c0000-79bf6000    Deferred        mscorlib.ni
PE    79e70000-7a3ff000    Deferred        mscorwks
PE    7a440000-7ac2a000    Deferred        system.ni
PE    7ade0000-7af7c000    Deferred        system.drawing.ni
ELF    7b400000-7b670000    Dwarf           kernel32<elf>
  \-PE    7b420000-7b670000    \               kernel32
ELF    7bc00000-7beb1000    Dwarf           ntdll<elf>
  \-PE    7bc30000-7beb1000    \               ntdll
ELF    7c000000-7c004000    Deferred        <wine-loader>
...
ELF    f7b6e000-f7d11000    Deferred        libc.so.6
ELF    f7d11000-f7d30000    Deferred        libpthread.so.0
ELF    f7d72000-f7f24000    Dwarf           libwine.so.1
ELF    f7f26000-f7f4f000    Deferred        ld-linux.so.2
--- snip ---

I'm not sure if this should be fixed in Wine by complicating the loader code.
Apparently this problem occasionally appears on Windows as well:

*
https://forums.tomshardware.com/threads/why-does-my-x360ce-emulator-show-this-error-riched20-dll-when-i-launch-it.3265993/
("Why does my x360ce emulator show this error : RichEd20.dll when i launch
it?")

* https://youtrack.jetbrains.com/issue/RSRP-131974
("System.ComponentModel.Win32Exception: Cannot load the "RichEd20.DLL" DLL into
memory. ")

If we follow "bug for bug compatibility" paradigm this could be a documented
'WONTFIX' as well ;-)

$ wine --version
wine-5.0-rc4

Regards

-- 
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