• Top
    • Documentation
    • Books
      • Cert.pl
      • Community-books
      • Project-dir-alist
      • Bookdata
      • Uncertified-books
      • Book-hash
      • Sysfile
      • Show-books
      • Best-practices
      • Books-reference
        • Include-book
        • Certify-book
          • Useless-runes
          • Fast-cert
          • Certify-book-debug
            • Certify-book!
          • Cbd
          • Set-write-ACL2x
          • Book-compiled-file
          • Add-include-book-dir
          • Pathname
          • With-current-package
          • Add-include-book-dir!
          • Full-book-name
          • Delete-include-book-dir
          • With-cbd
          • Delete-include-book-dir!
          • Set-cbd
          • Certify-book-debug
          • Where-do-i-place-my-book
          • Books-tour
        • Boolean-reasoning
        • Projects
        • Debugging
        • Std
        • Proof-automation
        • Macro-libraries
        • ACL2
        • Interfacing-tools
        • Hardware-verification
        • Software-verification
        • Math
        • Testing-utilities
      • Certify-book
      • Books-reference

      Certify-book-debug

      Some possible ways to work around certify-book failures

      This topic provides some ideas for how to deal with certify-book failures. Ideally, this topic will continue to grow over time.

      Stack overflows may show up as follows.

      ***********************************************
      ************ ABORTING from raw Lisp ***********
      ********** (see :DOC raw-lisp-error) **********
      Error:  Stack overflow on value stack.
      ***********************************************

      When this occurs during book certification, it could be during an attempt to handle large objects, in particular by the serialize writer or by a memoized version of the check for ``bad'' objects. These two potential causes can be remedied by first evaluating the following forms, respectively.

      (set-serialize-character-system nil state)
      (set-bad-lisp-consp-memoize nil)

      If the large object is in an event in the book under certification, then you may need to avoid printing it, as follows.

      (set-inhibit-output-lst '(proof-tree event))

      Other failures of certify-book may have error messages that point to the problem. When that is not the case, it would be good to explain possible workarounds in this topic!