fix IllegalMonitorStateException