always call error logger on main thread