The selectManyShuttle component with required="true" imposes a required validation rule on each of its list boxes. This requires that not only an item has to be selected (moved from leading to trailing) but also that each list box must have an active selection (highlighted item) to pass validation. While this holds true if the user moves an item from one list to the other, it doesn't if the component is populated already and the user doesn't change anything. In this case the validation fails with a Field Error alert for each list box saying that at least one item has to be selected.
The patch provided sets the required attribute for the child listboxes to false as this validation rule is already imposed by the parent component. The patch also updates the tests.
I haven't checked it but quite possibly also the 2.0.x trunk is affected by this.