ada: Make internal_error_function more robust