Still need help fixing deadlock (GDI/metafile)

Cihan Altinay cihan at uq.edu.au
Wed Jan 11 01:07:18 CST 2006


Since nobody seems to be able to help me with this problem at the moment
I opened a bug report[1] for it. I would appreciate if somebody with
more knowledge could take a quick look at it. Thanks!

Cihan

[1] http://bugs.winehq.org/show_bug.cgi?id=4284


Cihan Altinay wrote:
> Hi,
> 
> I am still trying to finding the reason for PowerPoint 2000 causing a
> deadlock if a file is opened that contains a preview which itself
> contains a bitmap >90x90 pixels (ie. on the first slide).
> After inserting some traces I feel I am pretty close but I'm
> stuck since before the holidays. The problem is connected to GDI's
> and/or metafile's StretchBlt (bitblt.c).
> It calls MFDRV_StretchBlt and then the trouble begins as can be seen
> from the output:
> 
> <snip>
> trace:bitblt:StretchBlt --Start--
> trace:gdi:GDI_GetObjPtr (0x3b0c): enter 1
> trace:dc:DC_GetDCPtr
> trace:gdi:GDI_ReleaseObj (0x3b0c): leave 1
> trace:gdi:GDI_GetObjPtr (0x3aec): enter 1
> trace:dc:DC_GetDCPtr
> trace:gdi:GDI_GetObjPtr (0x3b0c): enter 2
> trace:dc:DC_GetDCPtr
> trace:bitblt:StretchBlt 0x3aec 0,0 160x120 -> 0x3b0c 0,0 960x720 rop=cc0020
> trace:gdi:GDI_GetObjPtr (0x3aec): enter 3
> trace:dc:DC_GetDCPtr
> trace:gdi:GDI_ReleaseObj (0x3aec): leave 3
> trace:gdi:GetObjectW 0x3af8 24 0x7fc2f760
> trace:gdi:GDI_GetObjPtr (0x3af8): enter 3
> trace:gdi:GDI_ReleaseObj (0x3af8): leave 3
> trace:gdi:GDI_GetObjPtr (0x3aec): enter 3
> trace:dc:DC_GetDCPtr
> trace:gdi:GDI_ReleaseObj (0x3aec): leave 3
> trace:gdi:GDI_GetObjPtr (0x3aec): enter 3
> trace:dc:DC_GetDCPtr
> trace:gdi:GDI_ReleaseObj (0x3aec): leave 3
> trace:gdi:GDI_GetObjPtr (0x3aec): enter 3
> trace:dc:DC_GetDCPtr
> trace:gdi:GDI_ReleaseObj (0x3aec): leave 3
> trace:metafile:MFDRV_StretchBlt MF_StretchBltViaDIB->len = 20292  rop=cc0020
> PixYPM=3780 Caps=96
> trace:bitmap:GetDIBits
> trace:dc:CreateCompatibleDC --Checking lock-- hdc=0x3aec
> err:syslevel:_CheckNotSysLevel Holding lock 0x7fad49e0 level 3
> </snip>
> 
> Yes well... hdcDst and hdcSrc aren't freed yet from within StretchBlt.
> There is a comment "FIXME: there is a race condition here". Could that
> be the cause for the deadlock?
> Btw. this might be the same problem as bug #3125 as both refer to the
> preview and both cause a deadlock.
> 
> Can somebody give me a hint on how to tackle this? It is really important
> for us... If you need more output please let me know.
> 
> Thanks a lot,
> Cihan
> 
> 
> 




More information about the wine-devel mailing list