Opened 2 years ago

Closed 20 months ago

#198 closed defect (fixed)

Hunchentoot run failure

Reported by: mevenson Owned by: mevenson
Priority: critical Milestone: 1.1.1
Component: compiler Version: 1.1.0-dev
Keywords: streams upstream-has-patch.partial Cc:

Description (last modified by mevenson)

Loading Hunchentoot from Quicklisp fails on abcl-1.1 where it works for abcl-1.0.1

Compiled function can't be loaded: org.armedbear.lisp.ASDF_TMP_taskmaster_39 from org.armedbear.lisp.Pathname@21cb0e86
   [Condition of type ERROR]

Restarts:
 0: [TRY-RECOMPILING] Recompile taskmaster and try loading it again
 1: [RETRY] Retry loading FASL for #<ASDF:CL-SOURCE-FILE "hunchentoot" "taskmaster">.
 2: [ACCEPT] Continue, treating loading FASL for #<ASDF:CL-SOURCE-FILE "hunchentoot" "taskmaster"> as having been successful.
 3: [ABORT] Abort compilation.
 4: [*ABORT] Return to SLIME's top level.
 5: [ABORT] Abort thread.

Backtrace:
  0: (#<FUNCTION {378780A2}> #<ERROR {1A2690BF}> #<FUNCTION {378780A2}>)
  1: (APPLY #<FUNCTION {378780A2}> (#<ERROR {1A2690BF}> #<FUNCTION {378780A2}>))
  2: (SYSTEM::RUN-HOOK SYSTEM::*INVOKE-DEBUGGER-HOOK* #<ERROR {1A2690BF}> #<FUNCTION {378780A2}>)
  3: (INVOKE-DEBUGGER #<ERROR {1A2690BF}>)
  4: org.armedbear.lisp.Lisp.error(Lisp.java:379)
  5: org.armedbear.lisp.FaslClassLoader.loadFunction(FaslClassLoader.java:138)
  6: org.armedbear.lisp.FaslClassLoader$pf_get_fasl_function.execute(FaslClassLoader.java:164)
  7: org.armedbear.lisp.LispThread.execute(LispThread.java:666)
  8: org.armedbear.lisp.Lisp.evalCall(Lisp.java:557)

Change History (18)

comment:1 follow-up: Changed 2 years ago by https://www.google.com/accounts/o8/id?id=aitoawnthushznrlieuamks3fxvzisibfmuzjyo

Since CFFI doesn't always load the OpenSSL libraries, one has to push the :HUNCHENTOOT-NO-SSL symbol to *FEATURES*, as well as slightly patch Hunchentoot to get this to load.

comment:2 Changed 2 years ago by mevenson

  • Version changed from 1.0 to 1.1.0-dev

comment:3 Changed 2 years ago by mevenson

  • Priority changed from major to blocker

comment:4 Changed 2 years ago by mevenson

  • Description modified (diff)

comment:5 Changed 2 years ago by mevenson

  • Reporter changed from https://www.google.com/accounts/o8/id?id=aitoawnthushznrlieuamks3fxvzisibfmuzjyo to mevenson

comment:6 in reply to: ↑ 1 Changed 2 years ago by mevenson

Replying to https://www.google.com/accounts/o8/id?id=aitoawnthushznrlieuamks3fxvzisibfmuzjyo:

Since CFFI doesn't always load the OpenSSL libraries, one has to push the :HUNCHENTOOT-NO-SSL symbol to *FEATURES*, as well as slightly patch Hunchentoot to get this to load.

http://slack.net/~evenson/abcl/ currently contains some notes on what one has to patch and configure to go down this route.

comment:7 Changed 2 years ago by mevenson

From unpacking the taskmaster.abcl fasl from Hunchentoot, we see that it contains a number of zero-byte length objects which are not correctly loadable by the JVM.

  -rw-rw-rw-       910  24-Feb-2012  14:47:46  taskmaster_35.cls
  -rw-rw-rw-       910  24-Feb-2012  14:47:46  taskmaster_36.cls
  -rw-rw-rw-      1137  24-Feb-2012  14:47:46  taskmaster_37.cls
  -rw-rw-rw-      2203  24-Feb-2012  14:47:46  taskmaster_38.cls
  -rw-rw-rw-         0  24-Feb-2012  14:47:46  taskmaster_39.cls
  -rw-rw-rw-         0  24-Feb-2012  14:47:46  taskmaster_40.cls
  -rw-rw-rw-         0  24-Feb-2012  14:47:46  taskmaster_41.cls
  -rw-rw-rw-         0  24-Feb-2012  14:47:46  taskmaster_42.cls
  -rw-rw-rw-         0  24-Feb-2012  14:47:46  taskmaster_43.cls
  -rw-rw-rw-         0  24-Feb-2012  14:47:46  taskmaster_44.cls
  -rw-rw-rw-         0  24-Feb-2012  14:47:46  taskmaster_45.cls
  -rw-rw-rw-         0  24-Feb-2012  14:47:46  taskmaster_46.cls
  -rw-rw-rw-      1741  24-Feb-2012  14:47:46  taskmaster_47.cls
  -rw-rw-rw-      1618  24-Feb-2012  14:47:46  taskmaster_48.cls
  -rw-rw-rw-       775  24-Feb-2012  14:47:46  taskmaster_49.cls
  -rw-rw-rw-       635  24-Feb-2012  14:47:46  taskmaster_50.cls
  -rw-rw-rw-      1555  24-Feb-2012  14:47:46  

comment:8 Changed 2 years ago by mevenson

  • Owner changed from ehuelsmann to mevenson
  • Status changed from new to assigned

comment:9 Changed 2 years ago by mevenson

The taskmaster.abcl fasl doesn't seem to be a problem any more.

But Hunchentoot still fails to load, as (require :jna) fails even with a suitable mvn installed.

comment:10 Changed 2 years ago by mevenson

Reproduced from the form

(ASDF::LOAD-SYSDEF "jna" #P"jar:file:/home/evenson/work/abcl/dist/abcl-contrib.jar!/mvn/jna.asd")

I think this has something to do with *DEFAULT-PATHNAME-DEFAULTS* being a JAR-PATHNAME.

comment:11 Changed 2 years ago by mevenson

Hunchentoot now loads, but testing the system results in

Unable to display error condition: The value NIL is not of type (INTEGER 0 0).
   [Condition of type PROGRAM-ERROR]

Restarts:
 0: [RETRY] Retry #<STANDARD-CLASS ASDF:TEST-OP {57044C5}> on #<ASDF:SYSTEM "hunchentoot">.
 1: [ACCEPT] Continue, treating #<STANDARD-CLASS ASDF:TEST-OP {57044C5}> on #<ASDF:SYSTEM "hunchentoot"> as having been successful.
 2: [ABORT] Abort compilation.
 3: [*ABORT] Return to SLIME's top level.
 4: [ABORT] Abort thread.

Backtrace:
  0: (#<FUNCTION {5A34AB7A}> #<PROGRAM-ERROR {2FF68A99}> #<FUNCTION {5A34AB7A}>)
  1: (APPLY #<FUNCTION {5A34AB7A}> (#<PROGRAM-ERROR {2FF68A99}> #<FUNCTION {5A34AB7A}>))
  2: (SYSTEM::RUN-HOOK SYSTEM::*INVOKE-DEBUGGER-HOOK* #<PROGRAM-ERROR {2FF68A99}> #<FUNCTION {5A34AB7A}>)
  3: (INVOKE-DEBUGGER #<PROGRAM-ERROR {2FF68A99}>)
  4: (ERROR PROGRAM-ERROR :FORMAT-CONTROL "Invalid initarg ~S in call to ~S with arglist ~S." :FORMAT-ARGUMENTS (:PORT MAKE-INSTANCE (#<HUNCHENTOOT:EASY-ACCEPTOR {260674CA}> :PORT 4241)))
  5: (MOP::CHECK-INITARGS (#<STANDARD-GENERIC-FUNCTION ALLOCATE-INSTANCE {7EEC835F}> #<STANDARD-GENERIC-FUNCTION INITIALIZE-INSTANCE {6212F195}>) (#<HUNCHENTOOT:EASY-ACCEPTOR {260674CA}> :PORT 4241) #<HUNCHENTOOT:EASY-ACCEPTOR {260674CA}> T (:PORT 4241) #<EQ HASH-TABLE 3 entries, 22 buckets {63055B68}> MAKE-INSTANCE)
  6: (#<FUNCTION {74B43BA1}> #<STANDARD-CLASS HUNCHENTOOT:EASY-ACCEPTOR {6D176900}> :PORT 4241)
  7: (APPLY #<FUNCTION {74B43BA1}> (#<STANDARD-CLASS HUNCHENTOOT:EASY-ACCEPTOR {6D176900}> :PORT 4241))

comment:12 Changed 2 years ago by mevenson

  • Summary changed from Hunchentoot load failure to Hunchentoot run failure

comment:13 Changed 22 months ago by mevenson

  • Status changed from assigned to accepted

Invoking

(abcl:test-system :hunchentoot)

gives the following overflow as grabbed by SLIME

Stack overflow.
   [Condition of type STORAGE-CONDITION]

Restarts:
 0: [ABORT] Abort thread.

Backtrace:
  0: (#<FUNCTION {631A2693}> #<STORAGE-CONDITION {49DAAFB9}> #<FUNCTION {631A2693}>)
  1: (APPLY #<FUNCTION {631A2693}> (#<STORAGE-CONDITION {49DAAFB9}> #<FUNCTION {631A2693}>))
  2: (SYSTEM::RUN-HOOK SYSTEM::*INVOKE-DEBUGGER-HOOK* #<STORAGE-CONDITION {49DAAFB9}> #<FUNCTION {631A2693}>)
  3: (INVOKE-DEBUGGER #<STORAGE-CONDITION {49DAAFB9}>)
  4: org.armedbear.lisp.Lisp.error(Lisp.java:382)
  5: org.armedbear.lisp.Java$pf_jrun_exception_protected.execute(Java.java:1315)
  6: org.armedbear.lisp.Symbol.execute(Symbol.java:802)
  7: org.armedbear.lisp.LispThread.execute(LispThread.java:640)
  8: org.armedbear.lisp.ASDF_TMP_acceptor_140.execute(acceptor.lisp:631)
  9: org.armedbear.lisp.CompiledClosure.execute(CompiledClosure.java:109)
 10: org.armedbear.lisp.LispThread.execute(LispThread.java:653)
 11: org.armedbear.lisp.Primitives$pf_apply.execute(Primitives.java:2793)
 12: (#<FUNCTION {3446C090}>)
 13: (JRUN-EXCEPTION-PROTECTED #<FUNCTION {3446C090}>)
 14: (#<FUNCTION {110C48C0}> #<HUNCHENTOOT:EASY-ACCEPTOR {3D7C3DFE}> 302)
 15: (APPLY #<FUNCTION {110C48C0}> (#<HUNCHENTOOT:EASY-ACCEPTOR {3D7C3DFE}> 302))
 16: (HUNCHENTOOT:ACCEPTOR-STATUS-MESSAGE #<HUNCHENTOOT:EASY-ACCEPTOR {3D7C3DFE}> 302)
 17: (#<FUNCTION {27CA0E3B}>)
 18: (JRUN-EXCEPTION-PROTECTED #<FUNCTION {27CA0E3B}>)
 19: (#<FUNCTION {426C57E5}>)
 20: (JRUN-EXCEPTION-PROTECTED #<FUNCTION {426C57E5}>)
 21: (#<FUNCTION {3CC425B2}>)
 22: (JRUN-EXCEPTION-PROTECTED #<FUNCTION {3CC425B2}>)
 23: (HUNCHENTOOT:PROCESS-REQUEST #<HUNCHENTOOT:REQUEST {7186E848}>)
 24: (#<FUNCTION {4FFC0932}>)
 25: (HUNCHENTOOT::DO-WITH-ACCEPTOR-REQUEST-COUNT-INCREMENTED #<HUNCHENTOOT:EASY-ACCEPTOR {3D7C3DFE}> #<FUNCTION {4FFC0932}>)
 26: (#<FUNCTION {2BBFDAA4}> (#<HUNCHENTOOT:EASY-ACCEPTOR {3D7C3DFE}> #<USOCKET:STREAM-USOCKET {40AB5B6C}>))
 27: (#<FUNCTION {31FF309F}>)
 28: (JRUN-EXCEPTION-PROTECTED #<FUNCTION {31FF309F}>)
 29: (#<FUNCTION {68D1305D}>)
 30: (JRUN-EXCEPTION-PROTECTED #<FUNCTION {68D1305D}>)
 31: (#<FUNCTION {7DBE5F6D}> #<HUNCHENTOOT:EASY-ACCEPTOR {3D7C3DFE}> #<USOCKET:STREAM-USOCKET {40AB5B6C}>)
 32: (APPLY #<FUNCTION {7DBE5F6D}> (#<HUNCHENTOOT:EASY-ACCEPTOR {3D7C3DFE}> #<USOCKET:STREAM-USOCKET {40AB5B6C}>))
 33: (HUNCHENTOOT:PROCESS-CONNECTION #<HUNCHENTOOT:EASY-ACCEPTOR {3D7C3DFE}> #<USOCKET:STREAM-USOCKET {40AB5B6C}>)

Related to this in the *inferior-list* buffer:

; Loaded /home/evenson/.slime/fasl/2012-09-04/armedbear-1.1.0-dev-solaris-x86-64/contrib/swank-repl.abcl (0.12 seconds)
WARNING: Session secret is unbound.  Using Lisp's RANDOM function to initialize it.
java.lang.StackOverflowError
	at org.armedbear.lisp.LispThread.execute(LispThread.java:643)
	at org.armedbear.lisp.ASDF_TMP_util_41.execute(util.lisp:296)
	at org.armedbear.lisp.LispThread.execute(LispThread.java:640)
	at org.armedbear.lisp.ASDF_TMP_util_41.execute(util.lisp:296)
	at org.armedbear.lisp.LispThread.execute(LispThread.java:640)

comment:14 Changed 21 months ago by mevenson

  • Keywords streams added

Currently "sort-of" running. Fails parts of the test suites in character encoding when our Gray streams implementation falls down.

c.f. http://trac.common-lisp.net/armedbear/wiki/implementation/components/streams

comment:15 Changed 21 months ago by mevenson

  • Priority changed from blocker to critical

comment:16 Changed 21 months ago by mevenson

  • Keywords upstream-has-patch.partial added
  • Milestone changed from 1.1.0 to 1.1.1

comment:17 Changed 21 months ago by mevenson

Need to run hunchentoot-1.2.8 or [patch][1].

[Upstream has patch][[hunchentoot-abcl-github].

[1]: http://slack.net/~evenson/abcl/hunchentoot/

[hunchentoot-abcl-github]: https://github.com/easye/cffi/commit/c630aaf3b41501d3d2ac60b94461f96627fce627

comment:18 Changed 20 months ago by mevenson

  • Resolution set to fixed
  • Status changed from accepted to closed
Note: See TracTickets for help on using tickets.