Hey all, I think we've narrowed this down. What appears to be happening is that for intel driver versions ~30.0.101.1191, there appears to be a driver bug where read-writes to textures are not always synchronized.
For some context, labels are allocated some texture space that denotes the state of the label. Before we actually render the labels, we first do a GPGPU pass that modifies the label state. We then use the result of this, (a texture) in another render pass which actually renders the labels. What I'm seeing is that sometimes this texture is not updated before it is used, which is fixed if I explicitly force a synchronization, e.g., by calling readPixels to flush it. This should happen implicitly however.
In looking at the differences between 4.28 and 4.29, there appears to be a slight ordering difference resulting in the labeling state modification pass happening slightly later. Rearranging these calls appears to circumvent the issue, & we're currently looking to see if we can install a workaround for this.
I still would highly recommend updating drivers if possible as this synchronization issue could affect other things in ways that are hard to really guess upfront.