[M3devel] thread tests on NT386 32-bit circa 2008, not good so far

Daniel Alejandro Benavides D. dabenavidesd at yahoo.es
Wed Mar 16 22:11:06 CET 2011


Hi all:
I would be not surprised if its results were wrong crashes but because of the system threading.
Certainly we  would need to discard why the user threads are working so far and system threads are not working, i.e why CVsup is not working there are several idiomatic differences between system threads, each system indeed has its own behavior different from user threads, it certainly makes things portable in that sense to me.
But when ever we have access to one SPIN installation, I guess the program would be no trouble in running, as I think you could even debug it with a dynamic race condition detector, as I read somewhere, they did a catch somewhere in C client libraries linked against RT or better than that to use SPIN m3gdb specially modified for that purpose of remote debugging.
Even with the user threads implementation is not difficult but because of those libraries get into that debugging I believe.
Also we can annotate sources to debug later with ESC, at least its syntax, later more.
The other thing is that we then must need LL pragma which I still don't how to use, so any documentation on that is most welcome.
Yet another option would be catch the system threads in a stack trace able platform like there were before, perhaps this is the most feasible 
Thanks in advance

 

--- El mié, 16/3/11, Coleburn, Randy <rcolebur at SCIRES.COM> escribió:

De: Coleburn, Randy <rcolebur at SCIRES.COM>
Asunto: [M3devel] thread tests on NT386 32-bit circa 2008, not good so far
Para: "m3devel" <m3devel at elegosoft.com>
Fecha: miércoles, 16 de marzo, 2011 13:42

I’ve gone back to a CM3 built on June 21, 2008.Platform is IBM ThinkPad T60, Windows XP Professional, 32-bit.  If I try to put the “@M3paranoidgc” option on the command line, the thread test program always crashes, even before it reports anything about creating the threads.  “read”, “nxread”, “tryexcept”, “fork”, “forktoomuch”, and “lock” tests seem to succeed.  “creat” and “alloc” seem to hang the program on the first iteration.  I see one “.” printed and nothing else.  Have to CTRL-C abort.BUT, if you run them with “@M3nogc” they will run until we run out of memory.  Tony, does this give any hint as to what may be wrong?  Output of the various runs is shown below:    C:\cm3\Sandbox\cm3\m3-libs\m3core\tests\thread\NT386>threadtest.exe -verbose -tests read @M3paranoidgc  ****** runtime error:***    Attempt to reference an illegal memory location.***    pc = 0x42fb8c = AllocTraced + 0x3e in
 ..\src\runtime\common\RTCollector.m3***  ****** runtime error:***    <*ASSERT*> failed.***    file "..\src\thread\WIN32\ThreadWin32.m3", line 845***  ****** runtime error:***    <*ASSERT*> failed.***    file "..\src\thread\WIN32\ThreadWin32.m3", line 845***    C:\cm3\Sandbox\cm3\m3-libs\m3core\tests\thread\NT386>threadtest.exe -verbose -tests allocWriting file...doneCreating alloc threads...   alloc=15   alloc=16   alloc=17donerunning...printing oldest/median age/newest.^C  C:\cm3\Sandbox\cm3\m3-libs\m3core\tests\thread\NT386>threadtest.exe -verbose -tests creatWriting file...doneCreating creat threads...   creat=18   creat=19   creat=20donerunning...printing oldest/median age/newest.^C    C:\cm3\Sandbox\cm3\m3-libs\m3core\tests\thread\NT386>threadtest.exe -verbose -tests creat,alloc @M3nogcWriting file...doneCreating alloc threads...   alloc=15   alloc=16   alloc=17doneCreating creat threads...   creat=18  
 creat=19   creat=20donerunning...printing oldest/median age/newest..........laziest thread is 0/0/0 (tests: alloc 0/0/0 creat 0/0/0)   alloc Thread 15 completed 29204 loops.   alloc Thread 16 completed 38868 loops.   alloc Thread 17 completed 29118 loops.   creat Thread 18 completed 111114 loops.   creat Thread 19 completed 114913 loops.   creat Thread 20 completed 108555 loops...........laziest thread is 0/0/0 (tests: alloc 0/0/0 creat 0/0/0)   alloc Thread 15 completed 6968 loops.   alloc Thread 16 completed 6747 loops.   alloc Thread 17 completed 6331 loops.   creat Thread 18 completed 40626 loops.   creat Thread 19 completed 46526 loops.   creat Thread 20 completed 43511 loops...........laziest thread is 0/0/0 (tests: alloc 0/0/0 creat 0/0/0)   alloc Thread 15 completed 4857 loops.   alloc Thread 16 completed 5409 loops.   alloc Thread 17 completed 4601 loops.   creat Thread 18 completed 50836 loops.   creat
 Thread 19 completed 50108 loops.   creat Thread 20 completed 53645 loops...........laziest thread is 0/0/0 (tests: alloc 0/0/0 creat 0/0/0)   alloc Thread 15 completed 6249 loops.   alloc Thread 16 completed 7252 loops.   alloc Thread 17 completed 6770 loops.   creat Thread 18 completed 62606 loops.   creat Thread 19 completed 66036 loops.   creat Thread 20 completed 62561 loops...........laziest thread is 0/0/0 (tests: alloc 0/0/0 creat 0/0/0)   alloc Thread 15 completed 7000 loops.   alloc Thread 16 completed 7559 loops.   alloc Thread 17 completed 7389 loops.   creat Thread 18 completed 66873 loops.   creat Thread 19 completed 81612 loops.   creat Thread 20 completed 62607 loops...........laziest thread is 0/0/0 (tests: alloc 0/0/0 creat 0/0/0)   alloc Thread 15 completed 6666 loops.   alloc Thread 16 completed 7579 loops.   alloc Thread 17 completed 6964 loops.   creat Thread 18 completed 89667 loops.   creat
 Thread 19 completed 90794 loops.   creat Thread 20 completed 90528 loops......  ****** runtime error:***    NEW() was unable to allocate more memory.***    file "..\src\runtime\common\RTCollector.m3", line 1545***  Stack trace:   FP         PC      Procedure---------  ---------  -------------------------------0x4e7fe34   0x430197  LongAlloc + 0x89 in ..\src\runtime\common\RTCollector.m30x4e7fe90   0x42fd06  AllocTraced + 0x1b8 in ..\src\runtime\common\RTCollector.m30x4e7fed4   0x427ea9  GetOpenArray + 0x80 in ..\src\runtime\common\RTAllocator.m30x4e7fef8   0x427738  AllocateOpenArray + 0x19 in ..\src\runtime\common\RTAllocator.m30x4e7ff50   0x402293  AApply + 0x109 in ..\src\Main.m30x4e7ff88   0x42a34a  RunThread + 0x1f6 in ..\src\thread\WIN32\ThreadWin32.m30x4e7ffb4   0x42a0e3  ThreadBase + 0x3a in ..\src\thread\WIN32\ThreadWin32.m3.........  .........  ... more frames ...  
  C:\cm3\Sandbox\cm3\m3-libs\m3core\tests\thread\NT386>threadtest.exe -verbose -tests read,nxread,tryexcept,fork,forktoomuch,lockWriting file...doneCreating read threads...   read=0   read=1   read=2doneCreating nxread threads...   nxread=3   nxread=4   nxread=5doneCreating tryexcept threads...   tryexcept=6   tryexcept=7   tryexcept=8doneCreating fork threads...   fork=9   fork=0   fork=11doneCreating forktoomuch threads...   forktoomuch=12   forktoomuch=13   forktoomuch=14doneCreating lock threads...   lock=21   lock=22   lock=23donerunning...printing oldest/median age/newest..........laziest thread is 0/0/0 (tests: read 0/0/0 nxread 0/0/0 tryexcept 0/0/0 fork 0/0/0 forktoomuch 0/0/0 lock 0/0/0)   read Thread 0 completed 2 loops.   read Thread 1 completed 6 loops.   read Thread 2 completed 4 loops.   nxread Thread 3 completed 3 loops.   nxread Thread 4 completed 1 loops.   nxread Thread 5 completed 3
 loops.   tryexcept Thread 6 completed 14293296 loops.   tryexcept Thread 7 completed 23332343 loops.   tryexcept Thread 8 completed 14563267 loops.   fork Thread 9 completed 4 loops.   fork Thread 10 completed 4 loops.   fork Thread 11 completed 5 loops.   forktoomuch Thread 12 completed 6 loops.   forktoomuch Thread 13 completed 7 loops.   forktoomuch Thread 14 completed 6 loops.   lock Thread 21 completed 1395 loops.   lock Thread 22 completed 1613 loops.   lock Thread 23 completed 2354 loops...........laziest thread is 0/0/0 (tests: read 0/0/0 nxread 0/0/0 tryexcept 0/0/0 fork 0/0/0 forktoomuch 0/0/0 lock 0/0/0)   read Thread 0 completed 6 loops.   read Thread 1 completed 13 loops.   read Thread 2 completed 5 loops.   nxread Thread 3 completed 8 loops.   nxread Thread 4 completed 7 loops.   nxread Thread 5 completed 10 loops.   tryexcept Thread 6 completed 15350367 loops.   tryexcept Thread 7 completed 22864059
 loops.   tryexcept Thread 8 completed 14516795 loops.   fork Thread 9 completed 6 loops.   fork Thread 10 completed 7 loops.   fork Thread 11 completed 6 loops.   forktoomuch Thread 12 completed 8 loops.   forktoomuch Thread 13 completed 9 loops.   forktoomuch Thread 14 completed 8 loops.   lock Thread 21 completed 3742 loops.   lock Thread 22 completed 2342 loops.   lock Thread 23 completed 3827 loops...........laziest thread is 0/0/0 (tests: read 0/0/0 nxread 0/0/0 tryexcept 0/0/0 fork 0/0/0 forktoomuch 0/0/0 lock 0/0/0)   read Thread 0 completed 5 loops.   read Thread 1 completed 10 loops.   read Thread 2 completed 4 loops.   nxread Thread 3 completed 5 loops.   nxread Thread 4 completed 3 loops.   nxread Thread 5 completed 4 loops.   tryexcept Thread 6 completed 14205335 loops.   tryexcept Thread 7 completed 23955466 loops.   tryexcept Thread 8 completed 14597334 loops.   fork Thread 9 completed 7 loops.  
 fork Thread 10 completed 6 loops.   fork Thread 11 completed 7 loops.   forktoomuch Thread 12 completed 8 loops.   forktoomuch Thread 13 completed 9 loops.   forktoomuch Thread 14 completed 8 loops.   lock Thread 21 completed 1384 loops.   lock Thread 22 completed 3801 loops.   lock Thread 23 completed 4735 loops...........laziest thread is 0/0/0 (tests: read 0/0/0 nxread 0/0/0 tryexcept 0/0/0 fork 0/0/0 forktoomuch 0/0/0 lock 0/0/0)   read Thread 0 completed 5 loops.   read Thread 1 completed 9 loops.   read Thread 2 completed 6 loops.   nxread Thread 3 completed 5 loops.   nxread Thread 4 completed 4 loops.   nxread Thread 5 completed 9 loops.   tryexcept Thread 6 completed 13962901 loops.   tryexcept Thread 7 completed 22999610 loops.   tryexcept Thread 8 completed 14123517 loops.   fork Thread 9 completed 6 loops.   fork Thread 10 completed 6 loops.   fork Thread 11 completed 5 loops.   forktoomuch Thread 12
 completed 7 loops.   forktoomuch Thread 13 completed 8 loops.   forktoomuch Thread 14 completed 8 loops.   lock Thread 21 completed 1744 loops.   lock Thread 22 completed 2095 loops.   lock Thread 23 completed 1503 loops...........laziest thread is 0/0/0 (tests: read 0/0/0 nxread 0/0/0 tryexcept 0/0/0 fork 0/0/0 forktoomuch 0/0/0 lock 0/0/0)   read Thread 0 completed 2 loops.   read Thread 1 completed 6 loops.   read Thread 2 completed 2 loops.   nxread Thread 3 completed 3 loops.   nxread Thread 4 completed 3 loops.   nxread Thread 5 completed 3 loops.   tryexcept Thread 6 completed 15715885 loops.   tryexcept Thread 7 completed 24769727 loops.   tryexcept Thread 8 completed 15414675 loops.   fork Thread 9 completed 7 loops.   fork Thread 10 completed 6 loops.   fork Thread 11 completed 7 loops.   forktoomuch Thread 12 completed 8 loops.   forktoomuch Thread 13 completed 8 loops.   forktoomuch Thread 14 completed
 9 loops.   lock Thread 21 completed 1523 loops.   lock Thread 22 completed 1922 loops.   lock Thread 23 completed 1204 loops...........laziest thread is 0/0/0 (tests: read 0/0/0 nxread 0/0/0 tryexcept 0/0/0 fork 0/0/0 forktoomuch 0/0/0 lock 0/0/0)   read Thread 0 completed 5 loops.   read Thread 1 completed 9 loops.   read Thread 2 completed 6 loops.   nxread Thread 3 completed 4 loops.   nxread Thread 4 completed 2 loops.   nxread Thread 5 completed 8 loops.   tryexcept Thread 6 completed 14688224 loops.   tryexcept Thread 7 completed 23710577 loops.   tryexcept Thread 8 completed 15355622 loops.   fork Thread 9 completed 6 loops.   fork Thread 10 completed 7 loops.   fork Thread 11 completed 6 loops.   forktoomuch Thread 12 completed 8 loops.   forktoomuch Thread 13 completed 9 loops.   forktoomuch Thread 14 completed 7 loops.   lock Thread 21 completed 9427 loops.   lock Thread 22 completed 3941 loops.   lock
 Thread 23 completed 4421 loops...........laziest thread is 0/0/0 (tests: read 0/0/0 nxread 0/0/0 tryexcept 0/0/0 fork 0/0/0 forktoomuch 0/0/0 lock 0/0/0)   read Thread 0 completed 9 loops.   read Thread 1 completed 11 loops.   read Thread 2 completed 6 loops.   nxread Thread 3 completed 7 loops.   nxread Thread 4 completed 5 loops.   nxread Thread 5 completed 9 loops.   tryexcept Thread 6 completed 16315690 loops.   tryexcept Thread 7 completed 25110147 loops.   tryexcept Thread 8 completed 17291322 loops.   fork Thread 9 completed 5 loops.   fork Thread 10 completed 4 loops.   fork Thread 11 completed 5 loops.   forktoomuch Thread 12 completed 8 loops.   forktoomuch Thread 13 completed 9 loops.   forktoomuch Thread 14 completed 8 loops.   lock Thread 21 completed 1648 loops.   lock Thread 22 completed 1274 loops.   lock Thread 23 completed 975 loops...........laziest thread is 0/0/0 (tests: read 0/0/0 nxread 0/0/0
 tryexcept 0/0/0 fork 0/0/0 forktoomuch 0/0/0 lock 0/0/0)   read Thread 0 completed 2 loops.   read Thread 1 completed 6 loops.   read Thread 2 completed 3 loops.   nxread Thread 3 completed 7 loops.   nxread Thread 4 completed 4 loops.   nxread Thread 5 completed 7 loops.   tryexcept Thread 6 completed 16955552 loops.   tryexcept Thread 7 completed 27781696 loops.   tryexcept Thread 8 completed 16151561 loops.   fork Thread 9 completed 4 loops.   fork Thread 10 completed 3 loops.   fork Thread 11 completed 2 loops.   forktoomuch Thread 12 completed 7 loops.   forktoomuch Thread 13 completed 7 loops.   forktoomuch Thread 14 completed 7 loops.   lock Thread 21 completed 2148 loops.   lock Thread 22 completed 2179 loops.   lock Thread 23 completed 1804 loops...........laziest thread is 0/0/0 (tests: read 0/0/0 nxread 0/0/0 tryexcept 0/0/0 fork 0/0/0 forktoomuch 0/0/0 lock 0/0/0)   read Thread 0 completed 7 loops.  
 read Thread 1 completed 5 loops.   read Thread 2 completed 4 loops.   nxread Thread 3 completed 9 loops.   nxread Thread 4 completed 6 loops.   nxread Thread 5 completed 5 loops.   tryexcept Thread 6 completed 14537433 loops.   tryexcept Thread 7 completed 24043303 loops.   tryexcept Thread 8 completed 14258976 loops.   fork Thread 9 completed 6 loops.   fork Thread 10 completed 7 loops.   fork Thread 11 completed 6 loops.   forktoomuch Thread 12 completed 8 loops.   forktoomuch Thread 13 completed 8 loops.   forktoomuch Thread 14 completed 8 loops.   lock Thread 21 completed 6504 loops.   lock Thread 22 completed 2290 loops.   lock Thread 23 completed 7696 loops...........laziest thread is 0/0/0 (tests: read 0/0/0 nxread 0/0/0 tryexcept 0/0/0 fork 0/0/0 forktoomuch 0/0/0 lock 0/0/0)   read Thread 0 completed 5 loops.   read Thread 1 completed 6 loops.   read Thread 2 completed 2 loops.   nxread Thread 3 completed
 4 loops.   nxread Thread 4 completed 1 loops.   nxread Thread 5 completed 3 loops.   tryexcept Thread 6 completed 17349384 loops.   tryexcept Thread 7 completed 29845941 loops.   tryexcept Thread 8 completed 17792587 loops.   fork Thread 9 completed 5 loops.   fork Thread 10 completed 5 loops.   fork Thread 11 completed 6 loops.   forktoomuch Thread 12 completed 8 loops.   forktoomuch Thread 13 completed 9 loops.   forktoomuch Thread 14 completed 9 loops.   lock Thread 21 completed 2692 loops.   lock Thread 22 completed 4498 loops.   lock Thread 23 completed 3600 loops.All tests complete.  Congratulations.  C:\cm3\Sandbox\cm3\m3-libs\m3core\tests\thread\NT386>  Regards,Randy Coleburn  


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


More information about the M3devel mailing list