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
-~----------~----~----~----~------~----~------~--~---

Reply via email to