[M3devel] Juno/Win32 heap corruption

Tony Hosking hosking at cs.purdue.edu
Wed Oct 21 15:51:16 CEST 2009


Can you not set a HW watchpoint to check for the location being  
overwritten with the bogus pointer?
Also, better to run with @M3paranoidgc so you catch it in the heap  
sanity checks (which check to make sure that pointers really look like  
pointers) rather than some arbitrary place.

Antony Hosking | Associate Professor | Computer Science | Purdue  
University
305 N. University Street | West Lafayette | IN 47907 | USA
Office +1 765 494 6001 | Mobile +1 765 427 5484




On 21 Oct 2009, at 06:21, Jay K wrote:

> I thought this was gone, but now I'm still seeing occasional heap  
> corruption in Juno on Win32.
> It has the same signature of accessing 001ffffc.
>
>
> (adc.f8): Access violation - code c0000005 (first chance)
> First chance exceptions are reported before any exception handling.
> This exception may be expected and handled.
> eax=00000001 ebx=00200000 ecx=00000000 edx=005cf3f8 esi=001ffffc  
> edi=02040018
> eip=005cf449 esp=0012f89c ebp=0012f8d4 iopl=0         nv up ei pl nz  
> ac pe nc
> cs=001b  ss=0023  ds=0023  es=0023  fs=003b  gs=0000              
> efl=00010216
> *** WARNING: Unable to verify checksum for C:\cm3\bin\m3core.dll
> m3core!RTCollector__Move+0x51:
> 005cf449 8b5e00          mov     ebx,dword ptr [esi]  ds: 
> 0023:001ffffc=????????
> 0:000> r esi
> esi=001ffffc
> 0:000> k
> ChildEBP RetAddr
> 0012f8d4 005cb121 m3core!RTCollector__Move+0x51 [..\src\runtime 
> \common\RTCollector.m3 @ 409]
> 0012f918 005ca9fa m3core!RTHeapMap__Walk+0x467 [..\src\runtime\common 
> \RTHeapMap.m3 @ 202]
> 0012f93c 005ca990 m3core!RTHeapMap__DoWalkRef+0x62 [..\src\runtime 
> \common\RTHeapMap.m3 @ 62]
> 0012f968 005d0fae m3core!RTHeapMap__WalkRef+0x100 [..\src\runtime 
> \common\RTHeapMap.m3 @ 47]
> 0012f990 005d0df6 m3core!RTCollector__CleanBetween+0xec [..\src 
> \runtime\common\RTCollector.m3 @ 1090]
> 0012f9b8 005d076f m3core!RTCollector__CleanPage+0x55 [..\src\runtime 
> \common\RTCollector.m3 @ 1063]
> 0012fa0c 005d01ef m3core!RTCollector__CollectSomeInStateZero+0x544  
> [..\src\runtime\common\RTCollector.m3 @ 884]
> 0012fa20 005cfe86 m3core!RTCollector__CollectSome+0x6e [..\src 
> \runtime\common\RTCollector.m3 @ 719]
> 0012fa64 005c802c m3core!RTHeapRep__CollectEnough+0x9b [..\src 
> \runtime\common\RTCollector.m3 @ 654]
> 0012faa4 005c7466 m3core!RTAllocator__AllocTraced+0xd7 [..\src 
> \runtime\common\RTAllocator.m3 @ 366]
> 0012fad8 005c7100 m3core!RTAllocator__GetTracedRef+0x8c [..\src 
> \runtime\common\RTAllocator.m3 @ 202]
> 0012fafc 0051d1ae m3core!RTHooks__AllocateTracedRef+0x15 [..\src 
> \runtime\common\RTAllocator.m3 @ 113]
> 0012fb44 1002c564 m3!AtomRefTbl__Put+0x250 [..\NT386\AtomRefTbl.m3 @  
> 127]
> 0012fb74 0041fcf5 juno_compiler!JunoScope__Bind+0x79 [..\src 
> \JunoScope.m3 @ 114]
> 0012fbc8 00420b88 Juno!Editor__Pass1+0xe3b [..\src\Editor.m3 @ 711]
> 0012fc84 00420a30 Juno!Editor__Compile2+0x148 [..\src\Editor.m3 @ 812]
> 0012fcb8 004447f1 Juno!Editor__Compile+0x53 [..\src\Editor.m3 @ 793]
> 0012fcf8 00452244 Juno!Juno__CompileEditor+0x2c [..\src\Juno.m3 @ 140]
> 0012fd58 004532b6 Juno!Juno__CompileFile+0xb8 [..\src\Juno.m3 @ 1897]
> 0012fed4 005d8d64 Juno!Juno_M3+0x9d8 [..\src\Juno.m3 @ 2068]
>
>
>
>
>
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://m3lists.elegosoft.com/pipermail/m3devel/attachments/20091021/c69517df/attachment-0002.html>


More information about the M3devel mailing list