On 2 May 2012, at 10:55 AM, Wade Tregaskis wrote:
> Symbolication picks the first known symbol before the address in question.  
> It's the consequence of a tragic design flaw in debug info formats to date.
> 
> It's more obvious when this goes wrong in Crash Reporter or Shark where you 
> can see the offsets (e.g. "CGContextLock + 38623824").
> 
> It happens as a result of stripping of debug info from the built library.  
> This is normal practice for release distributions.  That you see it when you 
> build from source yourself implies that you either didn't actually get your 
> new version of the library loaded as expected, you didn't build it with full 
> debug info to begin with, or that at some point some of the info was stripped 
> again.

DWARF debug info, which is the standard on OSX now, is rich enough to solve 
this problem. Unfortunately Apple's "external dsyms" convention means that the 
debug info of open-source libraries usually gets lost before installation, and 
Apple doesn't include it in system frameworks either.

(Tail-call elimination is another reason that call stacks might not precisely 
match the structure of the source code, but from a glance at the libpq sources 
I think it's more likely that the lack of accurate debug info is the reason.)

Anyway, Jean-Daniel is probably right in suggesting that the bug isn't in libpq 
but in its caller--- odds are that some code is calling PQgetResult, and then 
failing to fulfill its obligation to release the resources returned to it.



_______________________________________________

Cocoa-dev mailing list ([email protected])

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to [email protected]

Reply via email to