I've been working with someone off list to get some information about a
crash they encounter during a batch run. We're generating a crash dump,
but I'm having some issues getting matching symbols so I can examine it.
One thing that would help with this would be if the EnterpriseDB
releases included their build revision in the output of "SELECT
version()", so it's always clear exactly what build is in use.
I've also noticed in this process that the "File version" on
postgres.exe bears no apparent relationship to the EnterpriseDB release
number. For example, postgresql 8.4.2-2 has a File Version of 8.4.2-104
while 8.4.2-1 has a file version of (IIRC) 8.4.2-9343 . Is there any way
that can be improved?
It's always possible to get the user to send their symbols directory, or
to just debug it locally using windbg.exe, but it'd be really nice if it
were easier to reliably match releases to symbol sets.
Even better would be to put zipped symbols directories onto the EDB
download site, arranged by Pg version. Bonus points for having symlinks
from the md5sum of postgres.exe to the matching symbols. Better again
would be to run a public symbol server with symbols for all builds
... so there's no need to play version guessing games, you just point
your debugger at the symbol server and it fetches what it needs on demand.
Come to think of it, I can probably run a public symbol server myself if
the EDB folks don't want to, but it'd be lovely if they were willing to
do so because it could be integrated into the release process to ensure
symbols were never missing for a build that hit public release.
Tech-related writing at http://soapyfrogs.blogspot.com/