[Bug 22551] Capture One 5.x fails on startup due to riched20.dll module load address too high (.NET Framework/Windows Forms wants riched20.dll loaded into lower 2GiB address space range)

wine-bugs at winehq.org wine-bugs at winehq.org
Sun Feb 19 12:41:16 CST 2012


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

Anastasius Focht <focht at gmx.net> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                URL|http://xchange.phaseone.com |http://www.phaseone.com/en/
                   |/Content/Downloads/CO5.aspx |downloads/softwarearchive/c
                   |                            |aptureonearchivewin.aspx
                 CC|                            |focht at gmx.net
          Component|mscoree                     |richedit
            Summary|Capture One aborts with     |Capture One 5.x fails on
                   |"unknown error" with Mono   |startup due to riched20.dll
                   |2.6, requires .NET          |module load address too
                   |Framework 3.5               |high (.NET
                   |                            |Framework/Windows Forms
                   |                            |wants riched20.dll loaded
                   |                            |into lower 2GiB address
                   |                            |space range)

--- Comment #7 from Anastasius Focht <focht at gmx.net> 2012-02-19 12:41:16 CST ---
Hello,

Capture One v5.x demands .NET 3.5
Capture One v6.x demands .NET 4.0

Prerequisite: .NET Framework 3.5 in clean WINEPREFIX.

After installation the app dies on startup, putting up exception dialog:

--- snip ---
<?xml version="1.0" encoding="utf-8"?>
<crashreport version="1.1" time="2012-02-19 17:34:36Z">
  <exception type="System.ComponentModel.Win32Exception">
    <message>Cannot load the "RichEd20.DLL" DLL into memory.</message>
    <stacktrace>
   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 P1.C1.License.LicenseDialog.InitializeComponent()
   at P1.C1.License.LicenseDialog..ctor(g9 licenseManager)
   at g9.h()
   at g9.l()
   at P1.C1.Program.InitializeLicensing()
   at P1.C1.Program.Main()</stacktrace>
  </exception>
  <application version="5.2.41190.41120" variant="Capture One"
uptime="00:00:03.5855580" />
  <user>
    <name />
    <email />
    <description />
  </user>
  <system>
--- snip ---

Relevant part of trace log:

--- snip ---
003a:Call KERNEL32.LoadLibraryW(011fc59c L"RichEd20.DLL") ret=033d15a2
003a:Call PE DLL (proc=0xf63c2ed0,module=0xf6380000
L"riched20.dll",reason=PROCESS_ATTACH,res=(nil))
003a:trace:richedit:DllMain
...
003a:Ret  PE DLL (proc=0xf63c2ed0,module=0xf6380000
L"riched20.dll",reason=PROCESS_ATTACH,res=(nil)) retval=1
003a:Ret  KERNEL32.LoadLibraryW() retval=f6380000 ret=033d15a2
...
003a:trace:seh:raise_exception code=e0434f4d flags=1 addr=0x7b83924f
ip=7b83924f tid=003a
003a:trace:seh:raise_exception  info[0]=80004005
003a:trace:seh:raise_exception  eax=7b826289 ebx=7b8a96a8 ecx=80004005
edx=0032e874 esi=0032e950 edi=0032e8d0
003a:trace:seh:raise_exception  ebp=0032e8b8 esp=0032e854 cs=0023 ds=002b
es=002b fs=0063 gs=006b flags=00000287
003a:trace:seh:call_stack_handlers calling handler at 0x79f908a2 code=e0434f4d
flags=1
003a:trace:seh:call_stack_handlers handler at 0x79f908a2 returned 1
003a:trace:seh:call_stack_handlers calling handler at 0x79fb4869 code=e0434f4d
flags=1 
...
--- snip ---

Not much to see ...
Debugging reveals that although the module load succeeds, the managed code is
not happy about the load address -> 0xf6380000

There is a comparison of module load address against lower 2 GiB range?

Searching MSDN didn't reveal much.
Maybe some kind of backwards compatibility check for Win9X systems?

I assigned "riched20.dll" a dedicated load address in lower 2 GiB address space
and it helps.
Wine already does this for some core dlls.
The error goes away and a license dialog is shown.

After selecting "trial" the main gui shows half up when the app runs into next
bug ;-)

$ sha1sum CaptureOne5.2.exe 
ba7692ea8cb96071277fc3b0d77473385fc4143c  CaptureOne5.2.exe

$ wine --version
wine-1.4-rc4

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