Re: [PATCH v2] die(): stop hiding errors due to overzealous recursion guard

2017-06-24 Thread Junio C Hamano
Jeff King writes: >> One case I'd be worried about would be that the race is so bad that >> die-is-recursing-builtin never returns 0 even once. Everybody will >> just say "recursing" and die, without giving any useful information. > > I was trying to think how that would happen. If nobody's actu

Re: [PATCH v2] die(): stop hiding errors due to overzealous recursion guard

2017-06-24 Thread Jeff King
On Wed, Jun 21, 2017 at 02:32:16PM -0700, Junio C Hamano wrote: > Ævar Arnfjörð Bjarmason writes: > > > So let's just set the recursion limit to a number higher than the > > number of threads we're ever likely to spawn. Now we won't lose > > errors, and if we have a recursing die handler we'll

Re: [PATCH v2] die(): stop hiding errors due to overzealous recursion guard

2017-06-21 Thread Ævar Arnfjörð Bjarmason
On Wed, Jun 21 2017, Morten Welinder jotted: > If threading is the issue, how do you get meaningful results from > reading and updating > "dying" with no use of atomic types or locks? Other than winning the > implied race, of > course. Threading isn't the issue. The issue is that we have an ove

Re: [PATCH v2] die(): stop hiding errors due to overzealous recursion guard

2017-06-21 Thread Junio C Hamano
Ævar Arnfjörð Bjarmason writes: > So let's just set the recursion limit to a number higher than the > number of threads we're ever likely to spawn. Now we won't lose > errors, and if we have a recursing die handler we'll still die within > microseconds. > > There are race conditions in this code

Re: [PATCH v2] die(): stop hiding errors due to overzealous recursion guard

2017-06-21 Thread Morten Welinder
If threading is the issue, how do you get meaningful results from reading and updating "dying" with no use of atomic types or locks? Other than winning the implied race, of course. M. On Wed, Jun 21, 2017 at 4:47 PM, Ævar Arnfjörð Bjarmason wrote: > Change the recursion limit for the default d

Re: [PATCH v2] die(): stop hiding errors due to overzealous recursion guard

2017-06-21 Thread Stefan Beller
On Wed, Jun 21, 2017 at 1:47 PM, Ævar Arnfjörð Bjarmason wrote: > Change the recursion limit for the default die routine from a *very* > low 1 to 1024. This ensures that infinite recursions are broken, but > doesn't lose the meaningful error messages under threaded execution > where threads concur

[PATCH v2] die(): stop hiding errors due to overzealous recursion guard

2017-06-21 Thread Ævar Arnfjörð Bjarmason
Change the recursion limit for the default die routine from a *very* low 1 to 1024. This ensures that infinite recursions are broken, but doesn't lose the meaningful error messages under threaded execution where threads concurrently start to die. The intent of the existing code, as explained in co