fix can't handle long name bug(may has stackoverflow bug)