An illegal choice has been detected. after leaving form page
You change the options after the form is built:

 $select_form['expeditions']['#options'][$value-&gt;{'expedition'}-&gt;{'expeditionId'}] = $this-&gt;t($value-&gt;{'expedition'}-&gt;{'expeditionTitle'});


The Form API doesn't know about this. On submit the Form API checks if the submitted option is in the original option list. If not, it rejects the submit with the error "An illegal choice has been detected. Please contact the site administrator."