<html><body><div>I was testing out a port for quicklisp on MKCL, today. The file is attached as revised from the original  at http://beta.quicklisp.org/quicklisp.lisp<br><br>It was a straightforward patch, focusing mostly on sockets support. Basically I just copied the quicklisp implementation package definition for SBCL, with some minor revisions. I was testing it out, then, when I encountered the following error.<br><br>I'm not sure if the error may be a matter of the patched quicklisp - going by the debugger output, I'd like to assume it may be a matter of socket streams. <br><br>It looks like quicklisp implements its own HTTP client. Maybe there could be a workaround possible, somewhere in that client code?<br><br>I wasn't certain about sending the patch to the quicklisp developers, given this 'feature'.  Looking at the debugger output, it looks like the error was in mkcl_safe_fclose failing on a socket-output-stream due to a bad FD. Here's the debugger output and backtrace.</div><div><br></div><div>-- Sean</div><div><br></div><div>during (quicklisp-quickstart:install)</div><div><br></div><div><div>; Fetching #<QLQS-HTTP::URL "http://beta.quicklisp.org/quickstart/asdf.lisp"></div><div>; 159.59KB</div><div>==================================================</div><div>163,424 bytes in 0.77 seconds (206.56KB/sec)</div><div>; Fetching #<QLQS-HTTP::URL "http://beta.quicklisp.org/quickstart/quicklisp.tar"></div><div>; 210.00KB</div><div>==================================================</div></div><div><div>215,040 bytes in 1.03 seconds (203.16KB/sec)</div><div>; Fetching #<QLQS-HTTP::URL "http://beta.quicklisp.org/quickstart/setup.lisp"></div><div>; 4.88KB</div><div>==================================================</div><div>4,995 bytes in 0.00 seconds (5546.73KB/sec)</div><div><br></div><div>Debugger called in: #<thread "Initial" (3737) 00000000010b7d80>.</div><div><br></div><div><br></div><div>Filesystem error with pathname: #<output stream "SOCKET-OUTPUT-STREAM">.</div><div>mkcl_safe_fclose() failed.</div><div>OS Explanation: (errno == 9) Bad file descriptor.</div><div><br></div><div>[...restarts...]</div><div><br></div><div><div>Broken at IHS[73]> C::COMPILER-DEBUGGER. In: #<thread "Initial" (3560) 000000000164fd80>.</div><div> File: "/home/user/workspaces/workspace_gpcl/3rdparty/mkcl-1.0.1/src/cmp/cmputil.lsp" (Position #4195)</div></div><div>QL-UTIL>> :b</div><div><br></div><div>Backtrace:</div><div>  IHS[117]> COMPILER-DEBUGGER</div><div>  IHS[116]> lambda, closure generated from compile-file</div><div>  IHS[114]> handle-internal-error</div><div>  IHS[113]> signal</div><div>  IHS[111]> wrapped-method-function</div><div>  IHS[110]> standard-compute-effective-method</div><div>  IHS[109]> compute-effective-method</div><div>  IHS[108]> compute-effective-method, closure generated from nil</div><div>  IHS[107]> compute-make-instance-function</div><div>  IHS[106]> make-instance_nil_class</div><div>  IHS[105]> lambda, closure generated from wrapped-method-function</div><div>  IHS[104]> make-condition</div><div>  IHS[101]> allocate-instance_nil_class</div><div>  IHS[100]> lambda, closure generated from wrapped-method-function</div><div>  IHS[99]> class-prototype_nil_class</div><div>  IHS[98]> lambda, closure generated from wrapped-method-function</div><div>  IHS[97]> compute-make-instance-function</div><div>  IHS[96]> make-instance_nil_class</div><div>  IHS[95]> lambda, closure generated from wrapped-method-function</div><div>  IHS[94]> make-condition</div><div>  IHS[91]> make-c1form*</div><div>  IHS[90]> c1c-inline</div><div>  IHS[89]> c1call-symbol</div><div>  IHS[88]> c1expr</div><div>  IHS[87]> c1stack-push-values</div><div>  IHS[86]> c1call-symbol</div><div>  IHS[85]> c1expr</div><div>  IHS[84]> t1/c1expr</div><div>  IHS[83]> c1progn</div><div>  IHS[82]> c1decl-body</div><div>  IHS[81]> c1let</div><div>  IHS[80]> c1call-symbol</div><div>  IHS[79]> c1expr</div><div>  IHS[78]> c1with-stack</div><div>  IHS[77]> c1call-symbol</div><div>  IHS[76]> c1expr</div><div>  IHS[75]> c1multiple-value-prog1</div><div>  IHS[74]> c1call-symbol</div><div>  IHS[73]> c1expr</div><div>  IHS[72]> c1unwind-protect</div><div>  IHS[71]> c1call-symbol</div><div>  IHS[70]> c1expr</div><div>  IHS[69]> t1/c1expr</div><div>  IHS[68]> c1progn</div><div>  IHS[67]> c1decl-body</div><div>  IHS[66]> c1let</div><div>  IHS[65]> c1call-symbol</div><div>  IHS[64]> c1expr</div><div>  IHS[63]> c1call-symbol</div><div>  IHS[62]> c1expr</div><div>  IHS[61]> t1/c1expr</div><div>  IHS[60]> c1progn</div><div>  IHS[59]> c1block</div><div>  IHS[58]> c1call-symbol</div><div>  IHS[57]> c1expr</div><div>  IHS[56]> t1/c1expr</div><div>  IHS[55]> c1progn</div><div>  IHS[54]> c1decl-body</div><div>  IHS[53]> c1locally</div><div>  IHS[52]> c1call-symbol</div><div>  IHS[51]> c1expr</div><div>  IHS[50]> c1lambda-expr</div><div>  IHS[49]> c1compile-function</div><div>  IHS[48]> c1function</div><div>  IHS[47]> c1call-symbol</div><div>  IHS[46]> c1expr</div><div>  IHS[45]> c1fset</div><div>  IHS[44]> c1call-symbol</div><div>  IHS[43]> c1expr</div><div>  IHS[42]> t1ordinary</div><div>  IHS[41]> t1expr*</div><div>  IHS[40]> t1/c1expr</div><div>  IHS[39]> c1progn</div><div>  IHS[38]> c1eval-when</div><div>  IHS[37]> t1expr*</div><div>  IHS[36]> t1/c1expr</div><div>  IHS[35]> c1progn</div><div>  IHS[34]> t1expr*</div><div>  IHS[33]> t1expr*</div><div>  IHS[32]> t1expr</div><div>  IHS[31]> lambda, closure generated from compile-file</div><div>  IHS[30]> do-compilation-unit</div><div>  IHS[29]> compile-file</div><div>  IHS[28]> compile-file*</div><div>  IHS[27]> perform_nil_compile-op_cl-source-file</div><div>  IHS[26]> lambda, closure generated from wrapped-method-function</div><div>  IHS[25]> lambda, closure generated from standard-main-effective-method</div><div>  IHS[24]> perform-with-restarts_nil_t_t</div><div>  IHS[23]> lambda, closure generated from wrapped-method-function</div><div>  IHS[22]> perform-with-restarts_nil_compile-op_cl-source-file, closure generated from nil</div><div>  IHS[21]> lambda, closure generated from wrapped-method-function</div><div>  IHS[20]> lambda, closure generated from combine-method-functions</div><div>  IHS[19]> lambda, closure generated from operate_nil_t_t</div><div>  IHS[18]> do-compilation-unit</div><div>  IHS[17]> do-compilation-unit</div><div>  IHS[16]> operate_nil_t_t</div><div>  IHS[15]> lambda, closure generated from wrapped-method-function</div><div>  IHS[14]> lambda, closure generated from standard-main-effective-method</div><div>  IHS[13]> oos</div><div>  IHS[12]> bytecode [Evaluation of: (let ((*compile-print* nil) (*compile-verbose* nil) (*load-verbose* nil) (*load-print* nil)) (asdf:oos 'asdf:load-op "quicklisp" :verbose nil))]</div><div>  IHS[11]> initial-install</div><div>  IHS[10]> lambda</div><div>  IHS[9]> lambda, closure generated from wrapped-method-function</div><div>  IHS[8]> call-with-quiet-compilation</div><div>  IHS[7]> install</div><div>  IHS[6]> bytecode [Evaluation of: (quicklisp-quickstart:install)]</div><div>  IHS[5]> lambda, closure generated from interactive-loop</div><div><br></div><div><br></div></div></body></html>