Ticket UUID: | 3f6bb3bb46f4c2840dde85cc890c4716fab636a6 | |||
Title: | Http 2.10a4 doesn't work with Tcl 8.6 | |||
Type: | Bug | Version: | 8.6 | |
Submitter: | jan.nijtmans | Created on: | 2022-11-15 15:02:12 | |
Subsystem: | 29. http Package | Assigned To: | jan.nijtmans | |
Priority: | 5 Medium | Severity: | Important | |
Status: | Closed | Last Modified: | 2022-11-15 23:27:10 | |
Resolution: | Fixed | Closed By: | kjnash | |
Closed on: | 2022-11-15 23:27:10 | |||
Description: |
Allthough the http package version 2.10a4 advertises to work with Tcl 8.6 (package require Tcl 8.6-), it doesn't work. Testcases in http11.test hang. The http package should either do a "package require Tcl 8.7-" or it should be fixed to run fine with Tcl 8.6 too. Otherwise, when someone installs both Tcl 8.6 and 8.7, the http package will be broken with Tcl 8.6. | |||
User Comments: |
kjnash added on 2022-11-15 23:27:10:
Yes, agreed, I would have worked in a separate branch but you've done it first. I hope that when Tcl 8.7 is released, Tcl 8.6 will adopt http 2.10 and anything else that can easily be backported, but those decisions will be for the Core Team! jan.nijtmans added on 2022-11-15 21:54:37: Thanks! So, it was a problem in the testcase, not in the http code itself. Good to know! Please don't backport it to 8.6 yet, it's better to leave it in Tcl 8.7 first until 8.7 reaches the stable version. Anyway, since the problem is solved, closing! kjnash added on 2022-11-15 21:39:22: I had a go at the backport recently, but I did not upload the code to fossil because I had not yet tested it on Windows. My procedure was: 1. Start with 8.6.13rc0 2. Copy these files from 8.7: library/http/http.tcl library/http/pkgIndex.tcl library/cookiejar/cookiejar.tcl library/cookiejar/idna.tcl library/cookiejar/pkgIndex.tcl library/cookiejar/public_suffix_list.dat.gz doc/http.n doc/cookiejar.n doc/idna.n tests/http11.test tests/httpcookie.test tests/httpd tests/httpd11.tcl tests/httpPipeline.test tests/httpProxySquidConfigForEL8.tar.gz tests/httpProxy.test tests/http.test tests/httpTestScript.tcl tests/httpTest.tcl 3. Apply the patch supplied below as a file. This applies the "package require Tcl" fix mentioned below and adds a lpop command to tests/httpd11.tcl so that the tests themselves are unchanged. It also patches the makefile.*. The makefile patches for Windows are untested. kjnash added on 2022-11-15 21:24:43: Commit [2bac0bed17] fixes the issues with http11.test. The simple httpd used for testing silently fails because it has "package require tcl" not "package require Tcl". jan.nijtmans added on 2022-11-15 15:03:07: The hang happens on all platforms. See: https://github.com/tcltk/tcl/actions/runs/3459694409 |
Attachments:
- tcl8.6.13.patch [download] added by kjnash on 2022-11-15 21:41:47. [details]