Re: Tcl/Tk 8.5.2 Release Candidates
- From: Eric Hassold <hassold@xxxxxxxxxxx>
- Date: Fri, 28 Mar 2008 17:42:57 +0100
Hello,
While running tests with eTcl builds with this RC, and/or running htmlviewer3, found a problem which is not really a bug, but a serious incompatibility related to new http 2.7 packages merged into 8.5 branch, and more exactly to chunk transfer support.
When a -handler argument is defined, chunk processing is not done, so returned data has "<size>\n" chunk headers leaked in, together with a terminating "0\n" segment. It means any current code whuch calls geturl with a -handler argument (e.g. hv3, but also probably most code caring about reporting progress during non-blocking http transfer) will get corrupted answer. In new http.tcl:1029, one can find:
if {[info exists state(-handler)]} {
set n [eval $state(-handler) [list $sock $token]]
} elseif {[info exists state(transfer_final)]} {
....
} elseif {[info exists state(transfer)]
&& $state(transfer) eq "chunked"} {
....
Also, while having a look at this new http implementation, I noticed that in the chunk handling code, socket is temporaly switched back to blocking mode when reading chunk length header
fconfigure $sock -blocking 1
set chunk [read $sock $size]
fconfigure $sock -blocking $bl
which seems to me quite hazardous, since this might freeze a whole application in a Event callback one may assume to be non-blocking. So I'm wondering if, while support for chunk transfer and deflate encoding is a nice addon, this major step forward in this (pure Tcl) http package is really stabilized and compatible enough to be introduced during a minor version update (8.5.1->8.5.2)? Wouldn't be more safe to leave it as an option for those needing those features, or or provide it side by side with previous implementation?
Eric
PS: shall I report this in SF bug report as well, or, since RC has been announced in c.l.t, is this report enough ?
Donald G Porter wrote :
Tcl/Tk 8.5.2 RC 2 now available in
ftp://ftp.tcl.tk/pub/tcl/tcl8_5/
Authors of code that calls the Ttk_* C routines are especially
encouraged to test this release. Significant changes and efforts have
been made to correct interface failures. Please confirm that the
current attempt works for you.
-----
Eric Hassold
Evolane - http://www.evolane.com/
.
- Follow-Ups:
- Re: Tcl/Tk 8.5.2 Release Candidates
- From: Donald G Porter
- Re: Tcl/Tk 8.5.2 Release Candidates
- From: Donald G Porter
- Re: Tcl/Tk 8.5.2 Release Candidates
- References:
- Tcl/Tk 8.5.2 Release Candidates
- From: Donald G Porter
- Tcl/Tk 8.5.2 Release Candidates
- Prev by Date: Knock Off Designer Handbags Wallets Designer Replica Handbags Wholesale Discount Louis Vuitton Handbag Cheap Wallets Wholesale
- Next by Date: Re: Tcl/Tk 8.5.2 Release Candidates
- Previous by thread: Re: Tcl/Tk 8.5.2 Release Candidates
- Next by thread: Re: Tcl/Tk 8.5.2 Release Candidates
- Index(es):
Relevant Pages
|