abort should fire callback async