gnustep-base-0.21.0 is deallocing lock classes which were permanently
registered in the libobjc's hash table.

I think the only option for ObjectiveC 2.0 right now is to use SVN trunk.
I'll try in the next couple days.

On Tue, Feb 15, 2011 at 8:49 PM, Jason Felice <[email protected]>wrote:

>
> I'm using:
>
> jason@jerry:~$ clang -v
> clang version 2.8 (branches/release_28)
> Target: x86_64-pc-linux-gnu
> Thread model: posix
>
> I get this error:
>
> ZCPBXProjectReader_loads_plist_dictionary ... done
> ZCPBXProjectReader_signals_error_if_plist_cant_be_loaded ... done
> ZCPBXProjectReader_returns_error_message ... check_Zcode: class.c:561:
> __objc_resolve_class_links: Assertion
> `((class1->class_pointer)&&((((class1->class_pointer)->info)&0x2L)==0x2L))'
> failed.
>
> Aborted
> make[1]: *** [internal-check] Error 134
>
> I'm using the gnustep-objc library, but I've gotten the same issue with
> both gcc-4.4 and gcc-4.5 libobjc.  Weird part:  If I run the _same build_
> under the debugger, I get this output:
>
>
> ZCPBXProjectReader_loads_plist_dictionary ... done
> ZCPBXProjectReader_signals_error_if_plist_cant_be_loaded ... done
> ZCPBXProjectReader_returns_error_message ... done
> ZCPBXProjectReader_rejects_files_with_archiveVersion_ne_1 ... done
> ZCPBXProjectReader_can_get_objects_hash ... check_Zcode: class.c:560:
> __objc_resolve_class_links: Assertion
> `((class1)&&((((class1)->info)&0x1L)==0x1L))' failed.
>
> Program received signal SIGABRT, Aborted.
>
> ... which means it gets further, so we have some kind of uninitialized
> memory or race condition.
>
> I haven't looked into it further yet.  Each test has it's own autorelease
> pool.
>
>
>
> On Tue, Feb 15, 2011 at 4:34 PM, Ivan Vučica <[email protected]> wrote:
>
>> Cheers,
>>
>> on Zcode, Jason Felice has been doing great work on cleaning up the mess I
>> made of the code, refactoring it to make PBX reader actually usable in other
>> projects (separated into PBXProjLib), et cetera. The code can be pulled
>> using Mercurial with "hg clone https://bitbucket.org/ivucica/zcode"; (or
>> viewed at the same URL).
>>
>> One of the things he's worked on is a test suite for PBXProjLib.  There's
>> a strange crash inside the runtime in one of the tests. Jason, please
>> correct me if anything I state below is wrong:
>>
>> ivucica@theevilmacbook:~/Development/Zcode$ make check
>> This is gnustep-make 2.4.0. Type 'make print-gnustep-make-help' for help.
>> Making check in check ...
>> for t in obj/check_Zcode; do $t || exit $?; done
>> ZCPBXProjectReader_loads_plist_dictionary ... done
>> ZCPBXProjectReader_signals_error_if_plist_cant_be_loaded ... done
>> *ZCPBXProjectReader_returns_error_message ... check_Zcode:
>> /scratch/packages/gcc/4.4/gcc-4.4-4.4.5/src/libobjc/class.c:560:
>> __objc_resolve_class_links: Assertion
>> `((class1->class_pointer)&&((((class1->class_pointer)->info)&0x2L)==0x2L))'
>> failed.*
>> Aborted
>> make[1]: *** [internal-check] Error 134
>> make: *** [internal-check] Error 2
>>
>>
>> This is the code of the test:
>>
>> CHECK(ZCPBXProjectReader_returns_error_message)
>> {
>>         ZCPBXProjectReader *r = [[ZCPBXProjectReader alloc] initWithFile:@
>> "does_not_exist.pbxproj"];
>>         (void) r.plist;
>>         assert(r.errorMessage != nil);
>>         [r release];
>> }
>>
>>
>>
>> This is compiled with clang 1.1 under Debian:
>> ivucica@theevilmacbook:~/Development/Zcode/check$ clang -v
>> clang version 1.1 (Debian 2.7-3)
>> Target: i386-pc-linux-gnu
>> Thread model: posix
>>
>> libobjc2 seems to be the one that shipped with GCC 4.4.5:
>> ivucica@theevilmacbook:~/Development/Zcode/check$ apt-cache showpkg
>> libobjc2
>> Package: libobjc2
>> Versions:
>> 4.4.5-10
>> (/var/lib/apt/lists/ftp.hr.debian.org_debian_dists_testing_main_binary-i386_Packages)
>> (/var/lib/dpkg/status)
>> (etc)
>>
>> This is Objective-C 2.0 code. Tests are running consecutively one after
>> another in the same process. Jason has experienced the same crash under
>> Ubuntu. (I don't know the version
>>
>> What's wrong here? Is this a bug that's fixed in recent versions of the
>> runtime or in recent versions of the GNUstep? Did we stumble upon some new
>> bug? Did we forget to initialize anything? PBXProjLib uses just the
>> Foundation. There appear to be no issues under Apple's Cocoa environment.
>>
>> Jason has done a bit of research on what is the issue, but I'd leave it to
>> him to state the exact problems. In the meantime, the bug is reproducible,
>> and I'm not sure what to do about it.
>>
>> Any insight you guys could shed on this would be much appreciated. We'd
>> (or at least I'd) hate to go back to ObjC1.0 just because of a silly bug.
>> --
>> Regards,
>>
>> Ivan Vučica
>>
>>
>
_______________________________________________
Discuss-gnustep mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/discuss-gnustep

Reply via email to