From mboxrd@z Thu Jan 1 00:00:00 1970 MIME-Version: 1.0 Date: Fri, 24 May 2013 14:57:56 -0700 Message-ID: From: Skip Tavakkolian To: Fans of the OS Plan 9 from Bell Labs <9fans@9fans.net> Content-Type: multipart/mixed; boundary=089e0153894c41ff2604dd7de426 Subject: [9fans] Go testing and resource exhaustion Topicbox-Message-UUID: 5b63fc36-ead8-11e9-9d60-3106f5b1d025 --089e0153894c41ff2604dd7de426 Content-Type: multipart/alternative; boundary=089e0153894c41ff2204dd7de424 --089e0153894c41ff2204dd7de424 Content-Type: text/plain; charset=ISO-8859-1 This is just an FYI. I'm seeing something that looks to me like a resource exhaustion of some sort. When running the standard test (i.e. go test std), some tests are broken (see below); but test of each "broken" package/cmd/etc, passes correctly. I thought it might be related to semaphores, but the attached program didn't fail at all; in fact running 100 simultaneously caused nothing more than several temporary "Fault" states, but none broken. partial output of ps: fst 83379 0:00 0:00 240K Await run.rc -e ./run.rc --no-rebuild fst 83385 0:00 0:00 48K Await time go test std -short -timeout 120s fst 83386 0:04 0:07 797488K Semacqui go test std -short -timeout 120s fst 83387 0:00 0:00 797488K Semacqui go fst 83388 0:00 0:00 797488K Tsemacqu go fst 83389 0:00 0:00 797488K Semacqui go fst 83399 0:00 0:00 797488K Pread go fst 83401 0:00 0:00 797488K Pread go fst 83403 0:00 0:01 797488K Semacqui go fst 83404 0:00 0:00 797488K Pread go fst 83405 0:00 0:00 797488K Semacqui go fst 83406 0:00 0:01 797488K Pread go fst 83407 0:00 0:00 797488K Semacqui go fst 83426 0:00 0:00 797488K Semacqui go fst 83437 0:00 0:00 794320K Sleep api.test fst 83453 0:00 0:00 794528K Broken tar.test fst 83497 0:00 0:00 793628K Sleep bzip2.test fst 83499 0:00 0:00 793628K Broken bzip2.test fst 83532 0:00 0:00 794328K Sleep lzw.test fst 83533 0:00 0:00 794328K Broken lzw.test fst 84100 0:00 0:00 795204K Sleep template.test fst 84101 0:00 0:00 795204K Semacqui template.test fst 84102 0:00 0:00 795204K Broken template.test --089e0153894c41ff2204dd7de424 Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable
This is just an FYI.

=
I'm seeing something that looks to me like a resource exhaus= tion of some sort. When running the standard test (i.e. go test std), some = tests are broken (see below); but test of each "broken" package/c= md/etc, passes correctly.

I thought it might be related to semaphores= , but the attached program didn't fail at all; in fact running 100 simu= ltaneously caused nothing more than several temporary "Fault" sta= tes, but none broken.=A0

partial output of ps:

<= div>fst =A0 =A0 =A0 =A0 =A0 83379 =A0 =A00:00 =A0 0:00 =A0 =A0 =A0240K Awai= t =A0 =A0run.rc -e ./run.rc --no-rebuild
fst =A0 =A0 =A0 =A0 =A0 = 83385 =A0 =A00:00 =A0 0:00 =A0 =A0 =A0 48K Await =A0 =A0time go test std -s= hort -timeout 120s
fst =A0 =A0 =A0 =A0 =A0 83386 =A0 =A00:04 =A0 0:07 =A0 797488K Semacqu= i go test std -short -timeout 120s
fst =A0 =A0 =A0 =A0 =A0 83387 = =A0 =A00:00 =A0 0:00 =A0 797488K Semacqui go
fst =A0 =A0 =A0 =A0 = =A0 83388 =A0 =A00:00 =A0 0:00 =A0 797488K Tsemacqu go
fst =A0 =A0 =A0 =A0 =A0 83389 =A0 =A00:00 =A0 0:00 =A0 797488K Semacqu= i go
fst =A0 =A0 =A0 =A0 =A0 83399 =A0 =A00:00 =A0 0:00 =A0 79748= 8K Pread =A0 =A0go
fst =A0 =A0 =A0 =A0 =A0 83401 =A0 =A00:00 =A0 = 0:00 =A0 797488K Pread =A0 =A0go
fst =A0 =A0 =A0 =A0 =A0 83403 = =A0 =A00:00 =A0 0:01 =A0 797488K Semacqui go
fst =A0 =A0 =A0 =A0 =A0 83404 =A0 =A00:00 =A0 0:00 =A0 797488K Pread = =A0 =A0go
fst =A0 =A0 =A0 =A0 =A0 83405 =A0 =A00:00 =A0 0:00 =A0 = 797488K Semacqui go
fst =A0 =A0 =A0 =A0 =A0 83406 =A0 =A00:00 =A0= 0:01 =A0 797488K Pread =A0 =A0go
fst =A0 =A0 =A0 =A0 =A0 83407 = =A0 =A00:00 =A0 0:00 =A0 797488K Semacqui go
fst =A0 =A0 =A0 =A0 =A0 83426 =A0 =A00:00 =A0 0:00 =A0 797488K Semacqu= i go
fst =A0 =A0 =A0 =A0 =A0 83437 =A0 =A00:00 =A0 0:00 =A0 79432= 0K Sleep =A0 =A0api.test
fst =A0 =A0 =A0 =A0 =A0 83453 =A0 =A00:0= 0 =A0 0:00 =A0 794528K Broken =A0 tar.test
fst =A0 =A0 =A0 =A0 = =A0 83497 =A0 =A00:00 =A0 0:00 =A0 793628K Sleep =A0 =A0bzip2.test
fst =A0 =A0 =A0 =A0 =A0 83499 =A0 =A00:00 =A0 0:00 =A0 793628K Broken = =A0 bzip2.test
fst =A0 =A0 =A0 =A0 =A0 83532 =A0 =A00:00 =A0 0:00= =A0 794328K Sleep =A0 =A0lzw.test
fst =A0 =A0 =A0 =A0 =A0 83533 = =A0 =A00:00 =A0 0:00 =A0 794328K Broken =A0 lzw.test
fst =A0 =A0 =A0 =A0 =A0 84100 =A0 =A00:00 =A0 0:00 =A0 795204K Sleep = =A0 =A0template.test
fst =A0 =A0 =A0 =A0 =A0 84101 =A0 =A00:00 = =A0 0:00 =A0 795204K Semacqui template.test
fst =A0 =A0 =A0 =A0 = =A0 84102 =A0 =A00:00 =A0 0:00 =A0 795204K Broken =A0 template.test

--089e0153894c41ff2204dd7de424-- --089e0153894c41ff2604dd7de426 Content-Type: application/octet-stream; name="goroutines.go" Content-Disposition: attachment; filename="goroutines.go" Content-Transfer-Encoding: base64 X-Attachment-Id: f_hh3wuol20 cGFja2FnZSBtYWluCgppbXBvcnQgKAoJImZtdCIKCSJtYXRoL3JhbmQiCikKCmZ1bmMgcHJvZHVj ZShjaCBjaGFuPC0gaW50LCBuIGludCkgewoJZm9yIGkgOj0gMDsgaSA8IG47IGkrKyB7CgkJY2gg PC0gaQoJfQoKfQoKZnVuYyBjb25zdW1lKGNoIDwtY2hhbiBpbnQpIHsKCWZvciBpIDo9IHJhbmdl IGNoIHsKCQlpZiBpICUgMTAwID09IDAgewoJCQlmbXQuUHJpbnRsbihpKQoJCX0KCX0KfQoKZnVu YyBidXN5d29yayhuIGludCwgZG9uZSBjaGFuPC0gYm9vbCkgewoJY2ggOj0gbWFrZShjaGFuIGlu dCkKCWdvIHByb2R1Y2UoY2gsIG4pCgljb25zdW1lKGNoKQoJZG9uZSA8LSB0cnVlCn0KCmNvbnN0 IE4gPSAxMDAwCgpmdW5jIG1haW4oKSB7CglyIDo9IHJhbmQuTmV3KHJhbmQuTmV3U291cmNlKDEw MDAwMDApKQoJZG9uZSA6PSBtYWtlKGNoYW4gYm9vbCkKCWZvciBpIDo9IDA7IGkgPCBOOyBpKysg ewoJCWdvIGJ1c3l3b3JrKHIuSW50KCksIGRvbmUpCgl9Cglmb3IgaSA6PSAwOyBpIDwgTjsgaSsr IHsKCQk8LWRvbmUKCX0KfQo= --089e0153894c41ff2604dd7de426--