> 
> There have been a few bug reports...
> http://bugs.winehq.org/show_bug.cgi?id=23902 and 
> http://bugs.winehq.org/show_bug.cgi?id=24131 .
> 
> It seems that in some relatively rare sound
> setups, an inappropriate sound element gets fed in to
> filllines_no_master which leads to a crash on audio initialize.

Hi,

i put eyes & fingers into a code, which is bad. People like me,
should never do such things, but it just shows my desperateness
around this problem. Am i correct when saying:

HEAP is allocated begining at 0x004e2b58 and 1260bytes long:
0009:Call ntdll.RtlAllocateHeap(00110000,00000008,000004ec)
ret=7dfb31c2
0009:Ret  ntdll.RtlAllocateHeap() retval=004e2b58 ret=7dfb31c2

so HEAP ends up at 0x004E3043 followed by 12 "safety bytes"
(starting at 0x004e3044), because i run the app with
WINEDEBUG=warn+heap.

This allocation is shortly followed and used by:
0009:Call KERNEL32.MultiByteToWideChar(0000fdf2,00000000,7d5807e8
"Headphone",ffffffff,004e2b58,00000020) ret=7dfb2382
0009:Ret  KERNEL32.MultiByteToWideChar() retval=0000000a
ret=7dfb2382

...

0009:Call KERNEL32.MultiByteToWideChar(0000fdf2,00000000,7d6d8b18
"Digital",ffffffff,004e3044,00000020) ret=7dfb268b
0009:Ret  KERNEL32.MultiByteToWideChar() retval=00000008
ret=7dfb268b

So this "D" is written to a place (0x004e3044), where it shouldn't
be ("safety bytes").

At the end of application run, the wine complains:
0009:Call ntdll.RtlFreeHeap(00110000,00000000,004e2b58) ret=7dfb3778
err:heap:HEAP_ValidateInUseArena Heap 0x110000: block 0x4e2b58 tail
overwritten at 0x4e3044 (byte 0/12 == 0x44)

And this 0x44 stands for "D" from ascii? Mentioned address 0x4e2b58
appears only in the begining (allocation) and at the end (free).

Is this helpful somehow? What should i do something next?


Thanks in advance for any help. Longer log attached.
W.

....

0009:Call ntdll.RtlAllocateHeap(00110000,00000008,000004ec) ret=7dfb31c2
0009:Ret  ntdll.RtlAllocateHeap() retval=004e2b58 ret=7dfb31c2
0009:Call ntdll.RtlAllocateHeap(00110000,00000008,000028c8) ret=7dfb322c
0009:Ret  ntdll.RtlAllocateHeap() retval=0021cc28 ret=7dfb322c
0009:Call KERNEL32.MultiByteToWideChar(0000fdf2,00000000,7d5807e8 
"Headphone",ffffffff,004e2b58,00000020) ret=7dfb2382
0009:Ret  KERNEL32.MultiByteToWideChar() retval=0000000a ret=7dfb2382
0009:Call KERNEL32.MultiByteToWideChar(0000fdf2,00000000,7d6d7d88 
"Capture",ffffffff,004e2bac,00000020) ret=7dfb2488
0009:Ret  KERNEL32.MultiByteToWideChar() retval=00000008 ret=7dfb2488
0009:Call KERNEL32.MultiByteToWideChar(0000fdf2,00000000,7d580768 
"PCM",ffffffff,004e2c00,00000020) ret=7dfb25d6
0009:Ret  KERNEL32.MultiByteToWideChar() retval=00000004 ret=7dfb25d6
0009:Call KERNEL32.MultiByteToWideChar(0000fdf2,00000000,7d6d6238 
"Front",ffffffff,004e2c54,00000020) ret=7dfb25d6
0009:Ret  KERNEL32.MultiByteToWideChar() retval=00000006 ret=7dfb25d6
0009:Call KERNEL32.MultiByteToWideChar(0000fdf2,00000000,7d6d5ec8 "Front 
Mic",ffffffff,004e2ca8,00000020) ret=7dfb268b
0009:Ret  KERNEL32.MultiByteToWideChar() retval=0000000a ret=7dfb268b
0009:Call KERNEL32.MultiByteToWideChar(0000fdf2,00000000,7d6d5b88 "Front Mic 
Boost",ffffffff,004e2cfc,00000020) ret=7dfb268b
0009:Ret  KERNEL32.MultiByteToWideChar() retval=00000010 ret=7dfb268b
0009:Call KERNEL32.MultiByteToWideChar(0000fdf2,00000000,7d6d65a8 
"Surround",ffffffff,004e2d50,00000020) ret=7dfb25d6
0009:Ret  KERNEL32.MultiByteToWideChar() retval=00000009 ret=7dfb25d6
0009:Call KERNEL32.MultiByteToWideChar(0000fdf2,00000000,7d6d6918 
"Center",ffffffff,004e2da4,00000020) ret=7dfb25d6
0009:Ret  KERNEL32.MultiByteToWideChar() retval=00000007 ret=7dfb25d6
0009:Call KERNEL32.MultiByteToWideChar(0000fdf2,00000000,7d6d6c88 
"LFE",ffffffff,004e2df8,00000020) ret=7dfb25d6
0009:Ret  KERNEL32.MultiByteToWideChar() retval=00000004 ret=7dfb25d6
0009:Call KERNEL32.MultiByteToWideChar(0000fdf2,00000000,7d6d94d8 
"Side",ffffffff,004e2e4c,00000020) ret=7dfb25d6
0009:Ret  KERNEL32.MultiByteToWideChar() retval=00000005 ret=7dfb25d6
0009:Call KERNEL32.MultiByteToWideChar(0000fdf2,00000000,7d6d6ff8 
"Line",ffffffff,004e2ea0,00000020) ret=7dfb25d6
0009:Ret  KERNEL32.MultiByteToWideChar() retval=00000005 ret=7dfb25d6
0009:Call KERNEL32.MultiByteToWideChar(0000fdf2,00000000,7d6d7368 
"CD",ffffffff,004e2ef4,00000020) ret=7dfb25d6
0009:Ret  KERNEL32.MultiByteToWideChar() retval=00000003 ret=7dfb25d6
0009:Call KERNEL32.MultiByteToWideChar(0000fdf2,00000000,7d6d7a18 
"Mic",ffffffff,004e2f48,00000020) ret=7dfb268b
0009:Ret  KERNEL32.MultiByteToWideChar() retval=00000004 ret=7dfb268b
0009:Call KERNEL32.MultiByteToWideChar(0000fdf2,00000000,7d6d76d8 "Mic 
Boost",ffffffff,004e2f9c,00000020) ret=7dfb268b
0009:Ret  KERNEL32.MultiByteToWideChar() retval=0000000a ret=7dfb268b
0009:Call KERNEL32.MultiByteToWideChar(0000fdf2,00000000,7d6d80c8 
"Capture",ffffffff,004e2ff0,00000020) ret=7dfb268b
0009:Ret  KERNEL32.MultiByteToWideChar() retval=00000008 ret=7dfb268b
0009:Call KERNEL32.MultiByteToWideChar(0000fdf2,00000000,7d6d8b18 
"Digital",ffffffff,004e3044,00000020) ret=7dfb268b
0009:Ret  KERNEL32.MultiByteToWideChar() retval=00000008 ret=7dfb268b
0009:Call KERNEL32.MultiByteToWideChar(0000fdf2,00000000,0021cac8 "HDA 
NVidia",ffffffff,7dfc9ee4,00000020) ret=7dfb2ae4
0009:Ret  KERNEL32.MultiByteToWideChar() retval=0000000b ret=7dfb2ae4
fixme:mixer:ALSA_MixerInit No master control found on HDA NVidia, disabling 
mixer
0009:Call ntdll.RtlFreeHeap(00110000,00000000,00000000) ret=7dfb34be
0009:Ret  ntdll.RtlFreeHeap() retval=00000001 ret=7dfb34be
0009:Call ntdll.RtlFreeHeap(00110000,00000000,00000000) ret=7dfb3503
0009:Ret  ntdll.RtlFreeHeap() retval=00000001 ret=7dfb3503
0009:Call ntdll.RtlFreeHeap(00110000,00000000,0021caa0) ret=7dfb357a
0009:Ret  ntdll.RtlFreeHeap() retval=00000001 ret=7dfb357a
0009:Call KERNEL32.InitializeCriticalSection(7dfcaa84) ret=7dfb358b
0009:Ret  KERNEL32.InitializeCriticalSection() retval=00000001 ret=7dfb358b
0009:Ret  winealsa.drv.mxdMessage() retval=00000000 ret=7e56aa73
0009:Call winealsa.drv.mxdMessage(00000000,00000001,00000000,00000000,00000000) 
ret=7e56aaff
0009:Ret  winealsa.drv.mxdMessage() retval=00000001 ret=7e56aaff
0009:Call ntdll.RtlAllocateHeap(00110000,00000000,00000038) ret=7e56ad7c
0009:Ret  ntdll.RtlAllocateHeap() retval=001bece0 ret=7e56ad7c
0009:Call winealsa.drv.midMessage(00000000,00000064,00000000,00000000,00000000) 
ret=7e56aa73
0009:Call ntdll.RtlAllocateHeap(00110000,00000008,000000bc) ret=7dfb10c0


...


0009:Call PE DLL (proc=0x7dfc17b8,module=0x7dfa0000 
L"winealsa.drv",reason=PROCESS_DETACH,res=0x1)
0009:Ret  PE DLL (proc=0x7dfc17b8,module=0x7dfa0000 
L"winealsa.drv",reason=PROCESS_DETACH,res=0x1) retval=1
0009:Call PE DLL (proc=0x7dbe3d34,module=0x7dbb0000 
L"dsound.dll",reason=PROCESS_DETACH,res=0x1)
0009:Ret  PE DLL (proc=0x7dbe3d34,module=0x7dbb0000 
L"dsound.dll",reason=PROCESS_DETACH,res=0x1) retval=1
0009:Call PE DLL (proc=0x7e38e0a4,module=0x7e2c0000 
L"oleaut32.dll",reason=PROCESS_DETACH,res=0x1)
0009:Call KERNEL32.FreeLibrary(792b0000) ret=7e38e08c
0009:Ret  KERNEL32.FreeLibrary() retval=00000001 ret=7e38e08c
0009:Ret  PE DLL (proc=0x7e38e0a4,module=0x7e2c0000 
L"oleaut32.dll",reason=PROCESS_DETACH,res=0x1) retval=1
0009:Call PE DLL (proc=0x7e83c748,module=0x7e830000 
L"olepro32.dll",reason=PROCESS_DETACH,res=0x1)
0009:Ret  PE DLL (proc=0x7e83c748,module=0x7e830000 
L"olepro32.dll",reason=PROCESS_DETACH,res=0x1) retval=1
0009:Call PE DLL (proc=0x7e52ec28,module=0x7e450000 
L"ole32.dll",reason=PROCESS_DETACH,res=0x1)
0009:Call user32.UnregisterClassW(7e531d20 L"OleMainThreadWndClass 0x######## 
",7e450000) ret=7e46368f
0009:Ret  user32.UnregisterClassW() retval=00000001 ret=7e46368f
0009:Call ntdll.RtlFreeHeap(00110000,00000000,08cfd140) ret=7e46167e
0009:Ret  ntdll.RtlFreeHeap() retval=00000001 ret=7e46167e
0009:Call ntdll.RtlFreeHeap(00110000,00000000,04767e78) ret=7e4616a9
0009:Ret  ntdll.RtlFreeHeap() retval=00000001 ret=7e4616a9
0009:Ret  PE DLL (proc=0x7e52ec28,module=0x7e450000 
L"ole32.dll",reason=PROCESS_DETACH,res=0x1) retval=1
0009:Call PE DLL (proc=0x7e411d5c,module=0x7e3c0000 
L"rpcrt4.dll",reason=PROCESS_DETACH,res=0x1)
0009:Ret  PE DLL (proc=0x7e411d5c,module=0x7e3c0000 
L"rpcrt4.dll",reason=PROCESS_DETACH,res=0x1) retval=1
0009:Call PE DLL (proc=0x7e580b48,module=0x7e560000 
L"winmm.dll",reason=PROCESS_DETACH,res=0x1)
0009:Call midimap.modMessage(00000000,00000065,00000000,00000000,00000000) 
ret=7e56ba95
0009:Call ntdll.RtlFreeHeap(00110000,00000000,00150d88) ret=7daddfef
0009:Ret  ntdll.RtlFreeHeap() retval=00000001 ret=7daddfef
0009:Ret  midimap.modMessage() retval=00000001 ret=7e56ba95
0009:Call midimap.DriverProc(00000001,001279d8,00000004,00000000,00000000) 
ret=7e567314
0009:Ret  midimap.DriverProc() retval=00000001 ret=7e567314
0009:Call midimap.DriverProc(00000001,001279d8,00000005,00000000,00000000) 
ret=7e567314
0009:Ret  midimap.DriverProc() retval=00000001 ret=7e567314
0009:Call midimap.DriverProc(00000001,001279d8,00000006,00000000,00000000) 
ret=7e567314
0009:Ret  midimap.DriverProc() retval=00000001 ret=7e567314
0009:Call KERNEL32.FreeLibrary(7dad0000) ret=7e568364
0009:Ret  KERNEL32.FreeLibrary() retval=00000001 ret=7e568364
0009:Call ntdll.RtlFreeHeap(00110000,00000000,001279d8) ret=7e56838f
0009:Ret  ntdll.RtlFreeHeap() retval=00000001 ret=7e56838f
0009:Call msacm32.drv.widMessage(00000000,00000065,00000000,00000000,00000000) 
ret=7e56ba95
0009:Ret  msacm32.drv.widMessage() retval=00000000 ret=7e56ba95
0009:Call msacm32.drv.wodMessage(00000000,00000065,00000000,00000000,00000000) 
ret=7e56ba95
0009:Ret  msacm32.drv.wodMessage() retval=00000000 ret=7e56ba95
0009:Call msacm32.drv.DriverProc(00000001,00115ee8,00000004,00000000,00000000) 
ret=7e567314
0009:Ret  msacm32.drv.DriverProc() retval=00000001 ret=7e567314
0009:Call msacm32.drv.DriverProc(00000001,00115ee8,00000005,00000000,00000000) 
ret=7e567314
0009:Ret  msacm32.drv.DriverProc() retval=00000001 ret=7e567314
0009:Call msacm32.drv.DriverProc(00000001,00115ee8,00000006,00000000,00000000) 
ret=7e567314
0009:Ret  msacm32.drv.DriverProc() retval=00000001 ret=7e567314
0009:Call KERNEL32.FreeLibrary(7de30000) ret=7e568364
0009:Ret  KERNEL32.FreeLibrary() retval=00000001 ret=7e568364
0009:Call ntdll.RtlFreeHeap(00110000,00000000,00115ee8) ret=7e56838f
0009:Ret  ntdll.RtlFreeHeap() retval=00000001 ret=7e56838f
0009:Call winealsa.drv.mxdMessage(00000000,00000065,00000000,00000000,00000000) 
ret=7e56ba95
0009:Call ntdll.RtlDeleteCriticalSection(7dfcaa84) ret=7dfb370d
0009:Ret  ntdll.RtlDeleteCriticalSection() retval=00000000 ret=7dfb370d
0009:Call ntdll.RtlFreeHeap(00110000,00000000,004e2b58) ret=7dfb3778
err:heap:HEAP_ValidateInUseArena Heap 0x110000: block 0x4e2b58 tail overwritten 
at 0x4e3044 (byte 0/12 == 0x44)



Reply via email to