edicl / drakma

HTTP client written in Common Lisp
http://edicl.github.io/drakma/
248 stars 58 forks source link

USOCKET:TIMEOUT-ERROR #134

Closed juan-reynoso closed 9 months ago

juan-reynoso commented 1 year ago

Hello,

I have upgraded usocket from github repo https://github.com/usocket/usocket/commits/master last commit (https://github.com/usocket/usocket/commit/7a24c571541b1d046976f0c175f1f2658dbdf0f7) and after that I have the USOCKET:TIMEOUT-ERROR

but with this commit https://github.com/usocket/usocket/commit/b852e5e104d8903801ff7e5aa7cac2e396d284d5 drakma works fine.

Lisp implementation type : SBCL Lisp implementation version: 2.3.6.179-2a841e182 O.S: Debian GNU/Linux 12.1

Example: (drakma:http-request "https://www.google.com")

Output


Condition USOCKET:TIMEOUT-ERROR was signalled.
   [Condition of type USOCKET:TIMEOUT-ERROR]

Restarts:
 0: [USE-OTHER-PORT] Use a different port.
 1: [USE-OTHER-HOST] Use a different host.
 2: [RETRY] Retry socket connection.
 3: [RETRY] Retry SLIME REPL evaluation request.
 4: [*ABORT] Return to SLIME's top level.
 5: [ABORT] abort thread (#<THREAD tid=513589 "repl-thread" RUNNING {10010900E3}>)

Backtrace:
  0: (USOCKET::SOCKET-CONNECT-INTERNAL "www.google.com" :PORT 443 :PROTOCOL :STREAM :ELEMENT-TYPE FLEXI-STREAMS:OCTET :TIMEOUT 20 :DEADLINE NIL :NODELAY :IF-SUPPORTED      
:LOCAL-HOST NIL :LOCAL-PORT NIL)
  1: (USOCKET:SOCKET-CONNECT "www.google.com" 443 :ELEMENT-TYPE FLEXI-STREAMS:OCTET :TIMEOUT 20 :NODELAY :IF-SUPPORTED)
  2: (DRAKMA:HTTP-REQUEST #<PURI:URI https://www.google.com/>)
  3: (SB-INT:SIMPLE-EVAL-IN-LEXENV (DRAKMA:HTTP-REQUEST "https://www.google.com") #<NULL-LEXENV>)
  4: (EVAL (DRAKMA:HTTP-REQUEST "https://www.google.com"))
  5: (SWANK::EVAL-REGION "(drakma:http-request \"https://www.google.com\") ..)
  6: ((LAMBDA NIL :IN SWANK-REPL::REPL-EVAL))
  7: (SWANK-REPL::TRACK-PACKAGE #<FUNCTION (LAMBDA NIL :IN SWANK-REPL::REPL-EVAL) {10030E674B}>)
  8: (SWANK::CALL-WITH-RETRY-RESTART "Retry SLIME REPL evaluation request." #<FUNCTION (LAMBDA NIL :IN SWANK-REPL::REPL-EVAL) {10030E672B}>)
  9: (SWANK::CALL-WITH-BUFFER-SYNTAX NIL #<FUNCTION (LAMBDA NIL :IN SWANK-REPL::REPL-EVAL) {10030E670B}>)
 10: (SWANK-REPL::REPL-EVAL "(drakma:http-request \"https://www.google.com\") ..)
 11: (SB-INT:SIMPLE-EVAL-IN-LEXENV (SWANK-REPL:LISTENER-EVAL "(drakma:http-request \"https://www.google.com\") ..)
 12: (EVAL (SWANK-REPL:LISTENER-EVAL "(drakma:http-request \"https://www.google.com\") ..)
 13: (SWANK:EVAL-FOR-EMACS (SWANK-REPL:LISTENER-EVAL "(drakma:http-request \"https://www.google.com\") ..)
 14: (SWANK::PROCESS-REQUESTS NIL)
juan-reynoso commented 9 months ago

The problem was fixed in usocket

https://github.com/usocket/usocket/commit/9506512bdd30f71fb807007ec29d43b661da8bef

https://github.com/usocket/usocket/commit/7ed16ad4a2640b1a35efd255943dd12ed7c94b47

juan-reynoso commented 9 months ago

Drakma works fine.