[Openmcl-devel] Unprintable CCL::IMMEDIATE : #xEB
Gary Byers
gb at clozure.com
Tue Dec 2 10:19:23 PST 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