The midi_input_handler for the AsyncMIDIPort is connected to the main event-loop. Events may still be delivered after the surface was destroyed. That by itself is not harmful, unless a given message produces a reply: The _output_port is already gone, FaderPort8::tx_midi crashes.