DF-5704 / fixtest.userland.log
=== FIXED BUILD (propfix = proporig + fix.diff) === == control: a1=["x"] vs a2=["y"] (types match, equals false by value) == [child] built a1/a2, calling prop_array_equals... [child] equals -> 0 [child] calling prop_array_add (wrlock on a1)... [child] add returned TRUE (no wedge) -> child exited 0: add() completed == buggy: a1=["x"] vs a2=[5] (type mismatch at depth 1) == [child] built a1/a2, calling prop_array_equals... [child] equals -> 0 [child] calling prop_array_add (wrlock on a1)... [child] add returned TRUE (no wedge) -> child exited 0: add() completed DF-5704 wedge result: not reproduced fixed wedge exit=0 == leak: 17-deep chains, type mismatch at leaf == (each prop_array_equals() abandons exactly one malloc'd _prop_stack_extern_elem) [start] after 0 equals(): ru_maxrss = 0 kB [leak] after 100000 equals(): ru_maxrss = 1008 kB [leak] after 200000 equals(): ru_maxrss = 1008 kB [leak] after 300000 equals(): ru_maxrss = 1008 kB [leak] after 400000 equals(): ru_maxrss = 1008 kB -> if ru_maxrss climbed ~ 18750 kB, the extern elements leaked fixed leak exit=0