discuss-gnustep
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Infinite loop in objc_storeWeak


From: Thomas Davie
Subject: Infinite loop in objc_storeWeak
Date: Fri, 15 Jun 2012 14:18:02 +0100

Hi all,

I'm just trying to get some zeroing weak reference code working, and wrote 
myself a little wrapper library that gives me an NSValue like object storing a 
zeroing weak reference to another object.

Unfortunately, when that's linked into another project and run, I get an 
infinite loop in objc_storeWeak (as shown below).

Anyone know how to deal with this scenario?

Thanks

Tom Davie

0x00007ffff69bd37c in objc_storeWeak (addr=<optimized out>, obj=<optimized 
out>) at arc.m:493
493                                     if (0 == ref->ref[i])
(gdb) p ref
$1 = <optimized out>
(gdb) n
491                             for (int i=0 ; i<4 ; i++)
(gdb) 
493                                     if (0 == ref->ref[i])
(gdb) 
491                             for (int i=0 ; i<4 ; i++)
(gdb) 
493                                     if (0 == ref->ref[i])
(gdb) 
491                             for (int i=0 ; i<4 ; i++)
(gdb) 
500                             if (ref->next == NULL)
(gdb) 
491                             for (int i=0 ; i<4 ; i++)
(gdb) 
493                                     if (0 == ref->ref[i])
(gdb) 
491                             for (int i=0 ; i<4 ; i++)
(gdb) 
493                                     if (0 == ref->ref[i])
(gdb) 
491                             for (int i=0 ; i<4 ; i++)
(gdb) 
493                                     if (0 == ref->ref[i])
(gdb) 
491                             for (int i=0 ; i<4 ; i++)
(gdb) 
493                                     if (0 == ref->ref[i])
(gdb) 
491                             for (int i=0 ; i<4 ; i++)
(gdb) 
500                             if (ref->next == NULL)
(gdb) 
491                             for (int i=0 ; i<4 ; i++)
(gdb) 
493                                     if (0 == ref->ref[i])
(gdb) 
491                             for (int i=0 ; i<4 ; i++)
(gdb) 
493                                     if (0 == ref->ref[i])
(gdb) 
491                             for (int i=0 ; i<4 ; i++)




reply via email to

[Prev in Thread] Current Thread [Next in Thread]