On Apr 17, 2009, at 15:40:48, Stephen Scheaffer wrote:
> 1 com.growl.GrowlMail 0x50003400
> GMDescriptionFormatString + 3584
-- Scroll down a bit if you don't care about geeky programmer stuff --
Well, this is wacky.
I ran my shiny new symbolication script, which I wrote last night and
have been polishing for release today. This is what it said:
1 com.growl.GrowlMail 0x50003400 +[GrowlMailPreferences
load] (GrowlMailPreferences.m:43)
That's not GMDescriptionFormatString!
I then turned to dwarfdump, which is the program I use in my script,
thinking that perhaps my script was asking about the x86 architecture
for some reason. Here's what dwarfdump said:
> dwarfdump --lookup 0x50003400 ~/Documents/Growl\ dSYM\ bundles/Growl-
> dSYM-1.1.5b1/GrowlMail.mailbundle.dSYM
> ----------------------------------------------------------------------
> File: /Volumes/Home-etc/Users/prh/Documents/Growl dSYM bundles/
> Growl-dSYM-1.1.5b1/GrowlMail.mailbundle.dSYM/Contents/Resources/
> DWARF/GrowlMail (architecture ppc)
> ----------------------------------------------------------------------
> Looking up address: 0x0000000050003400 in the debug
> information...found!
>
> ⋮
> AT_name( "/Volumes/Home-etc/Users/prh/Projects/
> @otherpeoplesprojects/growl-stable/Extras/GrowlMail/
> GrowlMailPreferences.m" )
> ⋮
> AT_name( "+[GrowlMailPreferences load]" )
> ⋮
> Line table dir : '/Volumes/Home-etc/Users/prh/Projects/
> @otherpeoplesprojects/growl-stable/Extras/GrowlMail'
> Line table file: 'GrowlMailPreferences.m' line 43, column 0 with
> start address 0x0000000050003400
> ----------------------------------------------------------------------
> File: /Volumes/Home-etc/Users/prh/Documents/Growl dSYM bundles/
> Growl-dSYM-1.1.5b1/GrowlMail.mailbundle.dSYM/Contents/Resources/
> DWARF/GrowlMail (architecture i386)
> ----------------------------------------------------------------------
> Looking up address: 0x0000000050003400 in the debug
> information...found!
>
> ⋮
> AT_name( "/Volumes/Home-etc/Users/prh/Projects/
> @otherpeoplesprojects/growl-stable/Extras/GrowlMail/GrowlMail.m" )
> ⋮
> AT_name( "-[GrowlMail messageStoreDidAddMessages:]" )
> ⋮
> Line table dir : '/Volumes/Home-etc/Users/prh/Projects/
> @otherpeoplesprojects/growl-stable/Extras/GrowlMail'
> Line table file: 'GrowlMail.m' line 479, column 0 with start address
> 0x00000000500033f1
So that's not it. My script worked correctly, and asked about the PPC
version of GrowlMail, and got back +[GrowlMailPreferences load] as its
answer.
Considering that the previous frames are to do with loading an
executable:
2 libobjc.A.dylib 0x948669b0 call_load_methods + 252
3 libobjc.A.dylib 0x9485f4ec load_images + 132
4 dyld 0x8fe02d7c
dyld::notifySingle(dyld_image_states, mach_header const*, char const*,
long) + 556
I think CrashReporter got it wrong and dwarfdump and my script have it
right.
-- You can stop scrolling down now --
So, congratulations! You're the first user to benefit from our new
build process, which provides the data my symbolication script
requires. ☺
Here's the problem line, as fingered by dwarfdump:
[GrowlMailPreferences poseAsClass:[NSPreferences class]];
Perhaps we're not supposed to send poseAsClass: from the +load method?
NSPreferences should exist on 32-bit PowerPC.
Regardless, poseAsClass is deprecated, doomed, and janky anyway:
https://bugs.launchpad.net/growl/+bug/363176
Sounds like we need to stop using it sooner rather than later.
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"Growl Discuss" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/growldiscuss?hl=en
-~----------~----~----~----~------~----~------~--~---