|
From: Albert S. <fu...@gm...> - 2011-07-28 21:33:40
|
Hello On Thu, Jul 28, 2011 at 10:46 PM, Alexander Potapenko <gl...@go...> wrote: > For example, goroutines may be tricky to mirror in a straightforward > way (using threads), because there can be thousands of them, while > Valgrind has a strict limit for the number of threads. > Second, they use segmented stacks in Go, which are extended if needed. > Valgrind does not know about this and may be confused (I suppose the > segfaults in your report could denote the demand for increasing the > stack size) On this note, I see Valgrind has three client requests that might be useful: VALGRIND_STACK_REGISTER VALGRIND_STACK_DEREGISTER VALGRIND_STACK_CHANGE Adding these to the Go runtime should be relatively straight-forward. However, the documentation at http://valgrind.org/docs/manual/manual-core-adv.html#manual-core-adv.clientreq says: Warning: Unfortunately, this client request is unreliable and best avoided. Is this still the case with Valgrind in SVN? If so, is this something that could be fixed relatively easily or are there dragons here? Regards Albert |