<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)"><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";}
span.EmailStyle18
        {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'>Yes, it fails more often than it runs for me.<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><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> 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:.5in'><o:p> </o:p></p><p class=MsoNormal style='margin-left:.5in'><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></body></html>