todo:bug:double free while demo exit