The code making the update is in perl, using Net::LDAP, and looks like:
$entry->replace(eduPersonAffiliation => @eduPersonAffiliation);
For the case of the crash, the array @eduPersonAffiliation is empty, effectively deleting the attribute. I'm not 100% sure what this generates on the wire, I'd have to debug it. I can say it's the same code that's been running for a decade or so with no issues.
The schema that defines the attribute is available at:
https://spaces.internet2.edu/display/macedir/OpenLDAP+eduPerson