Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

many failed tests on LispWorks #3

Open
sellout opened this issue Apr 24, 2011 · 3 comments
Open

many failed tests on LispWorks #3

sellout opened this issue Apr 24, 2011 · 3 comments
Labels

Comments

@sellout
Copy link
Owner

sellout commented Apr 24, 2011

This seems similar to #1 and #2, but with an even less helpful stack, etc. Many tests fail with “Error: malformed”. Here’s the backtrace:

Call to ERROR
Call to CLOS::SIMPLE-WALK-FORM
Call to CLOS::SIMPLE-WALK-FORM
Call to CLOS::SIMPLE-WALK-FORM
Call to CLOS::SIMPLE-WALK-FORM
Call to CLOS::SIMPLE-WALK-FORM
Call to CLOS::SIMPLE-WALK-FORM
Call to CLOS::MAKE-EFFECTIVE-METHOD-FUNCTION
Call to CLOS::COMPUTE-EFFECTIVE-METHOD-FUNCTION
Call to CLOS::COMPUTE-EFFECTIVE-METHOD-FROM-METHODS
Call to CLOS::I-DEMAND-LOOKUP-METHOD-4
Call to CLOS::DCODE-MISS-A
Call to (HARLEQUIN-COMMON-LISP:SUBFUNCTION (LABELS IT.BESE.FIVEAM::RUN-IT) (METHOD IT.BESE.FIVEAM::RUN-TEST-LAMBDA (IT.BESE.FIVEAM::TEST-CASE)))
Call to (METHOD IT.BESE.FIVEAM::RUN-TEST-LAMBDA (IT.BESE.FIVEAM::TEST-CASE))
Call to (METHOD IT.BESE.FIVEAM::RUN-RESOLVING-DEPENDENCIES (IT.BESE.FIVEAM::TEST-CASE))
Call to (HARLEQUIN-COMMON-LISP:SUBFUNCTION IT.BESE.FIVEAM::RUN-TESTS (METHOD IT.BESE.FIVEAM::%RUN (IT.BESE.FIVEAM::TEST-SUITE)))
Call to (METHOD IT.BESE.FIVEAM::%RUN (IT.BESE.FIVEAM::TEST-SUITE))
Call to (HARLEQUIN-COMMON-LISP:SUBFUNCTION 1 RUN)
Call to RUN!
Call to FUNCALL
Interpreted call to (METHOD ASDF:PERFORM :AFTER (ASDF:TEST-OP (EQL #<ASDF:SYSTEM "quid-pro-quo">)))
Call to CLOS::METHOD-COMBINATION-TEMPLATE
Call to (HARLEQUIN-COMMON-LISP:SUBFUNCTION 1 (METHOD ASDF:OPERATE (T T)))
Call to (METHOD ASDF:OPERATE (T T))
Call to CLOS::METHOD-COMBINATION-TEMPLATE
Call to ASDF:TEST-SYSTEM
Call to EVAL
Call to CAPI::CAPI-TOP-LEVEL-FUNCTION
Call to CAPI::INTERACTIVE-PANE-TOP-LOOP
Call to MP::PROCESS-SG-FUNCTION
@sellout
Copy link
Owner Author

sellout commented Apr 24, 2011

Walking through the stack, I could pull out some more info. Here are the contents of the CLOS::SIMPLE-WALK-FORM frames:

  CLOS::FORM          : #<STANDARD-METHOD TEST-QPQ NIL (INTEGER INTEGER) 2191DF43>
  CLOS::ENV           : NIL
  CLOS::WALK-FUNCTION : #<Function CLOS::WALK-FUNCTION subfunction of CLOS::MAKE-EFFECTIVE-METHOD-TEMPLATE 20ADEEBA>

  CLOS::FORM          : (WARN (QUOTE OVERLY-STRICT-PRECONDITION-WARNING) :METHOD #<STANDARD-METHOD TEST-QPQ NIL (INTEGER INTEGER) 2191DF43>)
  CLOS::ENV           : NIL

  CLOS::FORM          : (WHEN (AND QUID-PRO-QUO::LAST-SUCCESS (< QUID-PRO-QUO::FIRST-FAILURE QUID-PRO-QUO::LAST-SUCCESS)) (WARN (QUOTE OVERLY-STRICT-PRECONDITION-WARNING) :METHOD #<STANDARD-METHOD TEST-QPQ NIL (INTEGER INTEGER) 2191DF43>))
  CLOS::ENV           : NIL

which tells us where we are in the code (method-combination.lisp, line 97):

(warn 'overly-strict-precondition-warning
      :method ,(first primary))

Then

Call to CLOS::MAKE-EFFECTIVE-METHOD-FUNCTION (offset 167)
  CLOS::REQUIRED              : 2
  CLOS::RESTP                 : NIL
  CLOS::EFFECTIVE-METHOD-BODY : (MULTIPLE-VALUE-PROG1 (LET* ((QUID-PRO-QUO::CONTRACT-RESULTS #) (QUID-PRO-QUO::FIRST-FAILURE #) (QUID-PRO-QUO::LAST-SUCCESS #)) (WHEN QUID-PRO-QUO::FIRST-FAILURE (WHEN # #) (WHEN # #)) (CALL-METHOD #<STANDARD-METHOD TEST-QPQ # # 2191DFBB> (#))) (UNLESS (CALL-METHOD #<STANDARD-METHOD TEST-QPQ # # 2191DECB>) (ERROR (QUOTE POSTCONDITION-ERROR) :DESCRIPTION "999" :METHOD #<STANDARD-METHOD TEST-QPQ NIL # 2191DF43>)) (UNLESS (CALL-METHOD #<STANDARD-METHOD TEST-QPQ # # 2191DE8F>) (ERROR (QUOTE POSTCONDITION-ERROR) :DESCRIPTION "always true" :METHOD #<STANDARD-METHOD TEST-QPQ NIL # 2191DF43>)))
  CLOS::COMBI-ARGS            : NIL

gives a bit of context. But what’s happening? It looks like LispWorks thinks the TEST-QPQ method object is malformed? I don’t get it.

@sellout
Copy link
Owner Author

sellout commented Apr 28, 2011

As things improve with other compilers, they get worse with LispWorks. Now I get an error like "recursive error in coerce to condition" briefly before LispWorks crashes and takes its error message with it.

@sellout
Copy link
Owner Author

sellout commented Mar 23, 2012

The recursive error and crash is now "fixed", but we're back to the original error.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant