This sounds very much like an already resolved issue, but I don't
remember the details. Your log seems to indicate that you're using FLTK
1.3.3 which is really old. Please try 1.3.4 and report if you find the
same or similar valgrind warnings.
FWIW, I tried test/utf8 with FLTK 1.3.4 and didn't get the warnings
reported by you. I got two warnings, but these warnings are not
repeated, and they seem to be caused deeply in X11 functions which we
likely can't "fix".
Here's an excerpt of my log (sorry if it gets wrapped):
==23962== Syscall param writev(vector[...]) points to uninitialised byte(s)
==23962== at 0x71DB3F0: __writev_nocancel (syscall-template.S:84)
==23962== by 0x76B6F28: ??? (in
/usr/lib/x86_64-linux-gnu/libxcb.so.1.1.0)
==23962== by 0x76B731C: ??? (in
/usr/lib/x86_64-linux-gnu/libxcb.so.1.1.0)
==23962== by 0x76B73A4: xcb_writev (in
/usr/lib/x86_64-linux-gnu/libxcb.so.1.1.0)
==23962== by 0x56BA4AD: _XSend (in
/usr/lib/x86_64-linux-gnu/libX11.so.6.3.0)
==23962== by 0x56BA7F4: _XFlush (in
/usr/lib/x86_64-linux-gnu/libX11.so.6.3.0)
==23962== by 0x569BE49: XFlush (in
/usr/lib/x86_64-linux-gnu/libX11.so.6.3.0)
==23962== by 0x4245F5: Fl::flush() (Fl.cxx:794)
==23962== by 0x424398: Fl::wait(double) (Fl.cxx:604)
==23962== by 0x424629: Fl::run() (Fl.cxx:622)
==23962== by 0x42248D: main (utf8.cxx:708)
==23962== Address 0x8630701 is 16,257 bytes inside a block of size
16,384 alloc'd
==23962== at 0x4C2FB55: calloc (in
/usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==23962== by 0x56AA692: XOpenDisplay (in
/usr/lib/x86_64-linux-gnu/libX11.so.6.3.0)
==23962== by 0x455AE2: fl_open_display() (Fl_x.cxx:679)
==23962== by 0x473278: Fl::set_fonts(char const*)
(fl_set_fonts_xft.cxx:220)
==23962== by 0x42063B: make_font_chooser() (utf8.cxx:429)
==23962== by 0x421A3A: main (utf8.cxx:578)
==23962==