Opened 10 years ago

Last modified 18 months ago

#377 new defect

DRAKMA:HTTP-REQUEST failing with #<FLEXI-STREAMS:FLEXI-IO-STREAM {1254E5CE}> is not of type STREAM

Reported by: Mark Evenson Owned by:
Priority: major Milestone: 1.9.3
Component: compiler Version: 1.4.0-dev
Keywords: gray-streams Cc:
Parent Tickets:

Description

A simple request to the DRAKMA installed with quicklisp-2014-11-06:

CL-USER> (drakma:http-request "http://google.com")

is now signalling errors where previously this sort of call was working.

The value #<FLEXI-STREAMS:FLEXI-IO-STREAM {1254E5CE}> is not of type STREAM.
   [Condition of type TYPE-ERROR]

Restarts:
 0: [RETRY] Retry SLIME REPL evaluation request.
 1: [*ABORT] Return to SLIME's top level.
 2: [ABORT] Abort thread.

Backtrace:
  0: (#<FUNCTION {709AF5A0}> #<TYPE-ERROR {4299100A}> #<FUNCTION {709AF5A0}>)
  1: (APPLY #<FUNCTION {709AF5A0}> (#<TYPE-ERROR {4299100A}> #<FUNCTION {709AF5A0}>))
  2: (SYSTEM::RUN-HOOK SYSTEM::*INVOKE-DEBUGGER-HOOK* #<TYPE-ERROR {4299100A}> #<FUNCTION {709AF5A0}>)
  3: (INVOKE-DEBUGGER #<TYPE-ERROR {4299100A}>)
  4: org.armedbear.lisp.Lisp.error(Lisp.java:382)
  5: org.armedbear.lisp.Lisp.type_error(Lisp.java:435)
  6: org.armedbear.lisp.request_TMP_14.execute(request.lisp:128)
  7: org.armedbear.lisp.Symbol.execute(Symbol.java:814)
  8: org.armedbear.lisp.LispThread.execute(LispThread.java:832)
  9: org.armedbear.lisp.request_TMP_15.execute(request.lisp:140)
 10: org.armedbear.lisp.Symbol.execute(Symbol.java:826)
 11: org.armedbear.lisp.LispThread.execute(LispThread.java:851)
 12: org.armedbear.lisp.request_TMP_31.execute(request.lisp:182)
 13: org.armedbear.lisp.CompiledClosure.execute(CompiledClosure.java:98)
 14: org.armedbear.lisp.request_TMP_17.execute(request.lisp:182)
 15: org.armedbear.lisp.LispThread.execute(LispThread.java:986)
 16: org.armedbear.lisp.Lisp.funcall(Lisp.java:192)
 17: org.armedbear.lisp.Primitives$pf_apply.execute(Primitives.java:2845)
 18: (DRAKMA::%READ-BODY #<FLEXI-STREAMS:FLEXI-IO-STREAM {1254E5CE}> CHARACTER)
 19: (DRAKMA::READ-BODY #<FLEXI-STREAMS:FLEXI-IO-STREAM {78ACD5DF}> ((:DATE . "Mon, 08 Dec 2014 10:24:26 GMT") (:EXPIRES . "-1") (:CACHE-CONTROL . "private, max-age=0") (:CONTENT-TYPE . "text/html; charset..

The problem stems from the kludgey way in which ABCL currently implements GRAY-STREAMS, namely by "gray-streams.lisp" changing the values of functions like CL:READ-SEQUENCE with versions that dispatch depending on whether they are invoked on an ANSI stream or a Gray stream.

If one uses the interpreted form of DRAKMA::%READ-BODY this dispatch works, but the compiled form does not.

We have many problems with our use of streams, but this case might provide an insight into figuring out how to move forward. Did a change in DRAKMA cause this problem to surface or is this a regression in the ABCL compiler?

Change History (14)

comment:1 Changed 10 years ago by Mark Evenson

quicklisp-2014-11-06 uses drakma-1.3.10. Switching to using a locally installed drakma-1.3.9 does not evidence this error.

Again, I don't currently believe this is a problem with Drakma, but rather how ABCL handles Gray streams.

comment:2 Changed 8 years ago by Mark Evenson

Milestone: 1.4.01.5.0

Ticket retargeted after milestone closed

comment:3 Changed 8 years ago by Mark Evenson

Milestone: 1.5.01.6.0

Ticket retargeted after milestone closed

comment:4 Changed 5 years ago by Mark Evenson

Milestone: 1.6.01.6.1

Ticket retargeted after milestone closed

comment:5 Changed 5 years ago by Mark Evenson

Milestone: 1.6.11.6.2

Ticket retargeted after milestone closed

comment:6 Changed 5 years ago by Mark Evenson

Milestone: 1.6.21.7.0

comment:7 Changed 5 years ago by Mark Evenson

Milestone: 1.7.01.7.1

Ticket retargeted after milestone closed

comment:8 Changed 4 years ago by Mark Evenson

Milestone: 1.7.11.7.2

Ticket retargeted after milestone closed

comment:9 Changed 4 years ago by Mark Evenson

Milestone: 1.7.21.8.0

Milestone renamed

comment:10 Changed 4 years ago by Mark Evenson

Milestone: 1.8.01.8.1

Ticket retargeted after milestone closed

comment:11 Changed 3 years ago by Mark Evenson

Milestone: 1.8.11.9.0

comment:12 Changed 23 months ago by Mark Evenson

Milestone: 1.9.01.9.1

comment:13 Changed 22 months ago by Mark Evenson

Milestone: 1.9.11.9.2

comment:14 Changed 18 months ago by Mark Evenson

Milestone: 1.9.21.9.3
Note: See TracTickets for help on using tickets.