[Bug 20387] Seagate Crystal Reports 6 installer crashes due to incorrect ordinal numbering of 'odbccp32.dll' exports

wine-bugs at winehq.org wine-bugs at winehq.org
Sat Feb 22 06:26:50 CST 2014


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

Anastasius Focht <focht at gmx.net> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |download
                URL|                            |ftp://ftp.redanvil.net/2000
                   |                            |%20resource%20cd/apps/cryst
                   |                            |al/
                 CC|                            |focht at gmx.net
            Summary|Crystal Report 6 abort      |Seagate Crystal Reports 6
                   |install                     |installer crashes due to
                   |                            |incorrect ordinal numbering
                   |                            |of 'odbccp32.dll' exports

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

found a 'backup', confirming.

--- snip ---
$ pwd
/home/focht/Downloads/cr6/disk1

$ WINEDEBUG=+tid,+seh,+relay,+odbc wine ./setup.exe >>log.txt 2>&1
...
0024:Call KERNEL32.CreateProcessA(00000000,00412138 "crwstp32.exe /d
Z:\\home\\focht\\Downloads\\cr6\\disk1\\ 
",00000000,00000000,00000000,00000020,00000000,00000000,0033fb20,0033fb64)
ret=00401976
...
0026:Call KERNEL32.__wine_kernel_init() ret=7bc5a316
0024:Ret  KERNEL32.CreateProcessA() retval=00000001 ret=00401976
0024:Call KERNEL32.WaitForSingleObject(0000004c,ffffffff) ret=0040146a
0026:Call PE DLL (proc=0x7e3cab58,module=0x7e3c0000
L"odbccp32.dll",reason=WINE_PREATTACH,res=(nil))
0026:Ret  PE DLL (proc=0x7e3cab58,module=0x7e3c0000
L"odbccp32.dll",reason=WINE_PREATTACH,res=(nil)) retval=1 
...
0026:Call odbccp32.SQLConfigDataSourceW(00603dc0,00000104,0033f900
L"\0104\7b8b\08003\3dc0`\fa303\dbb9@",00000000) ret=0041ac59
0026:fixme:odbc:SQLConfigDataSourceW 0x603dc0 260
L"\0104\7b8b\08003\3dc0`\fa303\dbb9@" (null)
0026:trace:seh:raise_exception code=c0000005 flags=0 addr=0x7e3c7fb8
ip=7e3c7fb8 tid=0026
0026:trace:seh:raise_exception  info[0]=00000000
0026:trace:seh:raise_exception  info[1]=00000000
0026:trace:seh:raise_exception  eax=00000000 ebx=7e3ce000 ecx=00000000
edx=7bcecb88 esi=0033f8a0 edi=f77903b5
0026:trace:seh:raise_exception  ebp=0033f888 esp=0033f820 cs=0023 ds=002b
es=002b fs=0063 gs=006b flags=00210206
0026:trace:seh:call_stack_handlers calling handler at 0x430fe4 code=c0000005
flags=0
0026:Call KERNEL32.UnhandledExceptionFilter(0033f300) ret=00430a4c 
--- snip ---

Not obvious but Wine got the ordinals of 'odbccp32.dll' exports wrong.
The helper app imports all ODBC API by ordinal.

Dump of import descriptor for 'crwstp32.exe' with LordPE:

--- snip ---
...
   8. ImageImportDescriptor:
    OriginalFirstThunk:  0x00047648
    TimeDateStamp:       0x00000000  (GMT: Thu Jan 01 00:00:00 1970)
    ForwarderChain:      0x00000000
    Name:                0x0004863A  ("odbccp32.dll")
    FirstThunk:          0x00047B7C

    Ordinal/Hint API name
    ------------ ---------------------------------------
    0x0008
    0x0006
    0x0009
    0x0003
...
--- snip ---

Source:
http://source.winehq.org/git/wine.git/blob/75c5484174462a521856b01c17abb18e2684bc99:/dlls/odbccp32/odbccp32.spec

How it should be (at least for the imports this app uses, other ordinals might
be wrong too):

--- snip ---
 0x0008 -> stdcall SQLWriteDSNToIni(str str)
 0x0006 -> stdcall SQLConfigDataSource(ptr long str str)
 0x0009 -> stdcall SQLRemoveDSNFromIni(str)
 0x0003 -> stdcall SQLInstallDriverManager(ptr long ptr)
--- snip ---

A more complete dump can be found here:
http://www.silverlings.com/dlls/html/odbccp32.dll.html

$ wine --version
wine-1.7.13

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