deadlock problem sigh