openacs - How should one deal with a new Tcl assertion (introduced in 8.5.18) that fires upon an IO operation? -


our tcl-based web application (openacs, naviserver) provides functionality uploading , extracting zip archives. after upgrading latest version of tcl (8.5.18), server crashes when processing contents of extracted archive , spits out error.

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. 

this assertion has been introduced between tcl 8.5.17 , 8.5.18. assertion wrong or rigorous, or hint @ form of error @ application level?

it turns out running known bug fixed in april 2015 (http://core.tcl.tk/tcl/info/879a0747bee593e2). when tcl 8.5.19 released, using make troubles go away. before that, 1 can work tcl development sources, or try patch in isolation (http://core.tcl.tk/tcl/info/4b964e7afb811898).


Comments