[M3devel] debugging paranoidgc?

Jay K jay.krell at cornell.edu
Sat Oct 31 17:07:29 CET 2009


ok, it's not always 12 bytes in and 4b4. but anyway..

Tony does this make sense? And the atached?

I seem to have it failing on an almost consistent address now.

So I set write breakpoints "around" it.

The object is often at 0x1cf0008.

So I set write breakpoints at 0x1cf0000, 0x1cf0004, 0x1cf0008.

All the writes are within RTCollector.

Hm. Or so I thought. The first few are not always.

Surely some of the writes are correct.

And some are not?

I attached a debugging log.

 

It just goes like:

bp main

g

 ba w4 0x1cf0000 "k;g"

 ba w4 0x1cf0004 "k;g"

 ba w4 0x1cf0008 "k;g"

g

 

I also tried:

 ba w4 0x1cf0008 "~*k;g"

 etc.

to get all stacks but it didn't seem useful.

You know, what if two threads touch an address at about the same time?

The debugger might be ambiguous. But it seems nothing else was nearby.

 

 

 - Jay



 


From: jay.krell at cornell.edu
To: hosking at cs.purdue.edu; m3devel at elegosoft.com
Date: Sat, 31 Oct 2009 14:21:43 +0000
Subject: Re: [M3devel] debugging paranoidgc?



The pointer is always 12 bytes into a page.
The typecode is always 0x4b4. I'll see what type that is.
 
 - Jay

 


From: jay.krell at cornell.edu
To: hosking at cs.purdue.edu; m3devel at elegosoft.com
Date: Sat, 31 Oct 2009 13:40:30 +0000
Subject: [M3devel] debugging paranoidgc?



I'm not sure why/what-changed and maybe this is good, maybe this is bad, but Juno is now crashing for me every time on Windows with @paranoidgc. Tips to debug it?
 
 
Microsoft (R) Windows Debugger Version 6.9.0003.113 X86
Copyright (c) Microsoft Corporation. All rights reserved.
CommandLine: C:\cm3\bin\Juno.exe @M3no-trestle-await-delete @M3paranoidgc
Symbol search path is: SRV*C:\symbols*http://msdl.microsoft.com/download/symbols
Executable search path is:
ModLoad: 00400000 004c7000   Juno.exe
ModLoad: 7c900000 7c9b2000   ntdll.dll
ModLoad: 7c800000 7c8f6000   C:\WINDOWS2\system32\kernel32.dll
ModLoad: 10000000 10063000   C:\cm3\bin\juno-compiler.dll
ModLoad: 00330000 00360000   C:\cm3\bin\juno-machine.dll
ModLoad: 004d0000 005bc000   C:\cm3\bin\m3.dll
ModLoad: 005c0000 00e36000   C:\cm3\bin\m3core.dll
ModLoad: 5d090000 5d12a000   C:\WINDOWS2\system32\comctl32.dll
ModLoad: 77dd0000 77e6b000   C:\WINDOWS2\system32\ADVAPI32.dll
ModLoad: 77e70000 77f02000   C:\WINDOWS2\system32\RPCRT4.dll
ModLoad: 77fe0000 77ff1000   C:\WINDOWS2\system32\Secur32.dll
ModLoad: 77f10000 77f59000   C:\WINDOWS2\system32\GDI32.dll
ModLoad: 7e410000 7e4a1000   C:\WINDOWS2\system32\USER32.dll
ModLoad: 77c10000 77c68000   C:\WINDOWS2\system32\MSVCRT.dll
ModLoad: 71ad0000 71ad9000   C:\WINDOWS2\system32\wsock32.dll
ModLoad: 71ab0000 71ac7000   C:\WINDOWS2\system32\WS2_32.dll
ModLoad: 71aa0000 71aa8000   C:\WINDOWS2\system32\WS2HELP.dll
ModLoad: 5b860000 5b8b5000   C:\WINDOWS2\system32\netapi32.dll
ModLoad: 00360000 003b8000   C:\cm3\bin\m3formsvbt.dll
ModLoad: 003c0000 003ce000   C:\cm3\bin\m3formsvbtpixmaps.dll
ModLoad: 00e40000 00f14000   C:\cm3\bin\m3vbtkit.dll
ModLoad: 00f20000 00fd5000   C:\cm3\bin\m3ui.dll
ModLoad: 003d0000 003d6000   C:\cm3\bin\videovbt.dll
ModLoad: 003e0000 003e5000   C:\cm3\bin\jvideo.dll
ModLoad: 003f0000 003f9000   C:\cm3\bin\web.dll
ModLoad: 00fe0000 00fed000   C:\cm3\bin\m3tcp.dll
ModLoad: 00ff0000 0101d000   C:\cm3\bin\m3netobj.dll
ModLoad: 76390000 763ad000   C:\WINDOWS2\system32\IMM32.DLL
ModLoad: 629c0000 629c9000   C:\WINDOWS2\system32\LPK.DLL
ModLoad: 74d90000 74dfb000   C:\WINDOWS2\system32\USP10.dll
ModLoad: 74720000 7476c000   C:\WINDOWS2\system32\MSCTF.dll
ModLoad: 77c00000 77c08000   C:\WINDOWS2\system32\version.dll
ModLoad: 755c0000 755ee000   C:\WINDOWS2\system32\msctfime.ime
ModLoad: 774e0000 7761d000   C:\WINDOWS2\system32\ole32.dll
ModLoad: 77120000 771ab000   C:\WINDOWS2\system32\OLEAUT32.DLL

***
*** runtime error:
***    <*ASSERT*> failed.
***    file "..\src\runtime\common\RTCollector.m3", line 1729
***
Stack trace:
   FP         PC      Procedure
---------  ---------  -------------------------------
 0x12f700   0x5d2a4f  CleanOlderRefSanityCheck + 0xa2 in ..\src\runtime\common\R
TCollector.m3
 0x12f744   0x5cb101  Walk + 0x467 in ..\src\runtime\common\RTHeapMap.m3
 0x12f768   0x5ca9da  DoWalkRef + 0x62 in ..\src\runtime\common\RTHeapMap.m3
 0x12f78c   0x5ca9b5  DoWalkRef + 0x3d in ..\src\runtime\common\RTHeapMap.m3
 0x12f7b8   0x5ca970  WalkRef + 0x100 in ..\src\runtime\common\RTHeapMap.m3
 0x12f7f4   0x5d266b  SanityCheck + 0x1ec in ..\src\runtime\common\RTCollector.m
3
 0x12f80c   0x5d2471  After + 0x1b in ..\src\runtime\common\RTCollector.m3
 0x12f82c   0x5cb7d8  InvokeMonitors + 0x143 in ..\src\runtime\common\RTHeapRep.
m3
 0x12f860   0x5d0b13  CollectSomeInStateFive + 0x265 in ..\src\runtime\common\RT
Collector.m3
 0x12f874   0x5d01c1  CollectSome + 0xa0 in ..\src\runtime\common\RTCollector.m3
.........  .........  ... more frames ...
(d40.9d8): Break instruction exception - code 80000003 (first chance)
eax=00000001 ebx=000006c1 ecx=0000d8df edx=7c90e514 esi=0012f4f0 edi=005e5d8b
eip=7c90120e esp=0012f4d8 ebp=0012f4f0 iopl=0         nv up ei pl nz na po nc
cs=001b  ss=0023  ds=0023  es=0023  fs=003b  gs=0000             efl=00000202
ntdll!DbgBreakPoint:
7c90120e cc              int     3
0:000> .lines
Line number information will be loaded
0:000> ~*k999
.  0  Id: d40.9d8 Suspend: 1 Teb: 7ffdf000 Unfrozen
ChildEBP RetAddr
0012f4d4 005e5dd7 ntdll!DbgBreakPoint
0012f4f0 005dc2ce m3core!RTOS__Crash+0x4c [..\src\runtime\WIN32\RTOS.m3 @ 29]
0012f508 005da01e m3core!RTProcess__Crash+0x68 [..\src\runtime\common\RTProcess.
m3 @ 66]
0012f520 005d9d32 m3core!RTError__EndError+0x37 [..\src\runtime\common\RTError.m
3 @ 118]
0012f538 005da5f1 m3core!RTError__MsgS+0x8d [..\src\runtime\common\RTError.m3 @
40]
0012f580 005da371 m3core!RTException__Crash+0x1ee [..\src\runtime\common\RTExcep
tion.m3 @ 79]
0012f5b8 005da2d1 m3core!RTException__DefaultBackstop+0x6f [..\src\runtime\commo
n\RTException.m3 @ 39]
0012f5d4 005e7823 m3core!RTException__InvokeBackstop+0x28 [..\src\runtime\common
\RTException.m3 @ 25]
0012f600 005da3fb m3core!RTException__Raise+0x63 [..\src\runtime\ex_frame\RTExFr
ame.m3 @ 29]
0012f630 005da2d1 m3core!RTException__DefaultBackstop+0xf9 [..\src\runtime\commo
n\RTException.m3 @ 47]
0012f64c 005e7823 m3core!RTException__InvokeBackstop+0x28 [..\src\runtime\common
\RTException.m3 @ 25]
0012f678 005c5559 m3core!RTException__Raise+0x63 [..\src\runtime\ex_frame\RTExFr
ame.m3 @ 29]
0012f6bc 005d765d m3core!RTHooks__ReportFault+0x93 [..\src\runtime\common\RTHook
s.m3 @ 110]
0012f6cc 005d2a4f m3core!MM_RTCollector_CRASH+0x11 [..\src\runtime\common\RTColl
ector.m3 @ 393]
0012f700 005cb101 m3core!RTCollector__CleanOlderRefSanityCheck+0xa2 [..\src\runt
ime\common\RTCollector.m3 @ 1730]
0012f744 005ca9da m3core!RTHeapMap__Walk+0x467 [..\src\runtime\common\RTHeapMap.
m3 @ 202]
0012f768 005ca9b5 m3core!RTHeapMap__DoWalkRef+0x62 [..\src\runtime\common\RTHeap
Map.m3 @ 62]
0012f78c 005ca970 m3core!RTHeapMap__DoWalkRef+0x3d [..\src\runtime\common\RTHeap
Map.m3 @ 57]
0012f7b8 005d266b m3core!RTHeapMap__WalkRef+0x100 [..\src\runtime\common\RTHeapM
ap.m3 @ 47]
0012f7f4 005d2471 m3core!RTCollector__SanityCheck+0x1ec [..\src\runtime\common\R
TCollector.m3 @ 1658]
0012f80c 005cb7d8 m3core!RTCollector__After+0x1b [..\src\runtime\common\RTCollec
tor.m3 @ 1630]
0012f82c 005d0b13 m3core!RTHeapRep__InvokeMonitors+0x143 [..\src\runtime\common\
RTHeapRep.m3 @ 59]
0012f860 005d01c1 m3core!RTCollector__CollectSomeInStateFive+0x265 [..\src\runti
me\common\RTCollector.m3 @ 983]
0012f874 005cfe26 m3core!RTCollector__CollectSome+0xa0 [..\src\runtime\common\RT
Collector.m3 @ 724]
0012f8b8 005c802c m3core!RTHeapRep__CollectEnough+0x9b [..\src\runtime\common\RT
Collector.m3 @ 654]
0012f8f8 005c7643 m3core!RTAllocator__AllocTraced+0xd7 [..\src\runtime\common\RT
Allocator.m3 @ 366]
0012f92c 005c713d m3core!RTAllocator__GetTracedObj+0x8c [..\src\runtime\common\R
TAllocator.m3 @ 224]
0012f950 1000f8a8 m3core!RTHooks__AllocateTracedObj+0x15 [..\src\runtime\common\
RTAllocator.m3 @ 120]
0012f994 0041fd5b juno_compiler!JunoCompile__ProcDecl+0x1de [..\src\JunoCompile.
m3 @ 254]
0012f9cc 00420909 Juno!Editor__Pass2+0x216 [..\src\Editor.m3 @ 730]
0012fa80 004207a1 Juno!Editor__Compile2+0x158 [..\src\Editor.m3 @ 813]
0012fab4 00444391 Juno!Editor__Compile+0x53 [..\src\Editor.m3 @ 793]
0012faf4 004445c6 Juno!Juno__CompileEditor+0x2c [..\src\Juno.m3 @ 140]
0012fb94 00445017 Juno!Juno__CompileModule+0x14a [..\src\Juno.m3 @ 174]
0012fd54 0045494c Juno!Juno__CompileModules+0x2e5 [..\src\Juno.m3 @ 263]
0012fed4 005d8cf4 Juno!Juno_M3+0x251e [..\src\Juno.m3 @ 2134]
0012ff18 005d82cc m3core!RTLinker__RunMainBody+0x25a [..\src\runtime\common\RTLi
nker.m3 @ 399]
0012ff30 005d8375 m3core!RTLinker__AddUnitI+0xf7 [..\src\runtime\common\RTLinker
.m3 @ 113]
0012ff54 00401038 m3core!RTLinker__AddUnit+0xa1 [..\src\runtime\common\RTLinker.
m3 @ 122]
0012ff70 004ba44f Juno!main+0x38 [_m3main.mc @ 4]
0012ffc0 7c817077 Juno!mainCRTStartup+0xff
0012fff0 00000000 kernel32!BaseProcessStart+0x23
   1  Id: d40.fdc Suspend: 1 Teb: 7ffde000 Unfrozen
ChildEBP RetAddr
01a0ff84 7c90df4a ntdll!KiFastSystemCallRet
01a0ff88 5b891374 ntdll!ZwWaitForMultipleObjects+0xc
01a0ffb4 7c80b729 netapi32!NetbiosWaiter+0x73
01a0ffec 00000000 kernel32!BaseThreadStart+0x37
   2  Id: d40.e08 Suspend: 2 Teb: 7ffdd000 Unfrozen
ChildEBP RetAddr
01b0fecc 7e4191be ntdll!KiFastSystemCallRet
01b0fef4 00f2cb35 USER32!NtUserGetMessage+0xc
01b0ff4c 005eaade m3ui!WinTrestle__MessengerApply+0x272 [..\src\winvbt\WinTrestl
e.m3 @ 2448]
01b0ff8c 005ea8fe m3core!ThreadWin32__RunThread+0x195 [..\src\thread\WIN32\Threa
dWin32.m3 @ 524]
01b0ffb4 7c80b729 m3core!ThreadWin32__ThreadBase+0x33 [..\src\thread\WIN32\Threa
dWin32.m3 @ 504]
01b0ffec 00000000 kernel32!BaseThreadStart+0x37
0:000>



Out of ignorance I might try to remove Trestle uses and see if it still crashes.
But that might also be difficult.
(I did remove the filewatcher and metermaid threads.)
 
 
 - Jay
 		 	   		  
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://m3lists.elegosoft.com/pipermail/m3devel/attachments/20091031/223cf336/attachment-0002.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 1.log
Type: application/octet-stream
Size: 25716 bytes
Desc: not available
URL: <http://m3lists.elegosoft.com/pipermail/m3devel/attachments/20091031/223cf336/attachment-0002.obj>


More information about the M3devel mailing list