SBCL 1.0.51 compiles fine on Windows, but when I tried to build an installer, I ran into the following error:

This is experimental prerelease support for the Windows platform: use
at your own risk.  "Your Kitten of Death awaits!"
unhandled SIMPLE-ERROR: No abbreviation for type: file

0: (SB-DEBUG::MAP-BACKTRACE
    #<CLOSURE (LAMBDA #) {23E2DD65}>
    :START
    0
    :COUNT
    128)
1: (BACKTRACE 128 #<SYNONYM-STREAM :SYMBOL SB-SYS:*STDERR* {223B2BB9}>)
2: (SB-DEBUG::DEBUGGER-DISABLED-HOOK
    #<SIMPLE-ERROR "No abbreviation for type: ~A" {23E2C929}>
    #<unavailable argument>)
3: (SB-DEBUG::RUN-HOOK
    *INVOKE-DEBUGGER-HOOK*
    #<SIMPLE-ERROR "No abbreviation for type: ~A" {23E2C929}>)
4: (INVOKE-DEBUGGER #<SIMPLE-ERROR "No abbreviation for type: ~A" {23E2C929}>)
5: (ERROR "No abbreviation for type: ~A" "file")
6: (FILE-NAMES
    #P"c:/Users/Elliott/Desktop/sbcl-1.0.51/contrib/sb-posix/test-output/some.file")
7: (COLLECT-1-COMPONENT
    #P"c:/Users/Elliott/Desktop/sbcl-1.0.51/contrib/sb-posix/test-output/")
8: (COLLECT-COMPONENTS
    #P"c:/Users/Elliott/Desktop/sbcl-1.0.51/contrib/sb-posix/test-output/")
9: (COLLECT-COMPONENTS
    #P"c:/Users/Elliott/Desktop/sbcl-1.0.51/contrib/sb-posix/")
10: (COLLECT-CONTRIB-COMPONENTS)
11: (WRITE-WXS "sbcl.wxs")
12: (SB-INT:SIMPLE-EVAL-IN-LEXENV (WRITE-WXS "sbcl.wxs") #<NULL-LEXENV>)
13: (SB-IMPL::SIMPLE-EVAL-PROGN-BODY
     ((WRITE-RTF (READ-TEXT "../COPYING") "License.rtf") (WRITE-WXS "sbcl.wxs")
      (WITH-OPEN-FILE
          (F "version.txt" :DIRECTION :OUTPUT :IF-EXISTS :SUPERSEDE)
        (WRITE-LINE (LISP-IMPLEMENTATION-VERSION) F))
      (QUIT))
     #<NULL-LEXENV>)
14: (SB-INT:SIMPLE-EVAL-IN-LEXENV
     (PROGN
      (WRITE-RTF (READ-TEXT "../COPYING") "License.rtf")
      (WRITE-WXS "sbcl.wxs")
      (WITH-OPEN-FILE
          (F "version.txt" :DIRECTION :OUTPUT :IF-EXISTS :SUPERSEDE)
        (WRITE-LINE (LISP-IMPLEMENTATION-VERSION) F))
      (QUIT))
     #<NULL-LEXENV>)
15: (EVAL
     (PROGN
      (WRITE-RTF (READ-TEXT "../COPYING") "License.rtf")
      (WRITE-WXS "sbcl.wxs")
      (WITH-OPEN-FILE
          (F "version.txt" :DIRECTION :OUTPUT :IF-EXISTS :SUPERSEDE)
        (WRITE-LINE (LISP-IMPLEMENTATION-VERSION) F))
      (QUIT)))
16: (SB-IMPL::PROCESS-EVAL/LOAD-OPTIONS
     ((:LOAD . "../tools-for-build/rtf.lisp")
      (:LOAD . "../tools-for-build/wxs.lisp")
      (:EVAL . "(progn 
            (write-rtf (read-text \"../COPYING\") \"License.rtf\")
            (write-wxs \"sbcl.wxs\")
            (with-open-file (f \"version.txt\" 
                               :direction :output
                               :if-exists :supersede)
             (write-line (lisp-implementation-version) f))
            (quit))")))
17: (SB-IMPL::TOPLEVEL-INIT)
18: ((FLET #:WITHOUT-INTERRUPTS-BODY-[RESTART-LISP]30))
19: ((LABELS SB-IMPL::RESTART-LISP))
20: ("foreign function: #x413C14")
21: ("foreign function: #x40B2D5")

unhandled condition in --disable-debugger mode, quitting

On Wed, Aug 24, 2011 at 10:19 AM, Josh Elsasser <josh@elsasser.org> wrote:
On Wed, Aug 24, 2011 at 06:26:49PM +0300, Nikodemus Siivola wrote:
> On 24 August 2011 17:25, Josh Elsasser <josh@elsasser.org> wrote:
>
> > I just recently fixed the mail system on my OpenBSD/x86 machine and
> > realized that the same problem has existed there since ~Aug 1. An
> > automated bisection shows the problematic commit as:
>
> > ?? ??more robust backtraces for syscalls on x86
>
> > If I update to the current HEAD and unconditionally set
> > sb!c:alien-funcall-saves-fp-and-pc to 0 in make-host-2.lisp then the
> > room test is able to finish normally, with normal-looking output:
>
> I'm guessing it's the call to find_page_index that is the problem.
>
> Does adding (declare (optimize (sb!c:alien-funcall-saves-fp-and-pc
> 0))) to MAP-ALLOCATED-OBJECTS have the same effect for you?

Seems to, yes:


diff --git a/src/code/room.lisp b/src/code/room.lisp
index 3877c29..6e4ef7e 100644
--- a/src/code/room.lisp
+++ b/src/code/room.lisp
@@ -236,6 +236,7 @@
 #!-sb-fluid (declaim (maybe-inline map-allocated-objects))
 (defun map-allocated-objects (fun space &optional careful)
  (declare (type function fun) (type spaces space))
+  (declare (optimize (sb!c:alien-funcall-saves-fp-and-pc 0)))
  (flet ((make-obj (tagged-address)
           (if careful
               (make-lisp-obj tagged-address nil)


Dynamic space usage is:   39,650,016 bytes.
Read-only space usage is:      2,760 bytes.
Static space usage is:         1,712 bytes.
Control stack usage is:        1,656 bytes.
Binding stack usage is:          392 bytes.
Garbage collection is currently enabled.

Breakdown for dynamic space:
  9,528,024 bytes for 1,191,003 sap objects.
  9,272,120 bytes for    12,169 code objects.
  5,110,032 bytes for   638,754 cons objects.
  3,935,512 bytes for    91,866 instance objects.
  3,460,304 bytes for    58,473 simple-vector objects.
  3,075,192 bytes for   331,963 bignum objects.
  5,657,936 bytes for   133,259 other objects.
 40,039,120 bytes for 2,457,487 dynamic objects (space total.)
test room test ok

------------------------------------------------------------------------------
EMC VNX: the world's simplest storage, starting under $10K
The only unified storage solution that offers unified management
Up to 160% more powerful than alternatives and 25% more efficient.
Guaranteed. http://p.sf.net/sfu/emc-vnx-dev2dev
_______________________________________________
Sbcl-devel mailing list
Sbcl-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/sbcl-devel



--
Elliott Slaughter

"Don't worry about what anybody else is going to do. The best way to predict the future is to invent it." - Alan Kay