[M3devel] thread tests on NT386 32-bt
Tony Hosking
hosking at cs.purdue.edu
Thu Mar 17 01:13:47 CET 2011
OK, good. So I think this is definitely a threads/GC interaction. Should be diagnosable from here out.
On Mar 16, 2011, at 6:34 PM, Coleburn, Randy wrote:
> Tony asked:
> I don't remember how stable the collector was at that point. Running them with @M3nogc indicates there were problems with it.
> Now, what happens with the current trunk head when run with @M3nogc?
>
> Here you go:
>
> The alloc & create tests ran 9 iterations before running out of memory.
>
> The other tests ran to completion.
>
> See below (these tests run on IBM G40, XP Pro, 32-bit, against current HEAD branch):
>
> C:\cm3\Sandbox\cm3\m3-libs\m3core\tests\thread\NT386>threadtest.exe -verbose -tests alloc,creat @M3nogc
> Writing file...done
> Creating alloc threads...
> alloc=15
> alloc=16
> alloc=17
> done
> Creating creat threads...
> creat=18
> creat=19
> creat=20
> done
> running...printing oldest/median age/newest
> ..........laziest thread is 0/0/0 (tests: alloc 0/0/0 creat 0/0/0)
> alloc Thread 15 completed 32400 loops.
> alloc Thread 16 completed 48840 loops.
> alloc Thread 17 completed 36525 loops.
> creat Thread 18 completed 25 loops.
> creat Thread 19 completed 28 loops.
> creat Thread 20 completed 27 loops.
> ..........laziest thread is 0/0/0 (tests: alloc 0/0/0 creat 0/0/0)
> alloc Thread 15 completed 5850 loops.
> alloc Thread 16 completed 8310 loops.
> alloc Thread 17 completed 8910 loops.
> creat Thread 18 completed 19 loops.
> creat Thread 19 completed 20 loops.
> creat Thread 20 completed 21 loops.
> ..........laziest thread is 0/0/0 (tests: alloc 0/0/0 creat 0/0/0)
> alloc Thread 15 completed 8505 loops.
> alloc Thread 16 completed 11805 loops.
> alloc Thread 17 completed 13170 loops.
> creat Thread 18 completed 27 loops.
> creat Thread 19 completed 26 loops.
> creat Thread 20 completed 27 loops.
> ..........laziest thread is 0/0/0 (tests: alloc 0/0/0 creat 0/0/0)
> alloc Thread 15 completed 7035 loops.
> alloc Thread 16 completed 13080 loops.
> alloc Thread 17 completed 5010 loops.
> creat Thread 18 completed 19 loops.
> creat Thread 19 completed 21 loops.
> creat Thread 20 completed 19 loops.
> ..........laziest thread is 0/0/0 (tests: alloc 0/0/0 creat 0/0/0)
> alloc Thread 15 completed 10260 loops.
> alloc Thread 16 completed 5445 loops.
> alloc Thread 17 completed 6390 loops.
> creat Thread 18 completed 21 loops.
> creat Thread 19 completed 23 loops.
> creat Thread 20 completed 23 loops.
> ..........laziest thread is 0/0/0 (tests: alloc 0/0/0 creat 0/0/0)
> alloc Thread 15 completed 3240 loops.
> alloc Thread 16 completed 12405 loops.
> alloc Thread 17 completed 6975 loops.
> creat Thread 18 completed 24 loops.
> creat Thread 19 completed 25 loops.
> creat Thread 20 completed 23 loops.
> ..........laziest thread is 0/0/0 (tests: alloc 0/0/0 creat 0/0/0)
> alloc Thread 15 completed 7410 loops.
> alloc Thread 16 completed 6090 loops.
> alloc Thread 17 completed 8670 loops.
> creat Thread 18 completed 17 loops.
> creat Thread 19 completed 17 loops.
> creat Thread 20 completed 17 loops.
> ..........laziest thread is 0/0/0 (tests: alloc 0/0/0 creat 0/0/0)
> alloc Thread 15 completed 6105 loops.
> alloc Thread 16 completed 7425 loops.
> alloc Thread 17 completed 10155 loops.
> creat Thread 18 completed 14 loops.
> creat Thread 19 completed 17 loops.
> creat Thread 20 completed 17 loops.
> ..........laziest thread is 0/0/0 (tests: alloc 0/0/0 creat 0/0/0)
> alloc Thread 15 completed 17160 loops.
> alloc Thread 16 completed 13365 loops.
> alloc Thread 17 completed 13785 loops.
> creat Thread 18 completed 17 loops.
> creat Thread 19 completed 16 loops.
> creat Thread 20 completed 17 loops.
> ......
>
> ***
> *** runtime error:
> *** NEW() was unable to allocate more memory.
>
> ***
> *** runtime error:
> *** NEW() was unable to allocate more memory.
>
> ***
> *** runtime error:
> *** NEW() was unable to allocate more memory.
>
> ***
> *** runtime error:
> *** NEW() was unable to allocate more memory.
> *** file "..\src\runtime\common\RuntimeError.m3", line 63
> ***
>
> *** file "..\src\runtime\common\RuntimeError.m3", line 63
> ***
> .
> *** file "..\src\runtime\common\RuntimeError.m3", line 63
> ***
>
> *** file "..\src\runtime\common\RuntimeError.m3", line 63
> ***
>
> Stack trace:
> FP PC Procedure
> --------- --------- -------------------------------
> 0xf7fefc 0x44c572 Raise + 0x3f in ..\src\runtime\common\RuntimeError.m3
> 0xf7ff1c 0x428712 AllocateOpenArray + 0x33 in ..\src\runtime\common\RTAllocator.m3
> 0xf7ff78 0x402430 AApply + 0x128 in ..\src\Main.m3
> 0xf7ffb4 0x42b56f ThreadBase + 0x254 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,lock @M3nogc
> Writing file...done
> Creating read threads...
> read=0
> read=1
> read=2
> done
> Creating nxread threads...
> nxread=3
> nxread=4
> nxread=5
> done
> Creating tryexcept threads...
> tryexcept=6
> tryexcept=7
> tryexcept=8
> done
> Creating fork threads...
> fork=9
> fork=0
> fork=11
> done
> Creating forktoomuch threads...
> forktoomuch=12
> forktoomuch=13
> forktoomuch=14
> done
> Creating lock threads...
> lock=21
> lock=22
> lock=23
> done
> running...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 98 loops.
> read Thread 1 completed 101 loops.
> read Thread 2 completed 98 loops.
> nxread Thread 3 completed 63 loops.
> nxread Thread 4 completed 64 loops.
> nxread Thread 5 completed 64 loops.
> tryexcept Thread 6 completed 1106827 loops.
> tryexcept Thread 7 completed 1056963 loops.
> tryexcept Thread 8 completed 1124363 loops.
> fork Thread 9 completed 3 loops.
> fork Thread 10 completed 3 loops.
> fork Thread 11 completed 3 loops.
> forktoomuch Thread 12 completed 5 loops.
> forktoomuch Thread 13 completed 5 loops.
> forktoomuch Thread 14 completed 4 loops.
> lock Thread 21 completed 902314 loops.
> lock Thread 22 completed 873503 loops.
> lock Thread 23 completed 946840 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 108 loops.
> read Thread 1 completed 105 loops.
> read Thread 2 completed 108 loops.
> nxread Thread 3 completed 68 loops.
> nxread Thread 4 completed 70 loops.
> nxread Thread 5 completed 67 loops.
> tryexcept Thread 6 completed 1197135 loops.
> tryexcept Thread 7 completed 1248635 loops.
> tryexcept Thread 8 completed 1263743 loops.
> fork Thread 9 completed 4 loops.
> fork Thread 10 completed 4 loops.
> fork Thread 11 completed 4 loops.
> forktoomuch Thread 12 completed 6 loops.
> forktoomuch Thread 13 completed 7 loops.
> forktoomuch Thread 14 completed 7 loops.
> lock Thread 21 completed 1156474 loops.
> lock Thread 22 completed 1007509 loops.
> lock Thread 23 completed 1072164 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 91 loops.
> read Thread 1 completed 101 loops.
> read Thread 2 completed 99 loops.
> nxread Thread 3 completed 67 loops.
> nxread Thread 4 completed 63 loops.
> nxread Thread 5 completed 64 loops.
> tryexcept Thread 6 completed 1212286 loops.
> tryexcept Thread 7 completed 1115613 loops.
> tryexcept Thread 8 completed 1124737 loops.
> fork Thread 9 completed 4 loops.
> fork Thread 10 completed 5 loops.
> fork Thread 11 completed 4 loops.
> forktoomuch Thread 12 completed 8 loops.
> forktoomuch Thread 13 completed 8 loops.
> forktoomuch Thread 14 completed 7 loops.
> lock Thread 21 completed 1058176 loops.
> lock Thread 22 completed 979426 loops.
> lock Thread 23 completed 1068972 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 103 loops.
> read Thread 1 completed 105 loops.
> read Thread 2 completed 105 loops.
> nxread Thread 3 completed 63 loops.
> nxread Thread 4 completed 63 loops.
> nxread Thread 5 completed 61 loops.
> tryexcept Thread 6 completed 1132672 loops.
> tryexcept Thread 7 completed 1186707 loops.
> tryexcept Thread 8 completed 1136861 loops.
> fork Thread 9 completed 4 loops.
> fork Thread 10 completed 4 loops.
> fork Thread 11 completed 4 loops.
> forktoomuch Thread 12 completed 6 loops.
> forktoomuch Thread 13 completed 6 loops.
> forktoomuch Thread 14 completed 7 loops.
> lock Thread 21 completed 794204 loops.
> lock Thread 22 completed 1171670 loops.
> lock Thread 23 completed 992164 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 88 loops.
> read Thread 1 completed 93 loops.
> read Thread 2 completed 105 loops.
> nxread Thread 3 completed 60 loops.
> nxread Thread 4 completed 63 loops.
> nxread Thread 5 completed 64 loops.
> tryexcept Thread 6 completed 1213622 loops.
> tryexcept Thread 7 completed 1169506 loops.
> tryexcept Thread 8 completed 1220576 loops.
> fork Thread 9 completed 3 loops.
> fork Thread 10 completed 3 loops.
> fork Thread 11 completed 3 loops.
> forktoomuch Thread 12 completed 5 loops.
> forktoomuch Thread 13 completed 6 loops.
> forktoomuch Thread 14 completed 6 loops.
> lock Thread 21 completed 947532 loops.
> lock Thread 22 completed 1046220 loops.
> lock Thread 23 completed 886815 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 104 loops.
> read Thread 1 completed 104 loops.
> read Thread 2 completed 104 loops.
> nxread Thread 3 completed 69 loops.
> nxread Thread 4 completed 68 loops.
> nxread Thread 5 completed 68 loops.
> tryexcept Thread 6 completed 1225537 loops.
> tryexcept Thread 7 completed 1158824 loops.
> tryexcept Thread 8 completed 1185900 loops.
> fork Thread 9 completed 4 loops.
> fork Thread 10 completed 5 loops.
> fork Thread 11 completed 4 loops.
> forktoomuch Thread 12 completed 8 loops.
> forktoomuch Thread 13 completed 7 loops.
> forktoomuch Thread 14 completed 6 loops.
> lock Thread 21 completed 1116802 loops.
> lock Thread 22 completed 1028306 loops.
> lock Thread 23 completed 1130454 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 107 loops.
> read Thread 1 completed 110 loops.
> read Thread 2 completed 112 loops.
> nxread Thread 3 completed 63 loops.
> nxread Thread 4 completed 63 loops.
> nxread Thread 5 completed 63 loops.
> tryexcept Thread 6 completed 1156252 loops.
> tryexcept Thread 7 completed 1094847 loops.
> tryexcept Thread 8 completed 1199661 loops.
> fork Thread 9 completed 3 loops.
> fork Thread 10 completed 3 loops.
> fork Thread 11 completed 4 loops.
> forktoomuch Thread 12 completed 7 loops.
> forktoomuch Thread 13 completed 7 loops.
> forktoomuch Thread 14 completed 7 loops.
> lock Thread 21 completed 746279 loops.
> lock Thread 22 completed 1069667 loops.
> lock Thread 23 completed 1045028 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 98 loops.
> read Thread 1 completed 99 loops.
> read Thread 2 completed 96 loops.
> nxread Thread 3 completed 64 loops.
> nxread Thread 4 completed 60 loops.
> nxread Thread 5 completed 63 loops.
> tryexcept Thread 6 completed 1185205 loops.
> tryexcept Thread 7 completed 1175381 loops.
> tryexcept Thread 8 completed 1114031 loops.
> fork Thread 9 completed 4 loops.
> fork Thread 10 completed 5 loops.
> fork Thread 11 completed 4 loops.
> forktoomuch Thread 12 completed 6 loops.
> forktoomuch Thread 13 completed 7 loops.
> forktoomuch Thread 14 completed 6 loops.
> lock Thread 21 completed 1053691 loops.
> lock Thread 22 completed 1009143 loops.
> lock Thread 23 completed 966082 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 111 loops.
> read Thread 1 completed 110 loops.
> read Thread 2 completed 101 loops.
> nxread Thread 3 completed 64 loops.
> nxread Thread 4 completed 65 loops.
> nxread Thread 5 completed 64 loops.
> tryexcept Thread 6 completed 1130609 loops.
> tryexcept Thread 7 completed 1160042 loops.
> tryexcept Thread 8 completed 1110365 loops.
> fork Thread 9 completed 4 loops.
> fork Thread 10 completed 4 loops.
> fork Thread 11 completed 5 loops.
> forktoomuch Thread 12 completed 7 loops.
> forktoomuch Thread 13 completed 7 loops.
> forktoomuch Thread 14 completed 7 loops.
> lock Thread 21 completed 682298 loops.
> lock Thread 22 completed 1124977 loops.
> lock Thread 23 completed 960154 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 62 loops.
> read Thread 1 completed 65 loops.
> read Thread 2 completed 62 loops.
> nxread Thread 3 completed 45 loops.
> nxread Thread 4 completed 42 loops.
> nxread Thread 5 completed 42 loops.
> tryexcept Thread 6 completed 1569234 loops.
> tryexcept Thread 7 completed 1553679 loops.
> tryexcept Thread 8 completed 1511503 loops.
> fork Thread 9 completed 1 loops.
> fork Thread 10 completed 2 loops.
> fork Thread 11 completed 2 loops.
> forktoomuch Thread 12 completed 4 loops.
> forktoomuch Thread 13 completed 4 loops.
> forktoomuch Thread 14 completed 4 loops.
> lock Thread 21 completed 1311441 loops.
> lock Thread 22 completed 1309196 loops.
> lock Thread 23 completed 1418347 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/40c031b5/attachment-0002.html>
More information about the M3devel
mailing list