[Openmcl-devel] Crash on Lion Preview 3

Gary Byers gb at clozure.com
Mon Jun 6 13:36:02 PDT 2011

People who have access to prereleased Apple software agreed not to
discuss that software publicly; even though that's a ridiculous
constraint, Apple sometimes decides to enforce it.  I'd hate to
violate that agreement and lose access to all of that valuable ...  uh
... Hmmm.  well, there's probably some reason not to want to violate
that agreement, even if it's sometimes hard to remember what that
reason is.

Apple has apparently announced plans to release Lion next month.
Anyone who's interested in the error message below (and who isn't so
giddy with Lion anticipation that they can't control themselves) might
want to compile and run the enclosed ObjC program on the OSX systems
that they have available (including Lion prereleases, as long as proper
secrecy is maintained.)  It is important to compile the program on the
system(s) it's run on.

Differences in internal class names aren't surprising; only some 3rd-party
developer tool vendors could possibly care about that sort of thing, and
why should Apple bother to tell them ?

If the test revealed that ObjC classes weren't canonicalized consistently -
if there were ObjC instances that referred to non-canonical (obsolete or
duplicate) classes, that would be a bit more noteworthy and worthy of
discussion.  (With Apple, of course, and using the Cone Of Silence or
whatever encryption technology such discussions require.)

I haven't had any such discussions with Apple personally.  In the past,
"developer previews" of OS releases have had so little in common with the
final versions of those releases that such discussions seemed pointless.
With the new "Why Bother Testing?" accelerated release schedule, that
strategy will likely need to be reevaluated.

On Sat, 4 Jun 2011, Harald Striepe wrote:

> I am crashing on Lion Preview 3 with the latest build done on another system - both 64 and 32 bit versions:
>> Error: value #<A Foreign Pointer #x7FFF759806C0> is not of the expected type OBJC:OBJC-OBJECT.
>> While executing: (:INTERNAL GUI::|+[LispApplicationDelegate initialize]|), in process Initial(0).
> Has anybody tested it, found a work around? I am switching to Lion full-time on my MacBook Pro...
> -- Harald
> _______________________________________________
> Openmcl-devel mailing list
> Openmcl-devel at clozure.com
> http://clozure.com/mailman/listinfo/openmcl-devel
-------------- next part --------------
$ cc -o test test.m -framework Foundation
$ ./test

#include <Foundation/Foundation.h>
#include <sys/types.h>
#include <stdio.h>
#include <objc/runtime.h>

  id nullstring = @"", class_of_nullstring, canonical_class;
  const char * classname;

  class_of_nullstring = object_getClass(nullstring);
  classname = class_getName(class_of_nullstring);
  canonical_class = objc_getClass(classname);

  fprintf(stderr,"class of null constant string @ 0x%lx\n",(uintptr_t)class_of_nullstring);
  fprintf(stderr,"name = %s\n",classname);
  fprintf(stderr,"getClass(name)                @ 0x%lx\n", (uintptr_t)canonical_class);

More information about the Openmcl-devel mailing list