bug#36350: [2.2.5] ‘read-headers’ blocks, thereby breaking web servers

2019-06-24 Thread Ludovic Courtès
Hi Mark, Mark H Weaver skribis: > Ludovic Courtès writes: > >> ./meta/guile examples/web/hello.scm & >> wget -O - http://localhost:8080 >> >> You’ll notice that ‘wget’ hangs (never receives a response) because the >> server is actually stuck in a read(2) call that will never complete, in >>

bug#36350: [2.2.5] ‘read-headers’ blocks, thereby breaking web servers

2019-06-24 Thread Mark H Weaver
Hi Ludovic, Ludovic Courtès writes: > ./meta/guile examples/web/hello.scm & > wget -O - http://localhost:8080 > > You’ll notice that ‘wget’ hangs (never receives a response) because the > server is actually stuck in a read(2) call that will never complete, in > ‘read-headers’. > > Reverting

bug#33415: Fix argument list in match-lambda docs

2019-06-24 Thread Ludovic Courtès
Hi, Paul Morris skribis: > Hi, I found a small error in the docs for the pattern matching module: > > https://www.gnu.org/software/guile/manual/html_node/Pattern-Matching.html > > There should be no "exp" in these argument lists: > > Scheme Syntax: match-lambda exp clause1 clause2 … > Scheme Syn

bug#35398: http-get request fails for github.com

2019-06-24 Thread Ludovic Courtès
Hi Brian, Brian Woodcox skribis: > scheme@(guile-user)> (use-modules (web client)) > scheme@(guile-user)> (http-get "https://github.com";) > ERROR: In procedure get-bytevector-some: > Throw to key `gnutls-error' with args `(# temporarily unavailable, try again.> read_from_session_record_port)'.

bug#34008: [PATCH] doc: Fix minor typo in the HTTP headers documentation.

2019-06-24 Thread Ludovic Courtès
Hi, Arun Isaac skribis: > * doc/ref/web.texi (HTTP Headers): Fix minor typo. Applied, thanks! Ludo’.

bug#36339: generated .pc files leaks build-time LDFLAGS

2019-06-24 Thread Ludovic Courtès
Hello, Cyprien Nicolas skribis: > These flags are private to the way I built guile, and should not > affect packages using guile later. > > I have observed this behavior in guile-2.0, 2.2.5 and 2.9.2. > > -8<-8<-8<-8<-8<- > Name: GNU Guile > Description: GNU's Ubiquitous

bug#36350: [2.2.5] ‘read-headers’ blocks, thereby breaking web servers

2019-06-24 Thread Dan Frumin
By the way, I've just tested the web server in Google Chrome, and it works fine! I was told that a (potential) reason for that is that Chrome sends TCP FIN to the server, which closes the socket for reading, and then `lookahead-char` sees eof. Best, Dan

bug#36340: Test failures when networking is disabled

2019-06-24 Thread Ludovic Courtès
Hi Cyprien! :-) Cyprien Nicolas skribis: > Is guile configured with --disable-networking still a supported > configuration? In theory yes, but as you found out, it’s not well tested. The way we’d normally addressing in the test suite is by testing: (provided? 'socket) and/or: (provided

bug#36350: [2.2.5] ‘read-headers’ blocks, thereby breaking web servers

2019-06-24 Thread Dan Frumin
I believe that `(lookahead-char port)` really blocks when the client has finished sending the request and there is no more data from `port` to consume. If I understand it correctly, then per HTTP/1.1 [1] the request ends with CRLF at the last line, and then comes the message. So I we have read an

bug#36350: [2.2.5] ‘read-headers’ blocks, thereby breaking web servers

2019-06-24 Thread Ludovic Courtès
Hello, In Guile 2.2.5, if you run: ./meta/guile examples/web/hello.scm & wget -O - http://localhost:8080 You’ll notice that ‘wget’ hangs (never receives a response) because the server is actually stuck in a read(2) call that will never complete, in ‘read-headers’. Reverting 73cde5ed7218a090