fix async bug using trace