[Openmcl-devel] Unprintable CCL::IMMEDIATE : #xEB

Gary Byers gb at clozure.com
Tue Dec 2 18:19:23 UTC 2008


Matt fixed this yesterday (see
<http://trac.clozure.com/openmcl/changeset/11449>).

As far as I can tell, the fix works:

  Welcome to Clozure Common Lisp Version 1.3-dev-r11451M-trunk  (DarwinX8632)!

? (concatenate 'string '("a" "b" "cde"))
> Error: "a" doesn't match array element type of "   ".

I assume that the version you're running is -so- yesterday ...


On Tue, 2 Dec 2008, Daniel Lyons wrote:

> Hi Gary,
>
> On Nov 30, 2008, at 11:10 PM, Gary Byers wrote:
>
>> It's hard to respond to something like this without knowing what version
>> of the lisp you're running.  Unless you're really sure that that 
>> information
>> is irrelevant, it's generally a good idea to include it when reporting a
>> problem like this.
>> 
>> My best guess is that you're running some 32-bit X86 version on Darwin.
>> On that platform, #xeb is just a placeholder value used to reserve
>> space for an outgoing stack frame in some cases; nothing's supposed
>> to ever "see" that marker value.  Having one of these things get
>> passed around is indicative of a fairly serious bug (the compiler's
>> lost track of what's on the stack, or the runtime is pushing or
>> popping more than it's supposed to, or something like that.)
>> 
>> It's been a while since I've seen that sort of bug in the x86-32
>> trunk lisps, but that doesn't mean that such a bug isn't still
>> there.  If it is still present in the trunk, then knowing how to
>> reproduce it would be helpful.
>
>
> Unfortunately, I'm running the same platform (OS X 10.5, 32-bit Intel) and I 
> saw the same error when I was making other, much stupider mistakes today. 
> Namely with these:
>
> (concatenate 'string '("a" "b" "cde"))
> (coerce '("a" "b" "cd") 'string)
>
> Under SBCL, I get the following type error:
>
> *  (concatenate 'string '("a" "b" "cde"))
>
> debugger invoked on a TYPE-ERROR in thread #<THREAD "initial thread" RUNNING 
> {1192B6B9}>:
> The value "a" is not of type CHARACTER.
>
> Type HELP for debugger help, or (SB-EXT:QUIT) to exit from SBCL.
>
> restarts (invokable by number or by possibly-abbreviated name):
> 0: [ABORT] Exit debugger, returning to top level.
>
> (SB-IMPL::OPTIMIZED-DATA-VECTOR-SET
> #<unavailable argument>
> #<unavailable argument>
> #<unavailable argument>)
> 0]
>
>
> But under CCL (trunk) I get this:
>
> ? (concatenate 'string '("a" "b" "cde"))
>> Error: value #<Unprintable CCL::IMMEDIATE : #xEB> is not of the expected 
>> type CCL::UVECTOR.
>> While executing: CCL::%PR-INTEGER, in process listener(1).
>> Type :POP to abort, :R for a list of available restarts.
>> Type :? for other options.
> 1 >
>
> And again under SBCL with the second call:
>
> * (coerce '("a" "b" "cd") 'string)
>
> debugger invoked on a TYPE-ERROR in thread #<THREAD "initial thread" RUNNING 
> {1192B6B9}>:
> The value "a" is not of type CHARACTER.
>
> Type HELP for debugger help, or (SB-EXT:QUIT) to exit from SBCL.
>
> restarts (invokable by number or by possibly-abbreviated name):
> 0: [ABORT] Exit debugger, returning to top level.
>
> (SB-IMPL::OPTIMIZED-DATA-VECTOR-SET
> #<unavailable argument>
> #<unavailable argument>
> #<unavailable argument>)
> 0]
>
> And then again with CCL:
>
> ? (coerce '("a" "b" "cd") 'string)
>> Error: value #<Unprintable CCL::IMMEDIATE : #xEB> is not of the expected 
>> type CCL::UVECTOR.
>> While executing: CCL::%PR-INTEGER, in process listener(1).
>> Type :POP to abort, :R for a list of available restarts.
>> Type :? for other options.
> 1>
>
> Hope this helps. Thanks!
>
>> Daniel Lyons
> http://www.storytotell.org -- Tell It!
>


More information about the Openmcl-devel mailing list