On 13 Jan 2013, at 17:15, Fred Kiefer wrote:
I just run the base tests on my 64bit OpenSuse machine and had a failed file
here as well (and also a few expected failed tests from NSLocale, we need to
mark those as hopes). The failing file in create.m in NSPointerArray and
running it with a debugger gives this backtrace:
#0 0x00007ffff7421731 in objc_msg_lookup () from /usr/lib64/libobjc.so.4
#1 0x00007ffff78bcf18 in pointerFunctionsAssign (value=<optimized out>,
addr=0x644960,
PF=<optimized out>) at NSConcretePointerFunctions.h:142
#2 pointerFunctionsAssign (value=<optimized out>, addr=0x644960, PF=<optimized
out>)
at NSPointerArray.m:455
#3 pointerFunctionsMove (new=0x644960, PF=0x643030, old=<optimized out>)
at NSConcretePointerFunctions.h:172
#4 -[NSConcretePointerArray insertPointer:atIndex:] (self=0x643028,
_cmd=<optimized out>,
pointer=0x608740 <_OBJC_INSTANCE_8>, index=0) at NSPointerArray.m:467
#5 0x00000000004056c3 in main () at create.m:33
Thanks for the report ... it wasn't happening on my system, but I think that
was just luck of the memory layout.
The problem was with some uninitialised memory.
I changed the pointer array code to clear new memory when the array is
allocated/grown, so we never think an unused location has anything in it.