fix bug in assign, out of mutex