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

Daniel Lyons fusion at storytotell.org
Tue Dec 2 09:45:23 PST 2008


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