[Bug 16725] New: Intermittent deadlock in GDI32 between freetype_cs and GDI_Level
wine-bugs at winehq.org
wine-bugs at winehq.org
Fri Jan 2 10:39:08 CST 2009
http://bugs.winehq.org/show_bug.cgi?id=16725
Summary: Intermittent deadlock in GDI32 between freetype_cs and
GDI_Level
Product: Wine
Version: 1.1.11
Platform: Other
OS/Version: other
Status: UNCONFIRMED
Severity: enhancement
Priority: P2
Component: gdi32
AssignedTo: wine-bugs at winehq.org
ReportedBy: Paul.Hampson at Pobox.com
Running the Warhammer Online patch client (warpatcher.bin) I occasionally see a
deadlock between freetype_cs and GDI_Level critical sections between two of the
threads.
It appears that one thread is in WineEngGetCharWidth holding freetype_cs, and
then calls GDI_AllocObject, descended from GetCharacterPlacementW called by
Gecko.
The other thread is in FONT_SelectObject, and then calls
WineEngCreateFontInstance, descended from a SelectObject call by libpatchui.dll
from warpatcher.bin.
This code in FONT_SelectObject is marked FIXME so I guess this is known as a
potential issue, but I can't see any bugs that specify this as a problem.
On the other hand, it looks to me like WineEngGetCharWidth should probably
somehow have tried to lock the GDI_Level critical section before entering the
freetype_cs critical section, if it is going to call things that might need to
lock GDI_Level.
In this case, the program is trying to display a HTML-skinned interface of some
kind. I'm not sure exactly what it's trying to do, but I can see how it'd have
gecko and GDI running on the same thing.
Bug 16310 comment 9 suggests that it might be being caused by the same thing,
but that's not confirmed there.
--
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