[Bug 36528] Behringer x32 Edit needs IDWriteFontFamily::GetFontCount implementation
wine-bugs at winehq.org
wine-bugs at winehq.org
Mon May 26 14:12:46 CDT 2014
http://bugs.winehq.org/show_bug.cgi?id=36528
Anastasius Focht <focht at gmx.net> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |NEW
Version|unspecified |1.6.2
Summary|Behringer x32 Edit runs not |Behringer x32 Edit needs
|under Ubuntu 14.04 in |IDWriteFontFamily::GetFontC
|combination with Wine |ount implementation
Ever confirmed|0 |1
--- Comment #4 from Anastasius Focht <focht at gmx.net> ---
Hello Bernd,
I've looked into this, technically it's not a regression. Wine evolved :)
First, the app seems to be Wine aware = bad
--- snip ---
0023:Call KERNEL32.GetModuleHandleA(007d500c "ntdll") ret=0055062e
0023:Ret KERNEL32.GetModuleHandleA() retval=7bc10000 ret=0055062e
0023:Call KERNEL32.GetProcAddress(7bc10000,007d5014 "wine_get_version")
ret=00550642
0023:Ret KERNEL32.GetProcAddress() retval=7bc2680c ret=00550642
--- snip ---
I've seen apps that break just because they try to work around some (older)
Wine insufficiencies.
Wine is a moving target hence a workaround might become superfluous or harmful
at any time.
Tidbit: The app wants to make use of Direct2D - which might prove useful later
for testing when Wine gets more mature in that area.
--- snip ---
0023:Call KERNEL32.LoadLibraryW(00ccca6c L"d2d1.dll") ret=0054e5cb
...
0023:Ret KERNEL32.LoadLibraryW() retval=7d880000 ret=0054e5cb
...
0023:Call KERNEL32.GetProcAddress(7d880000,00ccca40 "D2D1CreateFactory")
ret=0054e630
0023:Ret KERNEL32.GetProcAddress() retval=7d883b28 ret=0054e630
...
0023:Call d2d1.D2D1CreateFactory(00000000,007d6594,0033f9a4,00827cec)
ret=0054e689
...
0023:fixme:d2d:d2d_factory_init Ignoring factory type and options.
0023:Ret d2d1.D2D1CreateFactory() retval=00000000 ret=0054e689
...
--- snip ---
The actual problem is the incomplete DirectWrite API.
--- snip ---
$ WINEDEBUG=+tid,+seh,+relay,+dwrite wine ./X32-Edit.exe >>log.txt 2>&1
...
0023:Call KERNEL32.LoadLibraryW(00ccca6c L"DWrite.dll") ret=0054e6cd
...
0023:Ret KERNEL32.LoadLibraryW() retval=7d850000 ret=0054e6cd
...
0023:Call dwrite.DWriteCreateFactory(00000000,007d65a4,00827cf0) ret=0054e784
0023:trace:dwrite:DWriteCreateFactory (0,
{b859ee5a-d838-4b5b-a2e8-1adc7d93db48}, 0x827cf0)
0023:Ret dwrite.DWriteCreateFactory() retval=00000000 ret=0054e784
0023:trace:dwrite:dwritefactory_GetSystemFontCollection (0x827cf4 0)
...
0023:trace:dwrite:get_system_fontcollection building system font collection:
...
0023:Call
gdi32.EnumFontFamiliesExW(000c0033,0033f8a8,7d860013,001432b8,00000000)
ret=7d86020a
...
0023:Ret gdi32.EnumFontFamiliesExW() retval=00000001 ret=7d86020a
...
0023:trace:dwrite:dwritefontcollection_FindFamilyName (0x1432b8)->(L"Bitstream
Vera Sans" 0x33f978 0x33f970)
0023:trace:dwrite:dwritefontcollection_GetFontFamily (0x1432b8)->(0 0x33f97c)
...
0023:fixme:dwrite:dwritefontfamily_GetFontCount (0x1437e8): stub
0023:trace:seh:raise_exception code=c0000005 flags=0 addr=0x54eac8 ip=0054eac8
tid=0023
0023:trace:seh:raise_exception info[0]=00000000
0023:trace:seh:raise_exception info[1]=00000000
0023:trace:seh:raise_exception eax=00000000 ebx=00ccca48 ecx=00000000
edx=7bcecbc8 esi=00ccca38 edi=00000000
0023:trace:seh:raise_exception ebp=0033f9b8 esp=0033f960 cs=0023 ds=002b
es=002b fs=0063 gs=006b flags=00210246
0023:trace:seh:call_stack_handlers calling handler at 0x5e75db code=c0000005
flags=0
...
0023:trace:seh:start_debugger Starting debugger "winedbg --auto 34 176"
0023:Ret KERNEL32.UnhandledExceptionFilter() retval=00000000 ret=7bc9eca9
0023:trace:seh:call_stack_handlers handler at 0x7bc9ec6f returned 1
Unhandled exception: page fault on read access to 0x00000000 in 32-bit code
(0x0054eac8).
Register dump:
CS:0023 SS:002b DS:002b ES:002b FS:0063 GS:006b
EIP:0054eac8 ESP:0033f960 EBP:0033f9b8 EFLAGS:00210246( R- -- I Z- -P- )
EAX:00000000 EBX:00ccca48 ECX:00000000 EDX:7bcecbc8
ESI:00ccca38 EDI:00000000
Stack dump:
...
Backtrace:
=>0 0x0054eac8 in x32-edit (+0x14eac8) (0x0033f9b8)
1 0x0055183d in x32-edit (+0x15183c) (0x0033f9d8)
2 0x00550b94 in x32-edit (+0x150b93) (0x0033fa04)
3 0x0058b3c9 in x32-edit (+0x18b3c8) (0x0033fa30)
4 0x0058af1d in x32-edit (+0x18af1c) (0x0033fa4c)
...
0x0054eac8: movl 0x0(%edi),%eax
Modules:
Module Address Debug info Name (86 modules)
PE 400000- b81000 Export x32-edit
ELF 7b800000-7ba60000 Dwarf kernel32<elf>
\-PE 7b810000-7ba60000 \ kernel32
ELF 7bc00000-7bcee000 Dwarf ntdll<elf>
\-PE 7bc10000-7bcee000 \ ntdll
ELF 7bf00000-7bf04000 Dwarf <wine-loader>
ELF 7d84b000-7d872000 Deferred dwrite<elf>
\-PE 7d850000-7d872000 \ dwrite
ELF 7d872000-7d891000 Deferred d2d1<elf>
\-PE 7d880000-7d891000 \ d2d1
...
process tid prio (all id:s are in hex)
...
00000022 (D) Z:\home\focht\Downloads\X32-Edit.exe
00000025 0
00000024 0
00000023 0 <==
--- snip ---
You can work around by disabling builtin 'dwrite' component in settings or
start using:
--- snip ---
$ WINEDLLOVERRIDES=dwrite=d wine ./X32-Edit.exe
--- snip ---
$ sha1sum X32-Edit_2.00_PC.zip
97869d09478314f6edd43265da97b7283faa7d51 X32-Edit_2.00_PC.zip
$ du -sh X32-Edit_2.00_PC.zip
4.3M X32-Edit_2.00_PC.zip
$ wine --version
wine-1.7.19-70-gd6a59f7
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