Ticket UUID: | b26e38a3e4546b01e3d12d0d7df8f69b52d869b3 | |||
Title: | zlib stream buffer flushing failure | |||
Type: | Bug | Version: | 8.6.6, trunk | |
Submitter: | dkf | Created on: | 2016-10-29 20:47:12 | |
Subsystem: | 57. zlib | Assigned To: | dkf | |
Priority: | 8 | Severity: | Important | |
Status: | Closed | Last Modified: | 2016-10-30 05:10:39 | |
Resolution: | Fixed | Closed By: | dkf | |
Closed on: | 2016-10-30 05:10:39 | |||
Description: |
Tk issue 10f2e7872b reports that PNG writing is broken. It turns out this is because when a zlib-internal buffer in the streaming engine is entirely full, it is not always transferred to the output buffer. The bug was triggered on the Tk side by a change in the pattern of bytes generated, but the bug is in Tcl. Fortunately, the streaming engine is exposed to Tcl so we can easily test it. | |||
User Comments: |
dkf added on 2016-10-30 05:10:39:
Fixed on 8.6 and trunk. dkf added on 2016-10-29 20:54:08: The major issue to learn from this is to be ultra-careful when reading someone else's documentation. The zlib library's documentation (in the zlib.h header) is correct, but it all works in a totally different way to Tcl's API, making it very easy to miss important things that only get seen with large real data. Small data of the sort one usually tests with just works… |