"Start fence" is nonsense
Weston, more precisely GL-renderer, is misusing fences in an attempt to profile GPU execution. It sets up a fence before and after the GL composition job, expecting that the timestamps correspond to the job begin and end times. As decreed in https://github.com/KhronosGroup/EGL-Registry/issues/94 and mesa/mesa#2080 (closed), that is not true. The end fence is ok, the start fence is not.
GL-renderer needs to be fixed to not have a start fence. The only alternative that came up in the referred reports is to take the end fence and its timestamp, and use
GL_EXT_disjoint_timer_query to find out how long the job took, and then assume that end timestamp minus length is the start timestamp. See mesa/mesa#2080 (comment 290882).