[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [cfe-dev] LLVM / Clang 3.0 rc1 Binaries Available
From: |
Richard Frith-Macdonald |
Subject: |
Re: [cfe-dev] LLVM / Clang 3.0 rc1 Binaries Available |
Date: |
Thu, 27 Oct 2011 09:14:15 +0100 |
On 21 Oct 2011, at 11:02, David Chisnall wrote:
> FYI: Please test on platforms you care about and file bugs...
Using svn trunk for make/base/libobjc2 and using the 3.0 rc1 on debian 64bit I
get a failure ~(uncaught exception) in the NSURL tests in basic.m ...
I don't know whether it's a compiler bug or a libobjc2 bug though ...
Passed test: basic.m:96 ... resourceSpecifier of /usr is //localhost/usr/
/home/richard/setups/clang/devmodules/core/base/Tests/base/NSURL/obj/basic:
Uncaught exception NSInvalidArgumentException, reason: -[NSURL
initFileURLWithPath:isDir:]: unrecognized selector sent to instance 0x9bed98
In gdb I get ...
(gdb) where
#0 0x00007ffff6a3a165 in *__GI_raise (sig=<value optimized out>)
at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
#1 0x00007ffff6a3cf70 in *__GI_abort () at abort.c:92
#2 0x00007ffff7783a74 in _terminate ()
at /home/richard/setups/clang/devmodules/core/base/Source/NSException.m:751
#3 0x00007ffff7783a2d in _NSFoundationUncaughtExceptionHandler (
exception=0x9ed858)
at /home/richard/setups/clang/devmodules/core/base/Source/NSException.m:775
#4 0x00007ffff7781d49 in callUncaughtHandler (value=0x9ed858)
at /home/richard/setups/clang/devmodules/core/base/Source/NSException.m:795
#5 0x00007ffff7214522 in objc_exception_throw (object=0x9ed858)
at eh_personality.c:93
#6 0x00007ffff7782f19 in -[NSException raise] (self=0x9ed858,
_cmd=0x7ffff7d2a250)
at /home/richard/setups/clang/devmodules/core/base/Source/NSException.m:963
#7 0x00007ffff7782110 in +[NSException raise:format:arguments:] (
self=0x7ffff7d2a0e0, _cmd=0x7ffff7d2a2f0, name=0x7ffff7d29a10,
format=0x7ffff7d9a0d0, argList=0x7fffffff7b60)
at /home/richard/setups/clang/devmodules/core/base/Source/NSException.m:849
#8 0x00007ffff7781ff3 in +[NSException raise:format:] (self=0x7ffff7d2a0e0,
_cmd=0x7ffff7d9a510, name=0x7ffff7d29a10, format=0x7ffff7d9a0d0)
at /home/richard/setups/clang/devmodules/core/base/Source/NSException.m:835
#9 0x00007ffff7937b1d in gs_objc_msg_forward2 (receiver=0x9bed98,
sel=0x621960)
at
/home/richard/setups/clang/devmodules/core/base/Source/GSFFIInvocation.m:196
#10 0x00007ffff7937818 in gs_objc_msg_forward3 (receiver=0x9bed98, op=0x621960)
at
/home/richard/setups/clang/devmodules/core/base/Source/GSFFIInvocation.m:243
#11 0x00007ffff7220d26 in objc_msg_lookup_internal (receiver=0x9bed98,
selector=0x621960) at sendmsg2.c:100
#12 objc_msg_lookup (receiver=0x9bed98, selector=0x621960) at sendmsg2.c:375
#13 0x0000000000407656 in main () at basic.m:99
(gdb)
Stepping up through the stack I see it's trying to look up a value for a nul
receiver ...
243 slot->method = gs_objc_msg_forward2(receiver, op);
(gdb) print *receiver
$3 = {isa = 0x0}
(gdb)
but stepping further up it seems we have the real receiver ...
(gdb)
#12 objc_msg_lookup (receiver=0x9bed98, selector=0x621960) at sendmsg2.c:375
375 Slot_t slot = objc_msg_lookup_internal(&self, selector, nil);
(gdb) print self
$4 = (id) 0x9bed98
(gdb) print *self
$5 = {isa = 0x7ffff7d7a1b0}
(gdb) print *self.isa
$6 = {isa = 0x7ffff7d79db0, super_class = 0x7ffff7d4d190,
name = 0x7ffff79a84e2 "NSURL", version = 0, info = 93, instance_size = 40,
ivars = 0x7ffff7d79d20, methods = 0x7ffff7db7ea0, dtable = 0x76f280,
subclass_list = 0x0, sibling_class = 0x7ffff7d78680,
protocols = 0x7ffff7dddbf0, extra_data = 0x76f750, abi_version = 1,
ivar_offsets = 0x7ffff7d7a190, properties = 0x7ffff7dd5030,
strong_pointers = 1, weak_pointers = 1}
(gdb)
Is this the compiler passing the wrong value, or possibly something wrong in
the objc library?