|| at Jan 23, 2013 at 7:20 am
On Tuesday, January 22, 2013 8:48:11 PM UTC+4, minux wrote:
What does it mean when a test run with -race dies with:
FATAL: Reached goroutine limit
It seems the limit is defined in the race .syso. What is the limit? Can
it be made higher? Any other info?
const int kMaxGoroutinesEver = 128*1024;
and rebuild the syso by following
(note: you really need to use the specified gcc version if the build fails)
Yes, you can increase it by changing the constant and recompiling.
This is unfortunate consequence of the fact that race detector uses Go
runtime unique increasing goroutine indices as identifiers (https://code.google.com/p/go/issues/detail?id=4286).
I will try to fix it before Go 1.1.
Btw, do yo hit it on a test or on a real program? If it is a program, was
it serving infinite stream of requests? If it's a test, then you can
consider decreasing data set size or some other constants, because the race
detector does not need heavy stress tests to detect bugs.