Re: [Sbcl-help] Type error with sbcl-0.8.2 and clx_0.5.1

Christophe Rhodes <[email protected]> Thu, 07 Aug 2003 09:16:46 +0100
Newsgroups gmane.lisp.clx.devel,gmane.lisp.steel-bank.general
Message-ID <[email protected]>
[ I'm Ccing this to portable-clx-devel, because it might be of general
  interest ]

Parry Husbands <[email protected]> writes:

> Anyone else run into this?
>
> I compiled sbcl and clx from source.  I am connecting to an
> ssh-forwarded server (WinXP/Exceed).

Could you do a couple of things here?  The first would be to provide a
backtrace from the error call; the second would be to do the
equivalent of xdpyinfo(1) on your setup.

> * (xlib::just-say-lisp)
> debugger invoked on condition of type TYPE-ERROR:
>   The value 12
>   is not of type
>     (OR (INTEGER 1 1)
>         (INTEGER 4 4)
>         (INTEGER 8 8)
>         (INTEGER 16 16)
>         (INTEGER 24 24)
>         (INTEGER 32 32)).
>
> It seems to be a problem in xlib::display-connect.

So my *guess* as to what is happening here is that your X server
supports pixmaps with 12 (!?) bits per pixel, which isn't catered for
in the CLX source, and sbcl's type checking has picked this up.  If
this is the case, it shouldn't be too big a deal to fix, I think.  The
way to find out would be to look at xdpyinfo's output; on my systems,
it looks a bit like:
  (local X server)
    [...]
    depth 1, bits_per_pixel 1, scanline_pad 32
    depth 4, bits_per_pixel 8, scanline_pad 32
    depth 8, bits_per_pixel 8, scanline_pad 32
    depth 15, bits_per_pixel 16, scanline_pad 32
    depth 16, bits_per_pixel 16, scanline_pad 32
    depth 24, bits_per_pixel 32, scanline_pad 32
    depth 32, bits_per_pixel 32, scanline_pad 32
    [...]
  (VNC-over-ssh)
    [...]
    depth 1, bits_per_pixel 1, scanline_pad 32
    depth 24, bits_per_pixel 32, scanline_pad 32
    [...]

If you see an entry with bits_per_pixel 12, that might be our
culprit.  If not, any other entry in xdpyinfo's output which is 12
might well be a good clue :-)

Cheers,

Christophe
-- 
http://www-jcsu.jesus.cam.ac.uk/~csr21/       +44 1223 510 299/+44 7729 383 757
(set-pprint-dispatch 'number (lambda (s o) (declare (special b)) (format s b)))
(defvar b "~&Just another Lisp hacker~%")    (pprint #36rJesusCollegeCambridge)