Monday, July 27, 2009

Session Handler引发的zend_mm_heap corrupted

不确定最终原因是什么
但是,从代码的结构看,与Newborn Project一样
加上了session handler之后,用kernel.class下的一个session handler类开启session handler
其他代码还没来得及改,大体都是dz2.0的结构。


只要在代码模板中调用discuz_exit或者exit,抑或是在 函数中调用,就会触发这个错误
具体是不是,还不敢确定
因为有时候stderr会写这个
有时候只是5.2 cli会弹出Windows下程序崩溃的提示,module显示unknown
5.3 cli到输出结束就一直挂起没响应,得ctrl+c
没心思去调试php这个错误来源。。。



最终解决方案是把output写进了session类的destructor里,然后kernel加了个end的方法调用exit()

网上找了很久都没有找到一个类似的情况

问题应该是session的结束和exit还有输出流的结束的顺序关系或者调用关系的冲突
但是。。懒得管了

No comments:

Post a Comment