PDA

View Full Version : Garbage Collection "Supported" Compiler Error




Darkroom
Jun 29, 2008, 07:07 AM
i'm in the process of removing all my memory code (release, retain, dealloc, etc.) to just rely on garbage collection. but before removing my memory code, i've activated the garbage collector and receiving this error from the compiler... i don't really understand it:


[Session started at 2008-06-29 08:03:30 -0400.]
objc[5766]: GC: -finalize resulted in an exception (0x103da30) being thrown, break on objc_exception_during_finalize_error to debug
*** +[HUDColorPanel<0x1030d90> finalize]: cannot finalize a class object
2008-06-29 08:03:30.941 Light[5766:10b] Error loading /Library/InputManagers/Ecamm/Ecamm Plugin Loader.bundle/Contents/MacOS/Ecamm Plugin Loader: dlopen(/Library/InputManagers/Ecamm/Ecamm Plugin Loader.bundle/Contents/MacOS/Ecamm Plugin Loader, 265): no suitable image found. Did find:
/Library/InputManagers/Ecamm/Ecamm Plugin Loader.bundle/Contents/MacOS/Ecamm Plugin Loader: GC capability mismatch


is there a plugin missing from my developer folder? should i try installing xCode 3.1? (i'm using 3.0)



yoavcs
Jun 29, 2008, 07:35 AM
Seems like you have some input manager installed which is try to attach itself to your code. (an Interface Builder palette?)

Since it is a framework it needs to be compiled to support GC if you want to link your own GC-compiled code with it.

Edit:
From a quick Google search it seems this Ecamm you have is some kind of download-tracking software installed as an input manager. I guess Xcode is trying to link your code against it.

I'd try removing it.

Darkroom
Jun 29, 2008, 08:33 AM
I'd try removing it.

oh, it's for an app i bought called iGlasses (http://www.ecamm.com/) (i guess?)... it lets users control the iSight camera's brightness, etc...

so does that mean people who have iGlasses installed on their computers, my app will not work for them? i don't understand why my app has to build against this in the input managers folder? can i tell me app not to do that?

[edit] so i removed it to see if it would compile with garbage collection turned on... it still will not... it no longer states anything about Ecamm, but the first phrase about an exception being thrown, or a class object that can not be finalized (???) is still present...


[Session started at 2008-06-29 09:36:45 -0400.]
objc[6720]: GC: -finalize resulted in an exception (0x103d950) being thrown, break on objc_exception_during_finalize_error to debug
*** +[HUDColorPanel<0x1030380> finalize]: cannot finalize a class object

[Session started at 2008-06-29 09:36:46 -0400.]
Loading program into debugger…
GNU gdb 6.3.50-20050815 (Apple version gdb-768) (Tue Oct 2 04:07:49 UTC 2007)
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show warranty" for details.
This GDB was configured as "i386-apple-darwin".Program loaded.
sharedlibrary apply-load-rules all
Attaching to program: `/Users/geoffreymattie/Desktop/Light v2 Application Code/build/Release/Light.app/Contents/MacOS/Light', process 6720.
Xcode: Introspection dylib not loaded because thread 1 has function: _class_lookupMethodAndLoadCache on stack
(gdb)


i guess it doesn't really matter... the memory code is all in place already so i don't necessarily need garbage collection... i just though this was strange and would like to hear some thoughts about it...

yoavcs
Jun 29, 2008, 08:45 AM
Edit: Well, there goes my theory right out the door ;)

Sayer
Jun 29, 2008, 09:22 AM
The first line tells you the problem is with HUDColorPanel. In a previous post you are using poseAsClass to swap HUDColorPanel for NSColorPanel and one or the other is not GC compliant it looks like, so that is the exception.