From: Evan S. <ev...@dr...> - 2007-04-01 02:22:34
|
I've received the following crash report and was wondering if anyone had an idea for a solution: Thread 0 Crashed: 0 Libgaim 0x07f8710c jabber_si_xfer_bytestreams_send_init 68 1 Libgaim 0x07f87244 jabber_si_xfer_send_method_cb 252 2 Libgaim 0x07f7c7ac jabber_iq_parse 252 3 Libgaim 0x07f7cffc jabber_process_packet 116 4 Libgaim 0x07f83cdc jabber_parser_element_end_libxml 88 5 libxml2.2.dylib 0x92c9e834 xmlParseStartTag 9176 6 libxml2.2.dylib 0x92ca0890 xmlParseDocument 4812 7 libxml2.2.dylib 0x92c84c0c xmlParseChunk 424 8 Libgaim 0x07f83df0 jabber_parser_process 116 9 Libgaim 0x07f7d794 jabber_recv_cb 148 10 com.apple.CoreFoundation 0x907f03b4 __CFSocketDoCallback 532 The transfer had been cancelled locally (and successfully). It looks like after that cancel, the remote side sent a reply. Now, when jabber_si_xfer_send_request() sets up the iq, it associates the xfer with it, and jabber_si_xfer_send_method_cb() then has that GaimXfer as data when the iq comes in. However, jabber_si_xfer_send_request() doesn't increment the reference count... in fact, jabber_si_xfer_bytestreams_send_init() does. At this stage in the game, it's too late, because the ref count was already taken down to 0. I think jabber_si_xfer_send_request() needs to do the reference increment.. but I'm not sure where it should then be decremented. Thoughts? -Evan |