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