Bug 103437

Summary: Syscall param sendmsg(msg.msg_iov[0]) points to uninitialised byte(s)
Product: Wayland Reporter: Sebastien Bacher <seb128>
Component: waylandAssignee: Wayland bug list <wayland-bugs>
Status: RESOLVED MOVED QA Contact:
Severity: normal    
Priority: medium    
Version: unspecified   
Hardware: Other   
OS: All   
Whiteboard:
i915 platform: i915 features:

Description Sebastien Bacher 2017-10-24 19:35:20 UTC
Using gnome-software under valgrind on Ubuntu 17.10 that error got listed

==8911== Syscall param sendmsg(msg.msg_iov[0]) points to uninitialised byte(s)
==8911==    at 0x82DBEF0: sendmsg (sendmsg.c:28)
==8911==    by 0xC87C15C: wl_connection_flush.part.3 (connection.c:300)
==8911==    by 0xC87B987: wl_display_flush (wayland-client.c:1869)
==8911==    by 0x6764032: gdk_event_source_prepare (gdkeventsource.c:65)
==8911==    by 0x55506A7: g_main_context_prepare (gmain.c:3450)
==8911==    by 0x555109A: g_main_context_iterate.isra.30 (gmain.c:3866)
==8911==    by 0x555127B: g_main_context_iteration (gmain.c:3947)
==8911==    by 0x58BAC4C: g_application_run (gapplication.c:2401)
==8911==    by 0x12A117: main (gs-main.c:59)
==8911==  Address 0x15fb78b4 is 6,420 bytes inside a block of size 16,424 alloc'd
==8911==    at 0x4C31B25: calloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==8911==    by 0xC87C291: zalloc (wayland-private.h:234)
==8911==    by 0xC87C291: wl_connection_create (connection.c:166)
==8911==    by 0xC87AEDD: wl_display_connect_to_fd (wayland-client.c:972)
==8911==    by 0xC87B010: wl_display_connect (wayland-client.c:1024)
==8911==    by 0x6762513: _gdk_wayland_display_open (gdkdisplay-wayland.c:537)
==8911==    by 0x6705C12: gdk_display_manager_open_display (gdkdisplaymanager.c:472)
==8911==    by 0x5FEA0C9: gtk_init_check (gtkmain.c:1103)
==8911==    by 0x5FEA0F8: gtk_init (gtkmain.c:1160)
==8911==    by 0x5EC9089: gtk_application_startup (gtkapplication.c:293)
==8911==    by 0x13513D: gs_application_startup (gs-application.c:778)
==8911==    by 0x52C1F9C: g_closure_invoke (gclosure.c:804)
==8911==    by 0x52D4DAD: signal_emit_unlocked_R (gsignal.c:3565)
Comment 1 Pekka Paalanen 2017-10-25 06:15:53 UTC
Am I reading that report correctly that the uninitialized bytes are in a region allocated by calloc()?

Is that a mistake in the analysis, or do we first copy uninitialized data into the area and then get the warning only when trying to use them?
Comment 2 Daniel Stone 2018-06-04 08:49:49 UTC
Seb, if this still happens, could you please attach the output of running with 'WAYLAND_DEBUG=client'? That will at least give us a clue which Wayland requests have been made before this happens.
Comment 3 GitLab Migration User 2018-06-08 23:48:38 UTC
-- GitLab Migration Automatic Message --

This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity.

You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/wayland/wayland/issues/16.

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.