On May 16, 2010, at 2:28 AM, David Smith wrote: > Hmmm. DNS lookup failed. I bet one could reproduce this by purposefully using > an invalid DNS server.
This is the classic issue with the lack of reference counting in Purple's various objects implemented in C. The result of the DNS lookup (which could be a success or a failure) is coming after the account or connection has been deallocated because of a disconnected; the result is a crash. The lookup needs to be canceled when a disconnection occurs. -Evan > > David > > On May 15, 2010, at 6:15 PM, Andre-John Mas wrote: > >> Hi, >> >> Just thought to share a crash log I got with Adium 1.4b18 today. The crash >> appears to be Yahoo related: >> >> Process: Adium [53187] >> Path: /Applications/Adium.app/Contents/MacOS/Adium >> Identifier: com.adiumX.adiumX >> Version: 1.4b18 (1.4b18) >> Code Type: X86 (Native) >> Parent Process: launchd [315] >> >> Date/Time: 2010-05-15 21:11:00.598 -0400 >> OS Version: Mac OS X 10.6.3 (10D573) >> Report Version: 6 >> >> Interval Since Last Report: 42222 sec >> Crashes Since Last Report: 1 >> Per-App Interval Since Last Report: 1223 sec >> Per-App Crashes Since Last Report: 1 >> Anonymous UUID: BE41EA95-4529-49E9-A54E-7FB7F114A5A8 >> >> Exception Type: EXC_BAD_ACCESS (SIGBUS) >> Exception Codes: KERN_PROTECTION_FAILURE at 0x0000000000000017 >> Crashed Thread: 0 Dispatch queue: com.apple.main-thread >> >> Thread 0 Crashed: Dispatch queue: com.apple.main-thread >> 0 libpurple 0x0074c99d >> purple_connection_get_account + 64 >> 1 libpurple 0x008dd0df yahoo_got_pager_server + 38 >> 2 libpurple 0x0079ea36 purple_util_fetch_url_error >> + 79 >> 3 libpurple 0x0079fca0 url_fetch_connect_cb + 120 >> 4 libpurple 0x00771d76 >> purple_proxy_connect_data_disconnect + 222 >> 5 libpurple 0x00775950 connection_host_resolved + 54 >> 6 libpurple 0x00783f70 purple_dnsquery_failed + 86 >> 7 com.adiumX.AdiumPurple 0x003ce216 -[AdiumPurpleDnsRequest >> lookupFailedWithError:] + 296 >> 8 com.adiumX.AdiumPurple 0x003ce3ed host_client_cb + 114 >> 9 com.apple.CFNetwork 0x9014cde9 >> Host::performCallback(InheritEnum<_ExtendedHostInfoType, CFHostInfoType>) + >> 181 >> 10 com.apple.CFNetwork 0x9014cbf4 >> HostLookup_Master::getAddrInfoCallback(int, addrinfo*) + 142 >> 11 libSystem.B.dylib 0x95b796ad si_libinfo_addrinfo_callback >> + 119 >> 12 libSystem.B.dylib 0x95b7958c si_async_handle_reply + 96 >> 13 libSystem.B.dylib 0x95b79526 >> getaddrinfo_async_handle_reply + 17 >> 14 com.apple.CFNetwork 0x9014cb25 >> _GetAddrInfoMachPortCallBack(__CFMachPort*, void*, long, void*) + 38 >> 15 com.apple.CoreFoundation 0x96259376 __CFMachPortPerform + 198 >> 16 com.apple.CoreFoundation 0x9625516b __CFRunLoopRun + 6523 >> 17 com.apple.CoreFoundation 0x962530f4 CFRunLoopRunSpecific + 452 >> 18 com.apple.CoreFoundation 0x96252f21 CFRunLoopRunInMode + 97 >> 19 com.apple.HIToolbox 0x91db80fc RunCurrentEventLoopInMode + >> 392 >> 20 com.apple.HIToolbox 0x91db7eb1 ReceiveNextEventCommon + 354 >> 21 com.apple.HIToolbox 0x91db7d36 >> BlockUntilNextEventMatchingListInMode + 81 >> 22 com.apple.AppKit 0x9252f135 _DPSNextEvent + 847 >> 23 com.apple.AppKit 0x9252e976 -[NSApplication >> nextEventMatchingMask:untilDate:inMode:dequeue:] + 156 >> 24 com.apple.AppKit 0x924f0bef -[NSApplication run] + 821 >> 25 com.apple.AppKit 0x924e8c85 NSApplicationMain + 574 >> 26 com.adiumX.adiumX 0x00002f42 start + 54 >> >> Thread 1: Dispatch queue: com.apple.libdispatch-manager >> 0 libSystem.B.dylib 0x95b22b42 kevent + 10 >> 1 libSystem.B.dylib 0x95b2325c _dispatch_mgr_invoke + 215 >> 2 libSystem.B.dylib 0x95b22719 _dispatch_queue_invoke + 163 >> 3 libSystem.B.dylib 0x95b224be _dispatch_worker_thread2 + >> 240 >> 4 libSystem.B.dylib 0x95b21f41 _pthread_wqthread + 390 >> 5 libSystem.B.dylib 0x95b21d86 start_wqthread + 30 >> >> Thread 2: >> 0 libSystem.B.dylib 0x95b1b286 select$DARWIN_EXTSN + 10 >> 1 com.apple.CoreFoundation 0x9629382d __CFSocketManager + 1085 >> 2 libSystem.B.dylib 0x95b29a19 _pthread_start + 345 >> 3 libSystem.B.dylib 0x95b2989e thread_start + 34 >> >> Thread 3: >> 0 libSystem.B.dylib 0x95b21bd2 __workq_kernreturn + 10 >> 1 libSystem.B.dylib 0x95b22168 _pthread_wqthread + 941 >> 2 libSystem.B.dylib 0x95b21d86 start_wqthread + 30 >> >> Thread 4: >> 0 libSystem.B.dylib 0x95b21bd2 __workq_kernreturn + 10 >> 1 libSystem.B.dylib 0x95b22168 _pthread_wqthread + 941 >> 2 libSystem.B.dylib 0x95b21d86 start_wqthread + 30 >> >> Thread 5: >> 0 libSystem.B.dylib 0x95afc35a >> semaphore_timedwait_signal_trap + 10 >> 1 libSystem.B.dylib 0x95b29ea1 _pthread_cond_wait + 1066 >> 2 libSystem.B.dylib 0x95b58a28 >> pthread_cond_timedwait_relative_np + 47 >> 3 ...apple.AddressBook.framework 0x9935832f -[ABRemoteImageLoader >> workLoop] + 283 >> 4 com.apple.Foundation 0x93c638dc -[NSThread main] + 45 >> 5 com.apple.Foundation 0x93c6388c __NSThread__main__ + 1499 >> 6 libSystem.B.dylib 0x95b29a19 _pthread_start + 345 >> 7 libSystem.B.dylib 0x95b2989e thread_start + 34 >> >> Thread 0 crashed with X86 Thread State (32-bit): >> eax: 0x0000000b ebx: 0x0074c969 ecx: 0x008dd0b9 edx: 0x167ebdc0 >> edi: 0x95c75814 esi: 0xbfffe3a0 ebp: 0xbfffe218 esp: 0xbfffe1f0 >> ss: 0x0000001f efl: 0x00010202 eip: 0x0074c99d cs: 0x00000017 >> ds: 0x0000001f es: 0x0000001f fs: 0x00000000 gs: 0x00000037 >> cr2: 0x00000017 >> >> > >
