<font color='black' size='2' face='arial'><font size="2"><br>
This is what I get after including the pixman 0.34 symbols. Most of the Uninitialised value errors are gone. Only a few remain. I should probably update to Ubuntu18.04 next and stay a little more current.<br>
<br>
Eric<br>
<br>
==24063== Memcheck, a memory error detector<br>
==24063== Copyright (C) 2002-2015, and GNU GPL'd, by Julian Seward et al.<br>
==24063== Using Valgrind-3.11.0 and LibVEX; rerun with -h for copyright info<br>
==24063== Command: ./cairo_test2<br>
==24063== <br>
Cairo Version 1.15.10<br>
==24063== Conditional jump or move depends on uninitialised value(s)<br>
==24063==    at 0x4610AAE: core_combine_over_u_sse2_mask (pixman-sse2.c:587)<br>
==24063==    by 0x4610AAE: sse2_combine_over_u (pixman-sse2.c:738)<br>
==24063==    by 0x4588D25: general_composite_rect (pixman-general.c:223)<br>
==24063==    by 0x43DA4EA: pixman_image_composite32 (pixman.c:700)<br>
==24063==    by 0x406BFB9: _inplace_spans (cairo-image-compositor.c:2520)<br>
==24063==    by 0x40BA70F: blit_a1 (cairo-tor-scan-converter.c:1712)<br>
==24063==    by 0x40BA70F: glitter_scan_converter_render (cairo-tor-scan-converter.c:1797)<br>
==24063==    by 0x40BA70F: _cairo_tor_scan_converter_generate (cairo-tor-scan-converter.c:1857)<br>
==24063==    by 0x40AA97D: composite_polygon.isra.8 (cairo-spans-compositor.c:801)<br>
==24063==    by 0x40AB4CE: clip_and_composite_polygon (cairo-spans-compositor.c:967)<br>
==24063==    by 0x40AC071: _cairo_spans_compositor_stroke (cairo-spans-compositor.c:1083)<br>
==24063==    by 0x405D746: _cairo_compositor_stroke (cairo-compositor.c:157)<br>
==24063==    by 0x40717CA: _cairo_image_surface_stroke (cairo-image-surface.c:966)<br>
==24063==    by 0x40B048A: _cairo_surface_stroke (cairo-surface.c:2377)<br>
==24063==    by 0x4067221: _cairo_gstate_stroke (cairo-gstate.c:1188)<br>
==24063==  Uninitialised value was created by a stack allocation<br>
==24063==    at 0x4588832: general_composite_rect (pixman-general.c:129)<br>
==24063== <br>
==24063== Conditional jump or move depends on uninitialised value(s)<br>
==24063==    at 0x4611B7A: core_combine_over_u_sse2_mask (pixman-sse2.c:649)<br>
==24063==    by 0x4611B7A: sse2_combine_over_u (pixman-sse2.c:738)<br>
==24063==    by 0x4588D25: general_composite_rect (pixman-general.c:223)<br>
==24063==    by 0x43DA4EA: pixman_image_composite32 (pixman.c:700)<br>
==24063==    by 0x406BFB9: _inplace_spans (cairo-image-compositor.c:2520)<br>
==24063==    by 0x40BA70F: blit_a1 (cairo-tor-scan-converter.c:1712)<br>
==24063==    by 0x40BA70F: glitter_scan_converter_render (cairo-tor-scan-converter.c:1797)<br>
==24063==    by 0x40BA70F: _cairo_tor_scan_converter_generate (cairo-tor-scan-converter.c:1857)<br>
==24063==    by 0x40AA97D: composite_polygon.isra.8 (cairo-spans-compositor.c:801)<br>
==24063==    by 0x40AB4CE: clip_and_composite_polygon (cairo-spans-compositor.c:967)<br>
==24063==    by 0x40AC071: _cairo_spans_compositor_stroke (cairo-spans-compositor.c:1083)<br>
==24063==    by 0x405D746: _cairo_compositor_stroke (cairo-compositor.c:157)<br>
==24063==    by 0x40717CA: _cairo_image_surface_stroke (cairo-image-surface.c:966)<br>
==24063==    by 0x40B048A: _cairo_surface_stroke (cairo-surface.c:2377)<br>
==24063==    by 0x4067221: _cairo_gstate_stroke (cairo-gstate.c:1188)<br>
==24063==  Uninitialised value was created by a stack allocation<br>
==24063==    at 0x4588832: general_composite_rect (pixman-general.c:129)<br>
==24063== <br>
==24063== Uninitialised byte(s) found during client check request<br>
==24063==    at 0x405ED8E: _cairo_debug_check_image_surface_is_defined (cairo-debug.c:139)<br>
==24063==    by 0x40AFDDD: _cairo_surface_acquire_source_image (cairo-surface.c:2059)<br>
==24063==    by 0x40F89DD: write_png (cairo-png.c:194)<br>
==24063==    by 0x40F9525: cairo_surface_write_to_png (cairo-png.c:391)<br>
==24063==    by 0x8048F41: main (cairo_test2.c:59)<br>
==24063==  Address 0x4a9ad9c is 176,964 bytes inside a block of size 640,000 alloc'd<br>
==24063==    at 0x402E0B8: calloc (in /usr/lib/valgrind/vgpreload_memcheck-x86-linux.so)<br>
==24063==    by 0x45141E1: create_bits (pixman-bits-image.c:935)<br>
==24063==    by 0x4514253: _pixman_bits_image_init (pixman-bits-image.c:955)<br>
==24063==    by 0x4514419: create_bits_image_internal (pixman-bits-image.c:1005)<br>
==24063==    by 0x4514466: pixman_image_create_bits (pixman-bits-image.c:1024)<br>
==24063==    by 0x4072021: _cairo_image_surface_create_with_pixman_format (cairo-image-surface.c:349)<br>
==24063==    by 0x407228C: cairo_image_surface_create (cairo-image-surface.c:401)<br>
==24063==    by 0x8048BD9: main (cairo_test2.c:28)<br>
==24063==  Uninitialised value was created by a stack allocation<br>
==24063==    at 0x4588832: general_composite_rect (pixman-general.c:129)<br>
==24063== <br>
Status 0<br>
==24063== <br>
==24063== HEAP SUMMARY:<br>
==24063==     in use at exit: 6,192 bytes in 6 blocks<br>
==24063==   total heap usage: 108 allocs, 102 frees, 1,047,518 bytes allocated<br>
==24063== <br>
==24063== 1,032 bytes in 1 blocks are still reachable in loss record 1 of 6<br>
==24063==    at 0x402C17C: malloc (in /usr/lib/valgrind/vgpreload_memcheck-x86-linux.so)<br>
==24063==    by 0x458A9CD: _pixman_implementation_create (pixman-implementation.c:38)<br>
==24063==    by 0x4588E11: _pixman_implementation_create_general (pixman-general.c:248)<br>
==24063==    by 0x458B11D: _pixman_choose_implementation (pixman-implementation.c:393)<br>
==24063==    by 0x43D92F6: pixman_constructor (pixman.c:39)<br>
==24063==    by 0x400F464: call_init.part.0 (dl-init.c:72)<br>
==24063==    by 0x400F58D: call_init (dl-init.c:30)<br>
==24063==    by 0x400F58D: _dl_init (dl-init.c:120)<br>
==24063==    by 0x4000A5E: ??? (in /lib/i386-linux-gnu/ld-2.23.so)<br>
==24063== <br>
==24063== 1,032 bytes in 1 blocks are still reachable in loss record 2 of 6<br>
==24063==    at 0x402C17C: malloc (in /usr/lib/valgrind/vgpreload_memcheck-x86-linux.so)<br>
==24063==    by 0x458A9CD: _pixman_implementation_create (pixman-implementation.c:38)<br>
==24063==    by 0x45872F2: _pixman_implementation_create_fast_path (pixman-fast-path.c:3288)<br>
==24063==    by 0x458B141: _pixman_choose_implementation (pixman-implementation.c:396)<br>
==24063==    by 0x43D92F6: pixman_constructor (pixman.c:39)<br>
==24063==    by 0x400F464: call_init.part.0 (dl-init.c:72)<br>
==24063==    by 0x400F58D: call_init (dl-init.c:30)<br>
==24063==    by 0x400F58D: _dl_init (dl-init.c:120)<br>
==24063==    by 0x4000A5E: ??? (in /lib/i386-linux-gnu/ld-2.23.so)<br>
==24063== <br>
==24063== 1,032 bytes in 1 blocks are still reachable in loss record 3 of 6<br>
==24063==    at 0x402C17C: malloc (in /usr/lib/valgrind/vgpreload_memcheck-x86-linux.so)<br>
==24063==    by 0x458A9CD: _pixman_implementation_create (pixman-implementation.c:38)<br>
==24063==    by 0x46105ED: _pixman_implementation_create_mmx (pixman-mmx.c:4115)<br>
==24063==    by 0x454BB81: _pixman_x86_get_implementations (pixman-x86.c:234)<br>
==24063==    by 0x458B152: _pixman_choose_implementation (pixman-implementation.c:398)<br>
==24063==    by 0x43D92F6: pixman_constructor (pixman.c:39)<br>
==24063==    by 0x400F464: call_init.part.0 (dl-init.c:72)<br>
==24063==    by 0x400F58D: call_init (dl-init.c:30)<br>
==24063==    by 0x400F58D: _dl_init (dl-init.c:120)<br>
==24063==    by 0x4000A5E: ??? (in /lib/i386-linux-gnu/ld-2.23.so)<br>
==24063== <br>
==24063== 1,032 bytes in 1 blocks are still reachable in loss record 4 of 6<br>
==24063==    at 0x402C17C: malloc (in /usr/lib/valgrind/vgpreload_memcheck-x86-linux.so)<br>
==24063==    by 0x458A9CD: _pixman_implementation_create (pixman-implementation.c:38)<br>
==24063==    by 0x471D5F6: _pixman_implementation_create_sse2 (pixman-sse2.c:6471)<br>
==24063==    by 0x454BBB9: _pixman_x86_get_implementations (pixman-x86.c:239)<br>
==24063==    by 0x458B152: _pixman_choose_implementation (pixman-implementation.c:398)<br>
==24063==    by 0x43D92F6: pixman_constructor (pixman.c:39)<br>
==24063==    by 0x400F464: call_init.part.0 (dl-init.c:72)<br>
==24063==    by 0x400F58D: call_init (dl-init.c:30)<br>
==24063==    by 0x400F58D: _dl_init (dl-init.c:120)<br>
==24063==    by 0x4000A5E: ??? (in /lib/i386-linux-gnu/ld-2.23.so)<br>
==24063== <br>
==24063== 1,032 bytes in 1 blocks are still reachable in loss record 5 of 6<br>
==24063==    at 0x402C17C: malloc (in /usr/lib/valgrind/vgpreload_memcheck-x86-linux.so)<br>
==24063==    by 0x458A9CD: _pixman_implementation_create (pixman-implementation.c:38)<br>
==24063==    by 0x471F727: _pixman_implementation_create_ssse3 (pixman-ssse3.c:345)<br>
==24063==    by 0x454BBF1: _pixman_x86_get_implementations (pixman-x86.c:244)<br>
==24063==    by 0x458B152: _pixman_choose_implementation (pixman-implementation.c:398)<br>
==24063==    by 0x43D92F6: pixman_constructor (pixman.c:39)<br>
==24063==    by 0x400F464: call_init.part.0 (dl-init.c:72)<br>
==24063==    by 0x400F58D: call_init (dl-init.c:30)<br>
==24063==    by 0x400F58D: _dl_init (dl-init.c:120)<br>
==24063==    by 0x4000A5E: ??? (in /lib/i386-linux-gnu/ld-2.23.so)<br>
==24063== <br>
==24063== 1,032 bytes in 1 blocks are still reachable in loss record 6 of 6<br>
==24063==    at 0x402C17C: malloc (in /usr/lib/valgrind/vgpreload_memcheck-x86-linux.so)<br>
==24063==    by 0x458A9CD: _pixman_implementation_create (pixman-implementation.c:38)<br>
==24063==    by 0x458FD46: _pixman_implementation_create_noop (pixman-noop.c:155)<br>
==24063==    by 0x458B196: _pixman_choose_implementation (pixman-implementation.c:403)<br>
==24063==    by 0x43D92F6: pixman_constructor (pixman.c:39)<br>
==24063==    by 0x400F464: call_init.part.0 (dl-init.c:72)<br>
==24063==    by 0x400F58D: call_init (dl-init.c:30)<br>
==24063==    by 0x400F58D: _dl_init (dl-init.c:120)<br>
==24063==    by 0x4000A5E: ??? (in /lib/i386-linux-gnu/ld-2.23.so)<br>
==24063== <br>
==24063== LEAK SUMMARY:<br>
==24063==    definitely lost: 0 bytes in 0 blocks<br>
==24063==    indirectly lost: 0 bytes in 0 blocks<br>
==24063==      possibly lost: 0 bytes in 0 blocks<br>
==24063==    still reachable: 6,192 bytes in 6 blocks<br>
==24063==         suppressed: 0 bytes in 0 blocks<br>
==24063== <br>
==24063== For counts of detected and suppressed errors, rerun with: -v<br>
==24063== ERROR SUMMARY: 400 errors from 3 contexts (suppressed: 0 from 0)<br>
</font><br>
</font>