fix synchronised weakSelf