New GHashTable implementation confuses valgrind
From a downstream bug report: https://bugzilla.redhat.com/show_bug.cgi?id=1693156
which had been reported against Evolution. After some tests I ended with this conclusion:
<cite>
I wanted to try with something smaller, for which I picked gedit-3.28.1-1 (for simplicity with the test machine I used). I used this command:
$ G_SLICE=always-malloc valgrind --leak-check=full --num-callers=30 --show-leak-kinds=definite gedit
and when it started I pressed: a b c <Alt+F4> <Tab> <Space>
The results with glib2-2.56.4-1 are:
==871== LEAK SUMMARY:
==871== definitely lost: 29,134 bytes in 39 blocks
==871== indirectly lost: 65,307 bytes in 2,711 blocks
==871== possibly lost: 7,011 bytes in 74 blocks
==871== still reachable: 4,217,229 bytes in 51,976 blocks
==871== of which reachable via heuristic:
==871== length64 : 14,496 bytes in 213 blocks
==871== newarray : 2,432 bytes in 72 blocks
==871== suppressed: 0 bytes in 0 blocks
The results with glib2-2.60.0-3 are:
==1466== LEAK SUMMARY:
==1466== definitely lost: 115,442 bytes in 2,228 blocks
==1466== indirectly lost: 200,862 bytes in 5,603 blocks
==1466== possibly lost: 6,051 bytes in 55 blocks
==1466== still reachable: 3,900,214 bytes in 47,193 blocks
==1466== of which reachable via heuristic:
==1466== length64 : 14,496 bytes in 213 blocks
==1466== newarray : 2,432 bytes in 72 blocks
==1466== suppressed: 0 bytes in 0 blocks
which is significantly more. The only change between the two runs was a call to dnf update ./glib2-*.rpm
(which updated glib2, glib2-devel and glib2-doc). Nothing else changed.
</cite>