On 18/02/18 22:55, Ramsay Jones wrote: > > > On 16/02/18 14:55, Adam Dinwoodie wrote: >> On 12 February 2018 at 08:08, Olga Telezhnaya wrote: >>> Add some tests for new formatting atoms from ref-filter. >>> Some of new atoms are supported automatically, >>> some of them are expanded into empty string >>> (because they are useless for some types of objects), >>> some of them could be supported later in other patches. >> >> This commit appears to be introducing failures in t1006 on Cygwin. >> Specifically, tests 15, 36, 58 and 89, all titled "Check %(refname) >> gives empty output", are failing on the pu branch at 21937aad4, and >> git bisect identifies this commit, 3c1571744 ("cat-file: tests for new >> atoms added", 2018-02-12), as the culprit. > > Hi Adam, Olga, > > Sparse has been complaining about this 'ot/cat-batch-format' branch for > a while, so I had already noted (apart from a symbol which should be > marked as static) something that looked somewhat off - namely, the on > stack initialisation of a 'struct ref_array_item' (builtin/cat-file.c, > line 246, in function batch_object_write()). > > In particular, the 'struct ref_array_item' ends with a [FLEX_ARRAY] field > for the refname, so it clearly isn't meant to be declared on the stack. > The 'ref-filter' code uses a 'constructor' function called 'new_ref_array_\ > item() which, among others, takes a 'refname' parameter with which to > initialise the refname FLEX_ARRAY field. > > So, on Linux, if you build with SANITIZE=address and then run that test: BTW, I forgot to mention that, if you run that test without -i, then more than tests #15,36,58 and 89 will fail. In addition, tests #19-20, #40-41, #62-63 and #93-94 failed - I did not investigate these failures at all. ATB, Ramsay Jones