我们基于Tcl的web应用程序(OpenACS,NaviServer)提供了上传和提取ZIP档案的功能.升级到最新版本的Tcl (8.5.18)之后,服务器现在在处理提取的存档的内容时崩溃,并输出此错误。
nsd: /usr/local/src/tcl/tcl8.5.18/unix/../generic/tclIO.c:5395: DoReadChars: Assertion `!((statePtr)->flags & ((1<<9))) || ((statePtr)->flags & ((1<<10))) || Tcl_InputBuffered((Tcl_Channel)chanPtr) == 0' failed.这个断言是在Tcl 8.5.17和8.5.18之间引入的。断言是错误的还是过于严格,或者这是否暗示了应用程序级别的某种形式的错误?
发布于 2015-07-22 07:48:04
结果发现,我在2015年4月遇到了一个已知的bug (http://core.tcl.tk/tcl/info/879a0747bee593e2)。当Tcl 8.5.19发布时,使用它将使我的麻烦消失。在此之前,您可以从Tcl开发源工作,也可以单独尝试修补程序(http://core.tcl.tk/tcl/info/4b964e7afb811898)。
https://stackoverflow.com/questions/31453675
复制相似问题