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

wine-bugs at winehq.org wine-bugs at winehq.org
Fri Oct 5 20:02:30 CDT 2018


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

Anastasius Focht <focht at gmx.net> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
            Summary|Garmin BaseCamp 4.1.2       |Multiple .NET 3.5 apps
                   |sometimes fails to run when |occasionally fail to run
                   |late-bound riched20.dll     |when late-bound
                   |preferred load base address |'riched20.dll' prelink
                   |is already occupied and PE  |address is already occupied
                   |mapped into >2 GiB address  |and PE mapped into >2 GiB
                   |range                       |address range (Garmin
                   |                            |BaseCamp 4.1.2, GZDoom
                   |                            |Builder 2.3)

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

revisiting, still present.

Also encountered with GZDoom Builder 2.3 (.NET 3.5 app), from bug 41253

Download:
http://devbuilds.drdteam.org/doombuilder2-gzdb/GZDoom%20Builder%20R2364%20Installer.7z

Prerequisite:

* clean 64-bit WINEPREFIX
* .NET Framework 3.5 installed
* .NET GAC updated with 'wine
"c:\\windows\\Microsoft.NET\\Framework\\v2.0.50727\\ngen.exe" update
/force'

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

$ wine ./Builder.exe
...
00f6:fixme:advapi:ReportEventW
(0xcafe4242,0x0001,0x0000,0x00001388,(nil),0x000b,0x00000100,0x3009b09c,0x6cda98):
stub
00f6:err:eventlog:ReportEventW L"clr20r3"
00f6:err:eventlog:ReportEventW L"builder.exe"
00f6:err:eventlog:ReportEventW L"2.3.0.2364"
00f6:err:eventlog:ReportEventW L"55a4d369"
00f6:err:eventlog:ReportEventW L"system.windows.forms"
00f6:err:eventlog:ReportEventW L"2.0.0.0"
00f6:err:eventlog:ReportEventW L"471ebf68"
00f6:err:eventlog:ReportEventW L"4ecd"
00f6:err:eventlog:ReportEventW L"5b"
00f6:err:eventlog:ReportEventW L"system.componentmodel.win32"
00f6:err:eventlog:ReportEventW L"NIL"
00f6:fixme:advapi:DeregisterEventSource (0xcafe4242) stub
00f6:fixme:richedit:ME_HandleMessage EM_SETMARGINS: stub
00f6:fixme:richedit:ME_HandleMessage EM_SETMARGINS: stub

Unhandled Exception: System.ComponentModel.Win32Exception: Cannot load the
"RichEd20.DLL" DLL into memory.
   at System.Windows.Forms.RichTextBox.get_CreateParams()
   at System.Windows.Forms.Control..ctor(Boolean autoInstallSyncContext)
   at System.Windows.Forms.TextBoxBase..ctor()
   at System.Windows.Forms.RichTextBox..ctor()
   at CodeImp.DoomBuilder.DebugConsole.InitializeComponent()
   at CodeImp.DoomBuilder.DebugConsole..ctor()
   at CodeImp.DoomBuilder.Windows.MainForm.InitializeComponent()
   at CodeImp.DoomBuilder.Windows.MainForm..ctor()
   at CodeImp.DoomBuilder.General.Main(String[] args)
wine: Unhandled exception 0xe0434f4d in thread 9 at address 0x7b4473c7 (thread
0009), starting debugger...
--- snip ---

--- snip ---
$ Wine-dbg>info process
 pid      threads  executable (all id:s are in hex)
...
 00000013 4        'explorer.exe'
 0000000e 6        'services.exe'
 0000002f 4        \_ 'winedevice.exe'
 0000002a 3        \_ 'plugplay.exe'
 00000024 4        \_ 'winedevice.exe'
 00000011 4        \_ 'mscorsvw.exe'
 00000008 3        'Builder.exe'

Wine-dbg>info share
Module    Address            Debug info    Name (112 modules)
PE      400000-  67a000    Deferred        builder
PE     2ca0000- 393c000    Export          system.windows.forms.ni
PE     40c0000- 437e000    Deferred        devil
PE    10000000-103a7000    Deferred        slimdx
PE    5e3a0000-5e42d000    Deferred        diasymreader
PE    637a0000-63d28000    Deferred        system.xml.ni
PE    641f0000-6420e000    Deferred        shfusion
PE    783f0000-78433000    Deferred        msvcm90
PE    79000000-79070000    Export          mscoree
PE    79000000-79070000    Export          mscorjit
PE    790c0000-79bf6000    Deferred        mscorlib.ni
PE    79e70000-7a3ff000    Export          mscorwks
PE    7a440000-7ac2a000    Deferred        system.ni
PE    7ade0000-7af7c000    Deferred        system.drawing.ni
ELF    7b400000-7b7f4000    Dwarf           kernel32<elf>
  \-PE    7b420000-7b7f4000    \               kernel32
ELF    7bc00000-7bd10000    Dwarf           ntdll<elf>
  \-PE    7bc30000-7bd10000    \               ntdll
ELF    7c000000-7c004000    Deferred        <wine-loader>
ELF    7e9e0000-7ea07000    Deferred        libtinfo.so.6
ELF    7ea07000-7ea34000    Deferred        libncurses.so.6
ELF    7eead000-7eec1000    Deferred        libnss_files.so.2
ELF    7eec1000-7efc3000    Deferred        libm.so.6
ELF    f53b4000-f544b000    Deferred        riched20<elf>
  \-PE    f53d0000-f544b000    \               riched20
...
--- snip ---

In this case 'system.ni' (NGENed native image of MSIL 'system.dll') occupies
the address range, forcing relocation of 'riched20.dll' (virtual base address >
2 GB).

$ sha1sum GZDoom\ Builder\ R2364\ Installer.7z 
aa65a19b1275deb09680f4227f81218d27308422  GZDoom Builder R2364 Installer.7z

$ du -sh GZDoom\ Builder\ R2364\ Installer.7z 
13M    GZDoom Builder R2364 Installer.7z

$ wine --version
wine-3.17-94-g2e754a6527

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