fix infinite recursion on warn, fix timeout