<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40"><head><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=us-ascii"><meta name=Generator content="Microsoft Word 12 (filtered medium)"><!--[if !mso]><style>v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style><![endif]--><style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
p
        {mso-style-priority:99;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
p.ecxmsonormal, li.ecxmsonormal, div.ecxmsonormal
        {mso-style-name:ecxmsonormal;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
p.ecxmsochpdefault, li.ecxmsochpdefault, div.ecxmsochpdefault
        {mso-style-name:ecxmsochpdefault;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
span.ecxmsohyperlink
        {mso-style-name:ecxmsohyperlink;}
span.ecxmsohyperlinkfollowed
        {mso-style-name:ecxmsohyperlinkfollowed;}
span.ecxemailstyle18
        {mso-style-name:ecxemailstyle18;}
p.ecxmsonormal1, li.ecxmsonormal1, div.ecxmsonormal1
        {mso-style-name:ecxmsonormal1;
        mso-margin-top-alt:auto;
        margin-right:0in;
        margin-bottom:0in;
        margin-left:0in;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
span.ecxmsohyperlink1
        {mso-style-name:ecxmsohyperlink1;
        color:blue;
        text-decoration:underline;}
span.ecxmsohyperlinkfollowed1
        {mso-style-name:ecxmsohyperlinkfollowed1;
        color:purple;
        text-decoration:underline;}
span.ecxemailstyle181
        {mso-style-name:ecxemailstyle181;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
p.ecxmsochpdefault1, li.ecxmsochpdefault1, div.ecxmsochpdefault1
        {mso-style-name:ecxmsochpdefault1;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:10.0pt;
        font-family:"Times New Roman","serif";}
span.EmailStyle28
        {mso-style-type:personal-reply;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]--></head><body lang=EN-US link=blue vlink=purple><div class=WordSection1><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>Jay:<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>Ok, I just updated from HEAD and got your latest change to thread test program.<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>Here are two invocations, back to back, each failing in different ways.  <o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>The second one repeats the last error message ad infinitum until you press CNTRL-C to abort.  But note, several different errors reported earlier.<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>Regards,<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>Randy<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Courier New";color:#1F497D'>C:\cm3\Sandbox\m3-libs\m3core\tests\thread>cm3<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Courier New";color:#1F497D'>--- building in NT386 ---<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Courier New";color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Courier New";color:#1F497D'>ignoring ..\src\m3overrides<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Courier New";color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Courier New";color:#1F497D'>new source -> compiling Main.m3<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Courier New";color:#1F497D'>new "Main.mo" -> linking threadtest.exe<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Courier New";color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Courier New";color:#1F497D'>C:\cm3\Sandbox\m3-libs\m3core\tests\thread>cd NT386<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Courier New";color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Courier New";color:#1F497D'>C:\cm3\Sandbox\m3-libs\m3core\tests\thread\NT386>threadtest.exe<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Courier New";color:#1F497D'>Writing file...done<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Courier New";color:#1F497D'>Creating read threads...done<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Courier New";color:#1F497D'>Creating fork threads...done<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Courier New";color:#1F497D'>Creating alloc threads...done<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Courier New";color:#1F497D'>Creating lock threads...done<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Courier New";color:#1F497D'>running...printing oldest/median age/newest<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Courier New";color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Courier New";color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Courier New";color:#1F497D'>***<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Courier New";color:#1F497D'>*** runtime error:<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Courier New";color:#1F497D'>***    <*ASSERT*> failed..<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Courier New";color:#1F497D'>***    file "..\src\runtime\common\RTCollector.m3", line 1086<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Courier New";color:#1F497D'>***<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Courier New";color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Courier New";color:#1F497D'>Stack trace:<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Courier New";color:#1F497D'>   FP         PC      Procedure<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Courier New";color:#1F497D'>---------  ---------  -------------------------------<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Courier New";color:#1F497D'> 0xddfaf0  0x123dffb  CleanBetween + 0x47 in ..\src\runtime\common\RTCollector.m3<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Courier New";color:#1F497D'> 0xddfb34  0x1241870  CheckLoadTracedRef + 0xc5 in ..\src\runtime\common\RTCollector.m3<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Courier New";color:#1F497D'> 0xddfb74  0x121683c  Init + 0x95 in ..\src\rw\FileRd.m3<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Courier New";color:#1F497D'> 0xddfba0  0x121679d  Open + 0x4d in ..\src\rw\FileRd.m3<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Courier New";color:#1F497D'> 0xddfcd8  0x1211288  RApply + 0x78 in ..\src\Main.m3<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Courier New";color:#1F497D'> 0xddfd14  0x123976f  ThreadBase + 0x254 in ..\src\thread\WIN32\ThreadWin32.m3<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Courier New";color:#1F497D'> 0xddfd20  0x76d53677  <???><o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Courier New";color:#1F497D'> 0xddfd60  0x773c9f02  <???><o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Courier New";color:#1F497D'>.........  .........  ... more frames ...<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Courier New";color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Courier New";color:#1F497D'>C:\cm3\Sandbox\m3-libs\m3core\tests\thread\NT386>threadtest.exe<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Courier New";color:#1F497D'>Writing file...done<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Courier New";color:#1F497D'>Creating read threads...done<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Courier New";color:#1F497D'>Creating fork threads...done<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Courier New";color:#1F497D'>Creating alloc threads...done<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Courier New";color:#1F497D'>Creating lock threads...done<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Courier New";color:#1F497D'>running...printing oldest/median age/newest<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Courier New";color:#1F497D'>.<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Courier New";color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Courier New";color:#1F497D'>***<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Courier New";color:#1F497D'>*** runtime error:<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Courier New";color:#1F497D'>***    Attempt to reference an illegal memory location.<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Courier New";color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Courier New";color:#1F497D'>***<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Courier New";color:#1F497D'>*** runtime error:<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Courier New";color:#1F497D'>***    Attempt to reference an illegal memory location.<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Courier New";color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Courier New";color:#1F497D'>***<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Courier New";color:#1F497D'>*** runtime error:<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Courier New";color:#1F497D'>***    Attempt to reference an illegal memory location.<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Courier New";color:#1F497D'>***    pc = 0x12ec5ad = Move + 0x50 in ..\src\runtime\common\RTCollector.m3<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Courier New";color:#1F497D'>***<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Courier New";color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Courier New";color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Courier New";color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Courier New";color:#1F497D'>***<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Courier New";color:#1F497D'>*** runtime error:<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Courier New";color:#1F497D'>***    <*ASSERT*> failed.<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Courier New";color:#1F497D'>***    file "..\src\thread\WIN32\ThreadWin32.m3", line 841<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Courier New";color:#1F497D'>***<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Courier New";color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Courier New";color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Courier New";color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Courier New";color:#1F497D'>***<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Courier New";color:#1F497D'>*** runtime error:<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Courier New";color:#1F497D'>***    <*ASSERT*> failed.<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Courier New";color:#1F497D'>***    file "..\src\thread\WIN32\ThreadWin32.m3", line 841<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Courier New";color:#1F497D'>***</span><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p> </o:p></span></p><div><div style='border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in'><p class=MsoNormal style='margin-left:.5in'><b><span style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'>From:</span></b><span style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'> jayk123@hotmail.com [mailto:jayk123@hotmail.com] <b>On Behalf Of </b>Jay K<br><b>Sent:</b> Wednesday, March 02, 2011 8:18 PM<br><b>To:</b> Coleburn, Randy; m3devel<br><b>Subject:</b> RE: [M3devel] results of threadtest program on Windows7<o:p></o:p></span></p></div></div><p class=MsoNormal style='margin-left:.5in'><o:p> </o:p></p><p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'>Even with the change I made PutCard to PutInt?<br>That's the only failure I've seen.<br>I'll try on a non-virtual dual-proc machine later.<br> <br>Thanks,<br> - Jay<br> <o:p></o:p></span></p><div class=MsoNormal align=center style='margin-left:.5in;text-align:center'><span style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'><hr size=2 width="100%" align=center id=stopSpelling></span></div><p class=MsoNormal style='mso-margin-top-alt:0in;margin-right:0in;margin-bottom:12.0pt;margin-left:.5in'><span style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'>From: rcolebur@SCIRES.COM<br>To: m3devel@elegosoft.com<br>Date: Wed, 2 Mar 2011 19:42:47 -0500<br>Subject: Re: [M3devel] results of threadtest program on Windows7<o:p></o:p></span></p><div><p class=MsoNormal style='margin-left:.5in'><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>Yes, it fails more often than it runs for me.</span><span style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'><o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in'><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>Regards,</span><span style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'><o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in'><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>Randy</span><span style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'><o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in'><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'> </span><span style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'><o:p></o:p></span></p><div><div style='border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in'><p class=MsoNormal style='margin-left:1.0in'><b><span style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'>From:</span></b><span style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'> jayk123@hotmail.com [mailto:jayk123@hotmail.com] <b>On Behalf Of </b>Jay K<br><b>Sent:</b> Tuesday, March 01, 2011 5:59 AM<br><b>To:</b> Mika Nystrom; Coleburn, Randy<br><b>Cc:</b> m3devel<br><b>Subject:</b> RE: [M3devel] results of threadtest program on Windows7<o:p></o:p></span></p></div></div><p class=MsoNormal style='margin-left:1.0in'><span style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'> <o:p></o:p></span></p><p class=MsoNormal style='margin-left:1.0in'><span style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'>I haven't seen it fail on NT, except for PutCard in the test itself getting negative numbers.<br>I've run it just a few times now. One single and dual processor virtual machines.<br>Randy, has it failed many times for you?<br><br> - Jay<br><br>> To: rcolebur@SCIRES.COM<br>> Date: Sun, 27 Feb 2011 15:11:25 -0800<br>> From: mika@async.caltech.edu<br>> CC: m3devel@elegosoft.com<br>> Subject: Re: [M3devel] results of threadtest program on Windows7<br>> <br>> Ah, it just doesn't check command-line arguments that carefully.<br>> <br>> I think what you did is equivalent to "-tests STD".<br>> <br>> Mika<br>> <br>> "Coleburn, Randy" writes:<br>> >Mika:<br>> ><br>> >No change with "-tests POSIX".<br>> ><br>> >Interesting twist: On Windows 7, I thought I'd see what the command line o=<br>> >ptions are, and I typed "threadtest -help" rather than reading the code.<br>> ><br>> >First time, it produced what appears to be a NIL deref crash. Then, I trie=<br>> >d it again and it ran to completion. Something seems non-deterministic her=<br>> >e. See below.<br>> ><br>> >C:\cm3\Sandbox\m3-libs\m3core\tests\thread\NT386>threadtest.exe -help<br>> >Writing file...done<br>> >Creating read threads...done<br>> >Creating fork threads...done<br>> >Creating alloc threads...done<br>> >Creating lock threads...done<br>> >running...printing oldest/median age/newest<br>> >.<br>> ><br>> >***<br>> >*** runtime error:<br>> >*** Attempt to reference an illegal memory location.<br>> >*** pc =3D 0x77762262<br>> >***<br>> ><br>> >Stack trace:<br>> > FP PC Procedure<br>> >--------- --------- -------------------------------<br>> > 0xcdf998 0x130351b SystemError + 0x64 in ..\src\runtime\NT386\RTSignal.m=<br>> >3<br>> > 0xcdf9c0 0x77762262 <???><br>> > 0xcdf9d8 0x12e83b7 LockMutex + 0x4f in ..\src\thread\WIN32\ThreadWin32.m=<br>> >3<br>> > 0xcdfa00 0x12c7b08 GetChar + 0x28 in ..\src\rw\Rd.m3<br>> > 0xcdfb38 0x12c12e3 RApply + 0xd3 in ..\src\Main.m3<br>> > 0xcdfb74 0x12e971f ThreadBase + 0x254 in ..\src\thread\WIN32\ThreadWin32=<br>> >.m3<br>> > 0xcdfb80 0x76543677 <???><br>> > 0xcdfbc0 0x77779f02 <???><br>> >......... ......... ... more frames ...<br>> ><br>> >C:\cm3\Sandbox\m3-libs\m3core\tests\thread\NT386>threadtest.exe -help<br>> >Writing file...done<br>> >Creating read threads...done<br>> >Creating fork threads...done<br>> >Creating alloc threads...done<br>> >Creating lock threads...done<br>> >running...printing oldest/median age/newest<br>> >..........laziest thread is 0/0/0 (tests: read 0/0/0 fork 0/0/0 alloc 0/0/0=<br>> > lock 0/0/0)<br>> >..........laziest thread is 0/0/0 (tests: read 0/0/0 fork 0/0/0 alloc 0/0/0=<br>> > lock 0/0/0)<br>> >..........laziest thread is 0/0/0 (tests: read 0/0/0 fork 0/0/0 alloc 0/0/0=<br>> > lock 0/0/0)<br>> >..........laziest thread is 0/0/0 (tests: read 0/0/0 fork 0/0/0 alloc 0/0/0=<br>> > lock 0/0/0)<br>> >..........laziest thread is 0/0/0 (tests: read 0/0/0 fork 0/0/0 alloc 0/0/0=<br>> > lock 0/0/0)<br>> >..........laziest thread is 0/0/0 (tests: read 0/0/0 fork 0/0/0 alloc 0/0/0=<br>> > lock 0/0/0)<br>> >..........laziest thread is 0/0/0 (tests: read 0/0/0 fork 0/0/0 alloc 0/0/0=<br>> > lock 0/0/0)<br>> >..........laziest thread is 0/0/0 (tests: read 0/0/0 fork 0/0/0 alloc 0/0/0=<br>> > lock 0/0/0)<br>> >..........laziest thread is 0/0/0 (tests: read 0/0/0 fork 0/0/0 alloc 0/0/0=<br>> > lock 0/0/0)<br>> >..........laziest thread is 0/0/0 (tests: read 0/0/0 fork 0/0/0 alloc 0/0/0=<br>> > lock 0/0/0)<br>> >All tests complete. Congratulations.<br>> ><br>> >Regards,<br>> >Randy Coleburn<br>> ><br>> >-----Original Message-----<br>> >From: Mika Nystrom [mailto:mika@async.caltech.edu]=20<br>> >Sent: Sunday, February 27, 2011 3:30 PM<br>> >To: Coleburn, Randy<br>> >Cc: m3devel@elegosoft.com<br>> >Subject: Re: [M3devel] results of threadtest program on Windows7=20<br>> ><br>> >Hi Randy,<br>> ><br>> >You can try it with -tests POSIX as well.<br>> ><br>> >I find on user threads it runs very slowly (but it does run) because of how=<br>> > unfair<br>> >the thread scheduler is.<br>> ><br>> >Next step might be to whittle down the tests and see if you can get a failu=<br>> >re with<br>> >a single test running and -n 2. That would likely be the simplest scenario=<br>> > to<br>> >start further debugging from.<br>> ><br>> > Mika<br>> ><br>> >"Coleburn, Randy" writes:<br>> >>Mika et al:<br>> >><br>> >>Thought I would try something else.<br>> >><br>> >>I took the sources of your thread test program to an older XP machine that=<br>> > =3D<br>> >>has CM3 circa August 2008. This is the machine and implementation I used =<br>> >w=3D<br>> >>hen building a major project I did a couple years back.<br>> >><br>> >>The thread test program does indeed build on this old system, but when I r=<br>> >u=3D<br>> >>n it, I get different results than with the latest HEAD branch code. =3D20<br>> >><br>> >>After it prints "running...printing oldest/median age/newest", on the next=<br>> > =3D<br>> >>line I get two periods ".." and now the program seems hung. I'll let it "=<br>> >r=3D<br>> >>un" for a few more minutes to see if anything else happens before killing =<br>> >i=3D<br>> >>t.<br>> >><br>> >>At least we don't get the subscript and assertion failures on this older C=<br>> >M=3D<br>> >>3 platform.<br>> >><br>> >>Regards,<br>> >>Randy Coleburn<br>> >><br>> >><br>> >>-----Original Message-----<br>> >>From: Coleburn, Randy=3D20<br>> >>Sent: Sunday, February 27, 2011 2:09 PM<br>> >>To: m3devel@elegosoft.com<br>> >>Subject: Re: [M3devel] results of threadtest program on Windows7<br>> >><br>> >>Mika:<br>> >><br>> >>Ok, I've updated to latest HEAD and I've also built Jay's m3sleep program.<br>> >><br>> >>Here is what happens now when I run your threadtest program on Windows 7.<br>> >><br>> >>C:\cm3\Sandbox\m3-libs\m3core\tests\thread\NT386>threadtest -tests ALL,-fo=<br>> >r=3D<br>> >>k<br>> >>Writing file...done<br>> >>Creating read threads...done<br>> >>Creating nxread threads...done<br>> >>Creating tryexcept threads...done<br>> >>Creating forktoomuch threads...done<br>> >>Creating alloc threads...done<br>> >>Creating creat threads...done<br>> >>Creating lock threads...done<br>> >>running...printing oldest/median age/newest<br>> >><br>> >><br>> >>***<br>> >>*** runtime error:<br>> >>*** An array subscript was out of range.<br>> >>*** file "..\src\runtime\common\RTCollector.m3", line 418<br>> >>***<br>> >><br>> >><br>> >><br>> >>***<br>> >>*** runtime error:<br>> >>*** <*ASSERT*> failed.<br>> >>*** file "..\src\thread\WIN32\ThreadWin32.m3", line 841<br>> >>***<br>> >><br>> >>The last error repeats ad infinitum until I press CNTRL-C to abort.<br>> >><br>> >>I'll send more info on the Windows install of Modula3 in a subsequent post=<br>> >.<br>> >><br>> >>Regards,<br>> >>Randy Coleburn<br>> >><br>> >>-----Original Message-----<br>> >>From: Mika Nystrom [mailto:mika@async.caltech.edu]=3D20<br>> >>Sent: Saturday, February 26, 2011 12:55 PM<br>> >>To: Coleburn, Randy<br>> >>Cc: m3devel@elegosoft.com<br>> >>Subject: Re: [M3devel] results of threadtest program on Windows7=3D20<br>> >><br>> >>Hi Randy,<br>> >><br>> >>Hm yes it looks like my Windows programming skills leave something<br>> >>to be desired.<br>> >><br>> >>You can run the thread tester while skipping a test as follows<br>> >><br>> >> threadtest -tests ALL,-fork<br>> >><br>> >>(for instance)<br>> >><br>> >>if you just run=3D20<br>> >><br>> >> threadtest -sadfassdaf<br>> >><br>> >>it'll print the tests that are available.<br>> >><br>> >>As it happens, I just had to upgrade my windows 2000 system to windows 7.<br>> >>Can you give me a very brief description of what you did to install Modula=<br>> >-=3D<br>> >>3<br>> >>on this system?<br>> >><br>> >> Mika<br>> >><br>> >>"Coleburn, Randy" writes:<br>> >>>--_000_D67F02DDC62F7545A6B84C285F88F3E6EE25C849atlex02srv_<br>> >>>Content-Type: text/plain; charset=3D3D"us-ascii"<br>> >>>Content-Transfer-Encoding: quoted-printable<br>> >>><br>> >>>Mika:<br>> >>><br>> >>>I've finally managed to get cm3 rebuilt on Windows 7 again.<br>> >>><br>> >>>So, I ran your threadtest program.<br>> >>><br>> >>>Here are the results. Note the "..." is where I cut out a bunch of the r=<br>> >e=3D<br>> >>p=3D3D<br>> >>>eating "ERROR FApply" messages.<br>> >>><br>> >>>C:\cm3\Sandbox\m3-libs\m3core\tests\thread\NT386>threadtest.exe<br>> >>>Writing file...done<br>> >>>Creating read threads...done<br>> >>>Creating fork threads...done<br>> >>>Creating alloc threads...done<br>> >>>Creating lock threads...done<br>> >>>running...printing oldest/median age/newest<br>> >>>ERROR FApply: OSError.E: ErrorCode=3D3D3D2: The system cannot find the f=<br>> >ile=3D<br>> >> sp=3D3D<br>> >>>ecified.<br>> >>>ERROR FApply: OSError.E: ErrorCode=3D3D3D2: The system cannot find the f=<br>> >ile=3D<br>> >> sp=3D3D<br>> >>>ecified.<br>> >>>ERROR FApply: OSError.E: ErrorCode=3D3D3D2: The system cannot find the f=<br>> >ile=3D<br>> >> sp=3D3D<br>> >>>ecified.<br>> >>>.<br>> >>>.<br>> >>>.<br>> >>>***<br>> >>>*** runtime error:<br>> >>>*** An enumeration or subrange value was out of range.<br>> >>>*** file "..\src\Main.m3", line 340<br>> >>>***<br>> >>><br>> >>>laziest thread is 0/0/ERROR FApply: OSError.E: ErrorCode=3D3D3D2: The sy=<br>> >ste=3D<br>> >>m c=3D3D<br>> >>>annot find the file specified.<br>> >>>ERROR FApply: OSError.E: ErrorCode=3D3D3D2: The system cannot find the f=<br>> >ile=3D<br>> >> sp=3D3D<br>> >>>ecified.<br>> >>>ERROR FApply: OSError.E: ErrorCode=3D3D3D2: The system cannot find the f=<br>> >ile=3D<br>> >> sp=3D3D<br>> >>>ecified.<br>> >>>ERROR FApply: OSError.E: ErrorCode=3D3D3D2: The system cannot find the f=<br>> >ile=3D<br>> >> sp=3D3D<br>> >>>ecified.<br>> >>>.<br>> >>>.<br>> >>>.<br>> >>>laziest thread is 0/0/ERROR FApply: OSError.E: ErrorCode=3D3D3D2: The sy=<br>> >ste=3D<br>> >>m c=3D3D<br>> >>>annot find the file specified.<br>> >>>ERROR FApply: OSError.E: ErrorCode=3D3D3D2: The system cannot find the f=<br>> >ile=3D<br>> >> sp=3D3D<br>> >>>ecified.<br>> >>>ERROR FApply: OSError.E: ErrorCode=3D3D3D2: The system cannot find the f=<br>> >ile=3D<br>> >> sp=3D3D<br>> >>>ecified.<br>> >>>ERROR FApply: OSError.E: ErrorCode=3D3D3D2: The system cannot find the f=<br>> >ile=3D<br>> >> sp=3D3D<br>> >>>ecified.<br>> >>>.<br>> >>>.<br>> >>>.<br>> >>>ERROR FApply: OSError.E: ErrorCode=3D3D3D2: The system cannot find the f=<br>> >ile=3D<br>> >> sp=3D3D<br>> >>>ecified.<br>> >>>ERROR FApply: OSError.E: ErrorCode=3D3D3D2: The system cannot find the f=<br>> >ile=3D<br>> >> sp=3D3D<br>> >>>ecified.<br>> >>>Stack trace:<br>> >>> FP PC Procedure<br>> >>>--------- --------- -------------------------------<br>> >>>0x30fbd0 0x127218a PutStats + 0x1a3 in ..\src\Main.m3<br>> >>>0x30fcc0 0x1273825 Main_M3 + 0x11db(!) in ..\src\Main.m3<br>> >>><br>> >>>Regards,<br>> >>>Randy Coleburn<br>> >>><br>> >>>--_000_D67F02DDC62F7545A6B84C285F88F3E6EE25C849atlex02srv_<br>> >>>Content-Type: text/html; charset=3D3D"us-ascii"<br>> >>>Content-Transfer-Encoding: quoted-printable<br>> >>><o:p></o:p></span></p></div></div></body></html>