Hi Thomas, A couple of questions:
Are you using the release version of libobjc or svn? Your line numbers don't match up with mine, so it may be that this is a bug that's already fixed in svn. I'm currently waiting for Quentin to test another bug fix and then I'll be doing a new release next week. The second question is whether you remembered to initialise the weak pointer to 0, or call objc_initWeak() for the first store? David On 15 Jun 2012, at 14:18, Thomas Davie wrote: > 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++) > > > _______________________________________________ > Discuss-gnustep mailing list > [email protected] > https://lists.gnu.org/mailman/listinfo/discuss-gnustep -- Sent from my Apple II _______________________________________________ Discuss-gnustep mailing list [email protected] https://lists.gnu.org/mailman/listinfo/discuss-gnustep
