A possible memory heap problem

gerard patel g.patel at wanadoo.fr.invalid
Sun Aug 26 18:48:00 CDT 2001


On Wed, 22 Aug 2001 17:47:44 -0700, Duane Clark
<junkmail at junkmail.com> wrote:

>Howdy,
>
>I have an application (schedit) which appears to be having a memory heap 
>problem with current CVS. 

Hmm, it is a commercial app not freely downloadable I guess ?

>This application has worked very well under 
>wine up to mid July or so. Now it generates a lot of these messages and 
>just hangs:
>err:local:LOCAL_GetBlock Local heap not found
>err:region:CombineRgn Invalid rgn=0000
>
>Here is what is happening up to that to first of those messages, 
>according to --debugmsg +relay,+local
>
>08066a58:Call x11drv.SetDeviceClipping(403982cc) ret=407412b7
>trace:local:LOCAL_InternalLock 0be2 returning 0fe2
>trace:local:LOCAL_Unlock 0be2
>08066a58:Ret  x11drv.SetDeviceClipping() retval=400fabc0 ret=407412b7
>trace:local:LOCAL_InternalLock 1036 returning 11a2
>trace:local:LOCAL_Unlock 1036
>trace:local:LOCAL_Free 1036 ds=01ef
>trace:local:LOCAL_Free real block at 11a2
>trace:local:LOCAL_FreeArena 119c ds=01ef
>trace:local:LOCAL_GetHeap Heap at 0x4035a4fc, 0020
>trace:local:LOCAL_MakeBlockFree 119c, next 11b0
>trace:local:LOCAL_RemoveBlock
>trace:local:LOCAL_GetHeap Heap at 0x4035a4fc, 0020
>08066a58:Ret  x11drv.GetDC() retval=00000001 ret=406ad309
>08066a58:Call x11drv.SelectObject(403982cc,00001032) ret=4074df84
>trace:local:LOCAL_InternalLock 1032 returning 1206
>trace:local:LOCAL_Unlock 1032
>trace:local:LOCAL_InternalLock 1032 returning 1206
>trace:local:LOCAL_Unlock 1032
>08066a58:Call x11drv.GetDeviceCaps(403982cc,0000005a) ret=40743de5
>08066a58:Ret  x11drv.GetDeviceCaps() retval=00000060 ret=40743de5
>08066a58:Ret  x11drv.SelectObject() retval=00001012 ret=4074df84
>trace:local:LOCAL_InternalLock 1032 returning 1206
>trace:local:LOCAL_Unlock 1032
>trace:local:LOCAL_InternalLock 1012 returning 10e2
>trace:local:LOCAL_Unlock 1012
>trace:local:LOCAL_InternalLock 1012 returning 10e2
>trace:local:LOCAL_Unlock 1012
>trace:local:LOCAL_Free 1012 ds=01ef
>trace:local:LOCAL_Free real block at 10e2
>trace:local:LOCAL_FreeArena 10dc ds=01ef
>trace:local:LOCAL_GetHeap Heap at 0x4035a4fc, 0020
>trace:local:LOCAL_MakeBlockFree 10dc, next 119c
>trace:local:LOCAL_GetHeap Heap at 0x4035a4fc, 0020
>08066a58:Ret  gdi32.SelectObject() retval=00001012 ret=004451ad
>08066a58:Call gdi32.DeleteObject(00001012) ret=004451ce
>trace:local:LOCAL_InternalLock 1012 returning 0000
>trace:local:LOCAL_Unlock 1012
>08066a58:Ret  gdi32.DeleteObject() retval=00000001 ret=004451ce
>08066a58:Call 
>user32.MoveWindow(00000208,00000000,00000000,000004a8,00000011,00000001) 
>ret=004450e1
>08066a58:Call x11drv.SetWindowPos(405a620c) ret=406d463d
>08066a58:Call window proc 0x445ad0 
>(hwnd=00000208,msg=WM_WINDOWPOSCHANGING,wp=00000000,lp=405a620c)
>08066a58:Call user32.GetWindowLongA(00000208,00000000) ret=00445ae2
>08066a58:Ret  user32.GetWindowLongA() retval=40ee5990 ret=00445ae2
>08066a58:Call user32.DefWindowProcA(00000208,00000046,00000000,405a620c) 
>ret=00446358
>08066a58:Ret  user32.DefWindowProcA() retval=00000000 ret=00446358
>08066a58:Ret  window proc 0x445ad0 
>(hwnd=00000208,msg=WM_WINDOWPOSCHANGING,wp=00000000,lp=405a620c) 
>retval=00000000
>trace:local:LOCAL_Alloc 0002 12 ds=01ef
>trace:local:LOCAL_GetHeap Heap at 0x4035a4fc, 8020
>warn:local:LOCAL_GetHeap Bad magic

I think that you have found the point where it fails.
Note that in the call to DeleteObject(1012) the
function LOCAL_InternalLock returns 0 - it seems
that the 1012 object is bad.
Run with debugmsg +gdi,+region for more info.

Gerard



More information about the wine-users mailing list