[Openmcl-devel] Mystery warning: Redefining STRUCT :OBJC_METHOD fields to be. Bug in record-fields-match?

Daniel Dickison danieldickison at gmail.com
Thu Aug 16 08:19:30 PDT 2007


I have a fairly complex program which bridges a portable Common Lisp  
windowing interface and OpenMCL's Cocoa interface.  I consistently  
get the following warning when loading the system:

; Warning: Redefining STRUCT :OBJC_METHOD fields to be:
;          (#<FOREIGN-RECORD-FIELD #<FOREIGN-POINTER-TYPE (:*
;                                                          (:STRUCT
;                                                           :OBJC_SELECT 
OR)) #x8D0820E> :METHOD_NAME 32 at 0>
;           #<FOREIGN-RECORD-FIELD #<FOREIGN-POINTER-TYPE (:*
;                                                          (:SIGNED
;                                                           8))  
#x8BF5D5E> :METHOD_TYPES 32 at 32>
;           #<FOREIGN-RECORD-FIELD #<FOREIGN-POINTER-TYPE (:*
;                                                          (:*
;                                                           :VOID))  
#x8D081AE> :METHOD_IMP 32 at 64>)
;          were
;          (#<FOREIGN-RECORD-FIELD #<FOREIGN-POINTER-TYPE (:*
;                                                          (:STRUCT
;                                                           :OBJC_SELECT 
OR)) #x88E5006> :METHOD_NAME 32 at 0>
;           #<FOREIGN-RECORD-FIELD #<FOREIGN-POINTER-TYPE (:*
;                                                          (:SIGNED
;                                                           8))  
#x88ED03E> :METHOD_TYPES 32 at 32>
;           #<FOREIGN-RECORD-FIELD #<FOREIGN-POINTER-TYPE (:*
;                                                          (:*
;                                                           :VOID))  
#x88ECF56> :METHOD_IMP 32 at 64>)
; While executing: CCL::PARSE-FOREIGN-RECORD-TYPE, in process worker(7).

The code then works fine, so it seems to be harmless.  The program is  
loaded from several different files, if that make any difference.   
The warning seems to happen when it loads one of the later FASL files  
(not during compilation).

As you can see, the 2 struct field types appear to match in name,  
type, size and offset, so I'm guessing there's a bug in ccl::record- 
fields-match, but I can't find it.  I can send the code or backtrace  
if that will help.

Thanks for any help!

Daniel




More information about the Openmcl-devel mailing list