Thread: Problem with multiple comments
When there are multiple comments on a schema, pgAdmin 1.16 will display one duplicate of the schema for each comment, where the only difference is the last line "COMMENT ON SCHEMA schema_name IS 'something';". The same thing happens in the function list, where there are many duplicates only differencing in the "COMMENT ON FUNCTION ..." line.
Regards, Per
On Thu, Dec 6, 2012 at 9:42 AM, Per Wigren <per.wigren@gmail.com> wrote: > When there are multiple comments on a schema, pgAdmin 1.16 will display one > duplicate of the schema for each comment, where the only difference is the > last line "COMMENT ON SCHEMA schema_name IS 'something';". The same thing > happens in the function list, where there are many duplicates only > differencing in the "COMMENT ON FUNCTION ..." line. Can you provide a reproducible test case please? You cannot have multiple comments on a schema, so I'm not sure what you're trying to describe. -- Dave Page Blog: http://pgsnake.blogspot.com Twitter: @pgsnake EnterpriseDB UK: http://www.enterprisedb.com The Enterprise PostgreSQL Company
When querying pg_description for the oid of one schema that has duplicates in pgAdmin I get this:
bix_live=# select * from pg_description where objoid = 16458;
objoid | classoid | objsubid | description
--------+----------+----------+--------------------------------------------------------------------------------------------------------
16458 | 2615 | 0 | The main comment
16458 | 1259 | 1 | some other comment
16458 | 1259 | 2 | yet another comment
16458 | 1259 | 3 | a different comment
16458 | 1259 | 4 | another different comment
(5 rows)
These are the comments that are displayed for the various duplicates in pgAdmin. Only the main comment is suppsed to be there, I don't know where the others come from. The extra comments are the same for all schemas that have duplicates.
// Per
2012/12/6 Dave Page <dpage@pgadmin.org>
Can you provide a reproducible test case please? You cannot haveOn Thu, Dec 6, 2012 at 9:42 AM, Per Wigren <per.wigren@gmail.com> wrote:
> When there are multiple comments on a schema, pgAdmin 1.16 will display one
> duplicate of the schema for each comment, where the only difference is the
> last line "COMMENT ON SCHEMA schema_name IS 'something';". The same thing
> happens in the function list, where there are many duplicates only
> differencing in the "COMMENT ON FUNCTION ..." line.
multiple comments on a schema, so I'm not sure what you're trying to
describe.
--
Dave Page
Blog: http://pgsnake.blogspot.com
Twitter: @pgsnake
EnterpriseDB UK: http://www.enterprisedb.com
The Enterprise PostgreSQL Company
On Thu, Dec 6, 2012 at 10:31 AM, Per Wigren <per.wigren@gmail.com> wrote: > When querying pg_description for the oid of one schema that has duplicates > in pgAdmin I get this: > > bix_live=# select * from pg_description where objoid = 16458; > objoid | classoid | objsubid | > description > --------+----------+----------+-------------------------------------------------------------------------------------------------------- > 16458 | 2615 | 0 | The main comment > 16458 | 1259 | 1 | some other comment > 16458 | 1259 | 2 | yet another comment > 16458 | 1259 | 3 | a different comment > 16458 | 1259 | 4 | another different comment > (5 rows) > > These are the comments that are displayed for the various duplicates in > pgAdmin. Only the main comment is suppsed to be there, I don't know where > the others come from. The extra comments are the same for all schemas that > have duplicates. The rows with objsubid set to something other than 0 are almost certainly comments on table columns (the sub ID being the column number). That's perfectly normal. I'm still not clear where you're seeing a problem though - can you show me a screenshot of the affect schema in pgAdmin, including both the properties pane showing the schema OID, and the SQL pane? Thanks. -- Dave Page Blog: http://pgsnake.blogspot.com Twitter: @pgsnake EnterpriseDB UK: http://www.enterprisedb.com The Enterprise PostgreSQL Company
I mailed you the screenshots.
I snatched the SQL from pg_log that pgAdmin runs when refreshing the list of schemas and that query also returns these duplicate schemas. So do the Object List Report html output.
2012/12/6 Dave Page <dpage@pgadmin.org>
On Thu, Dec 6, 2012 at 10:31 AM, Per Wigren <per.wigren@gmail.com> wrote:The rows with objsubid set to something other than 0 are almost
> When querying pg_description for the oid of one schema that has duplicates
> in pgAdmin I get this:
>
> bix_live=# select * from pg_description where objoid = 16458;
> objoid | classoid | objsubid |
> description
> --------+----------+----------+--------------------------------------------------------------------------------------------------------
> 16458 | 2615 | 0 | The main comment
> 16458 | 1259 | 1 | some other comment
> 16458 | 1259 | 2 | yet another comment
> 16458 | 1259 | 3 | a different comment
> 16458 | 1259 | 4 | another different comment
> (5 rows)
>
> These are the comments that are displayed for the various duplicates in
> pgAdmin. Only the main comment is suppsed to be there, I don't know where
> the others come from. The extra comments are the same for all schemas that
> have duplicates.
certainly comments on table columns (the sub ID being the column
number). That's perfectly normal. I'm still not clear where you're
seeing a problem though - can you show me a screenshot of the affect
schema in pgAdmin, including both the properties pane showing the
schema OID, and the SQL pane?
Thanks.
--
Dave Page
Blog: http://pgsnake.blogspot.com
Twitter: @pgsnake
EnterpriseDB UK: http://www.enterprisedb.com
The Enterprise PostgreSQL Company
On Thu, Dec 6, 2012 at 10:47 AM, Per Wigren <per.wigren@gmail.com> wrote: > I mailed you the screenshots. > > I snatched the SQL from pg_log that pgAdmin runs when refreshing the list of > schemas and that query also returns these duplicate schemas. So do the > Object List Report html output. Hmm, odd. I don't suppose you've run pg_upgrade on this database have you? Magnus fixed a bug similar to this the other day (possibly this very one). Can you test 1.16.1 please? I just released it an hour ago. > 2012/12/6 Dave Page <dpage@pgadmin.org> >> >> On Thu, Dec 6, 2012 at 10:31 AM, Per Wigren <per.wigren@gmail.com> wrote: >> > When querying pg_description for the oid of one schema that has >> > duplicates >> > in pgAdmin I get this: >> > >> > bix_live=# select * from pg_description where objoid = 16458; >> > objoid | classoid | objsubid | >> > description >> > >> > --------+----------+----------+-------------------------------------------------------------------------------------------------------- >> > 16458 | 2615 | 0 | The main comment >> > 16458 | 1259 | 1 | some other comment >> > 16458 | 1259 | 2 | yet another comment >> > 16458 | 1259 | 3 | a different comment >> > 16458 | 1259 | 4 | another different comment >> > (5 rows) >> > >> > These are the comments that are displayed for the various duplicates in >> > pgAdmin. Only the main comment is suppsed to be there, I don't know >> > where >> > the others come from. The extra comments are the same for all schemas >> > that >> > have duplicates. >> >> The rows with objsubid set to something other than 0 are almost >> certainly comments on table columns (the sub ID being the column >> number). That's perfectly normal. I'm still not clear where you're >> seeing a problem though - can you show me a screenshot of the affect >> schema in pgAdmin, including both the properties pane showing the >> schema OID, and the SQL pane? >> >> Thanks. >> >> >> -- >> Dave Page >> Blog: http://pgsnake.blogspot.com >> Twitter: @pgsnake >> >> EnterpriseDB UK: http://www.enterprisedb.com >> The Enterprise PostgreSQL Company > > -- Dave Page Blog: http://pgsnake.blogspot.com Twitter: @pgsnake EnterpriseDB UK: http://www.enterprisedb.com The Enterprise PostgreSQL Company
Yes, I have actually run pg_upgrade on it... Where can I find details about this bug?
The same thing happens with 1.16.1.
2012/12/6 Dave Page <dpage@pgadmin.org>
On Thu, Dec 6, 2012 at 10:47 AM, Per Wigren <per.wigren@gmail.com> wrote:Hmm, odd. I don't suppose you've run pg_upgrade on this database have you?
> I mailed you the screenshots.
>
> I snatched the SQL from pg_log that pgAdmin runs when refreshing the list of
> schemas and that query also returns these duplicate schemas. So do the
> Object List Report html output.
Magnus fixed a bug similar to this the other day (possibly this very
one). Can you test 1.16.1 please? I just released it an hour ago.
> 2012/12/6 Dave Page <dpage@pgadmin.org>
>>
>> On Thu, Dec 6, 2012 at 10:31 AM, Per Wigren <per.wigren@gmail.com> wrote:
>> > When querying pg_description for the oid of one schema that has
>> > duplicates
>> > in pgAdmin I get this:
>> >
>> > bix_live=# select * from pg_description where objoid = 16458;
>> > objoid | classoid | objsubid |
>> > description
>> >
>> > --------+----------+----------+--------------------------------------------------------------------------------------------------------
>> > 16458 | 2615 | 0 | The main comment
>> > 16458 | 1259 | 1 | some other comment
>> > 16458 | 1259 | 2 | yet another comment
>> > 16458 | 1259 | 3 | a different comment
>> > 16458 | 1259 | 4 | another different comment
>> > (5 rows)
>> >
>> > These are the comments that are displayed for the various duplicates in
>> > pgAdmin. Only the main comment is suppsed to be there, I don't know
>> > where
>> > the others come from. The extra comments are the same for all schemas
>> > that
>> > have duplicates.
>>
>> The rows with objsubid set to something other than 0 are almost
>> certainly comments on table columns (the sub ID being the column
>> number). That's perfectly normal. I'm still not clear where you're
>> seeing a problem though - can you show me a screenshot of the affect
>> schema in pgAdmin, including both the properties pane showing the
>> schema OID, and the SQL pane?
>>
>> Thanks.
>>
>>
>> --
>> Dave Page
>> Blog: http://pgsnake.blogspot.com
>> Twitter: @pgsnake
>>
>> EnterpriseDB UK: http://www.enterprisedb.com
>> The Enterprise PostgreSQL Company
>
>
--
Dave Page
Blog: http://pgsnake.blogspot.com
Twitter: @pgsnake
EnterpriseDB UK: http://www.enterprisedb.com
The Enterprise PostgreSQL Company
On Thu, Dec 6, 2012 at 11:03 AM, Per Wigren <per.wigren@gmail.com> wrote: > Yes, I have actually run pg_upgrade on it... Where can I find details about > this bug? The CHANGELOG just says: 2012-11-26 MH 1.16.1 Fix query for database descriptions So I guess the same issue occurs with schemas. I believe it occurs because pg_upgrade can cause OIDs to be reused in ways not previously seen. > The same thing happens with 1.16.1. I'll look into it. > > 2012/12/6 Dave Page <dpage@pgadmin.org> >> >> On Thu, Dec 6, 2012 at 10:47 AM, Per Wigren <per.wigren@gmail.com> wrote: >> > I mailed you the screenshots. >> > >> > I snatched the SQL from pg_log that pgAdmin runs when refreshing the >> > list of >> > schemas and that query also returns these duplicate schemas. So do the >> > Object List Report html output. >> >> Hmm, odd. I don't suppose you've run pg_upgrade on this database have you? >> >> Magnus fixed a bug similar to this the other day (possibly this very >> one). Can you test 1.16.1 please? I just released it an hour ago. >> >> > 2012/12/6 Dave Page <dpage@pgadmin.org> >> >> >> >> On Thu, Dec 6, 2012 at 10:31 AM, Per Wigren <per.wigren@gmail.com> >> >> wrote: >> >> > When querying pg_description for the oid of one schema that has >> >> > duplicates >> >> > in pgAdmin I get this: >> >> > >> >> > bix_live=# select * from pg_description where objoid = 16458; >> >> > objoid | classoid | objsubid | >> >> > description >> >> > >> >> > >> >> > --------+----------+----------+-------------------------------------------------------------------------------------------------------- >> >> > 16458 | 2615 | 0 | The main comment >> >> > 16458 | 1259 | 1 | some other comment >> >> > 16458 | 1259 | 2 | yet another comment >> >> > 16458 | 1259 | 3 | a different comment >> >> > 16458 | 1259 | 4 | another different comment >> >> > (5 rows) >> >> > >> >> > These are the comments that are displayed for the various duplicates >> >> > in >> >> > pgAdmin. Only the main comment is suppsed to be there, I don't know >> >> > where >> >> > the others come from. The extra comments are the same for all schemas >> >> > that >> >> > have duplicates. >> >> >> >> The rows with objsubid set to something other than 0 are almost >> >> certainly comments on table columns (the sub ID being the column >> >> number). That's perfectly normal. I'm still not clear where you're >> >> seeing a problem though - can you show me a screenshot of the affect >> >> schema in pgAdmin, including both the properties pane showing the >> >> schema OID, and the SQL pane? >> >> >> >> Thanks. >> >> >> >> >> >> -- >> >> Dave Page >> >> Blog: http://pgsnake.blogspot.com >> >> Twitter: @pgsnake >> >> >> >> EnterpriseDB UK: http://www.enterprisedb.com >> >> The Enterprise PostgreSQL Company >> > >> > >> >> >> >> -- >> Dave Page >> Blog: http://pgsnake.blogspot.com >> Twitter: @pgsnake >> >> EnterpriseDB UK: http://www.enterprisedb.com >> The Enterprise PostgreSQL Company > > -- Dave Page Blog: http://pgsnake.blogspot.com Twitter: @pgsnake EnterpriseDB UK: http://www.enterprisedb.com The Enterprise PostgreSQL Company
ok, then the same issue occurs with functions as well because there are the same kind of duplicates in the list of functions.<divclass="gmail_extra"><br /><br /><div class="gmail_quote">2012/12/6 Dave Page <span dir="ltr"><<a href="mailto:dpage@pgadmin.org"target="_blank">dpage@pgadmin.org</a>></span><br /><blockquote class="gmail_quote" style="margin:00 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="im">On Thu, Dec 6, 2012 at 11:03 AM, PerWigren <<a href="mailto:per.wigren@gmail.com">per.wigren@gmail.com</a>> wrote:<br /> > Yes, I have actually runpg_upgrade on it... Where can I find details about<br /> > this bug?<br /><br /></div>The CHANGELOG just says:<br/><br /> 2012-11-26 MH 1.16.1 Fix query for database descriptions<br /><br /> So I guess the same issue occurswith schemas. I believe it occurs<br /> because pg_upgrade can cause OIDs to be reused in ways not previously<br />seen.<br /><div class="im"><br /> > The same thing happens with 1.16.1.<br /><br /></div>I'll look into it.<br /><divclass="HOEnZb"><div class="h5"><br /> ><br /> > 2012/12/6 Dave Page <<a href="mailto:dpage@pgadmin.org">dpage@pgadmin.org</a>><br/> >><br /> >> On Thu, Dec 6, 2012 at 10:47 AM, PerWigren <<a href="mailto:per.wigren@gmail.com">per.wigren@gmail.com</a>> wrote:<br /> >> > I mailed youthe screenshots.<br /> >> ><br /> >> > I snatched the SQL from pg_log that pgAdmin runs when refreshingthe<br /> >> > list of<br /> >> > schemas and that query also returns these duplicate schemas.So do the<br /> >> > Object List Report html output.<br /> >><br /> >> Hmm, odd. I don't supposeyou've run pg_upgrade on this database have you?<br /> >><br /> >> Magnus fixed a bug similar to thisthe other day (possibly this very<br /> >> one). Can you test 1.16.1 please? I just released it an hour ago.<br/> >><br /> >> > 2012/12/6 Dave Page <<a href="mailto:dpage@pgadmin.org">dpage@pgadmin.org</a>><br/> >> >><br /> >> >> On Thu, Dec 6, 2012at 10:31 AM, Per Wigren <<a href="mailto:per.wigren@gmail.com">per.wigren@gmail.com</a>><br /> >> >>wrote:<br /> >> >> > When querying pg_description for the oid of one schema that has<br /> >>>> > duplicates<br /> >> >> > in pgAdmin I get this:<br /> >> >> ><br /> >>>> > bix_live=# select * from pg_description where objoid = 16458;<br /> >> >> > objoid| classoid | objsubid |<br /> >> >> > description<br /> >> >> ><br /> >> >>><br /> >> >> > --------+----------+----------+--------------------------------------------------------------------------------------------------------<br />>> >> > 16458 | 2615 | 0 | The main comment<br /> >> >> > 16458 | 1259| 1 | some other comment<br /> >> >> > 16458 | 1259 | 2 | yet another comment<br/> >> >> > 16458 | 1259 | 3 | a different comment<br /> >> >> > 16458| 1259 | 4 | another different comment<br /> >> >> > (5 rows)<br /> >> >> ><br/> >> >> > These are the comments that are displayed for the various duplicates<br /> >> >>> in<br /> >> >> > pgAdmin. Only the main comment is suppsed to be there, I don't know<br /> >>>> > where<br /> >> >> > the others come from. The extra comments are the same for all schemas<br/> >> >> > that<br /> >> >> > have duplicates.<br /> >> >><br /> >>>> The rows with objsubid set to something other than 0 are almost<br /> >> >> certainly commentson table columns (the sub ID being the column<br /> >> >> number). That's perfectly normal. I'm stillnot clear where you're<br /> >> >> seeing a problem though - can you show me a screenshot of the affect<br/> >> >> schema in pgAdmin, including both the properties pane showing the<br /> >> >> schemaOID, and the SQL pane?<br /> >> >><br /> >> >> Thanks.<br /> >> >><br /> >>>><br /> >> >> --<br /> >> >> Dave Page<br /> >> >> Blog: <a href="http://pgsnake.blogspot.com"target="_blank">http://pgsnake.blogspot.com</a><br /> >> >> Twitter: @pgsnake<br/> >> >><br /> >> >> EnterpriseDB UK: <a href="http://www.enterprisedb.com" target="_blank">http://www.enterprisedb.com</a><br/> >> >> The Enterprise PostgreSQL Company<br /> >> ><br/> >> ><br /> >><br /> >><br /> >><br /> >> --<br /> >> Dave Page<br /> >>Blog: <a href="http://pgsnake.blogspot.com" target="_blank">http://pgsnake.blogspot.com</a><br /> >> Twitter:@pgsnake<br /> >><br /> >> EnterpriseDB UK: <a href="http://www.enterprisedb.com" target="_blank">http://www.enterprisedb.com</a><br/> >> The Enterprise PostgreSQL Company<br /> ><br /> ><br/><br /><br /><br /> --<br /> Dave Page<br /> Blog: <a href="http://pgsnake.blogspot.com" target="_blank">http://pgsnake.blogspot.com</a><br/> Twitter: @pgsnake<br /><br /> EnterpriseDB UK: <a href="http://www.enterprisedb.com"target="_blank">http://www.enterprisedb.com</a><br /> The Enterprise PostgreSQL Company<br/></div></div></blockquote></div><br /></div>
Certainly sounds like a very similar problem. If so, the query is simply buggy - it's just that a pg_upgrade'd environment is *much* more likely to run into the problem than before. I only checked the usages of pg_shdescription. The same bug might well exist with almost all uses of pg_description. //Magnus On Thu, Dec 6, 2012 at 12:13 PM, Per Wigren <per.wigren@gmail.com> wrote: > ok, then the same issue occurs with functions as well because there are the > same kind of duplicates in the list of functions. > > > 2012/12/6 Dave Page <dpage@pgadmin.org> >> >> On Thu, Dec 6, 2012 at 11:03 AM, Per Wigren <per.wigren@gmail.com> wrote: >> > Yes, I have actually run pg_upgrade on it... Where can I find details >> > about >> > this bug? >> >> The CHANGELOG just says: >> >> 2012-11-26 MH 1.16.1 Fix query for database descriptions >> >> So I guess the same issue occurs with schemas. I believe it occurs >> because pg_upgrade can cause OIDs to be reused in ways not previously >> seen. >> >> > The same thing happens with 1.16.1. >> >> I'll look into it. >> >> > >> > 2012/12/6 Dave Page <dpage@pgadmin.org> >> >> >> >> On Thu, Dec 6, 2012 at 10:47 AM, Per Wigren <per.wigren@gmail.com> >> >> wrote: >> >> > I mailed you the screenshots. >> >> > >> >> > I snatched the SQL from pg_log that pgAdmin runs when refreshing the >> >> > list of >> >> > schemas and that query also returns these duplicate schemas. So do >> >> > the >> >> > Object List Report html output. >> >> >> >> Hmm, odd. I don't suppose you've run pg_upgrade on this database have >> >> you? >> >> >> >> Magnus fixed a bug similar to this the other day (possibly this very >> >> one). Can you test 1.16.1 please? I just released it an hour ago. >> >> >> >> > 2012/12/6 Dave Page <dpage@pgadmin.org> >> >> >> >> >> >> On Thu, Dec 6, 2012 at 10:31 AM, Per Wigren <per.wigren@gmail.com> >> >> >> wrote: >> >> >> > When querying pg_description for the oid of one schema that has >> >> >> > duplicates >> >> >> > in pgAdmin I get this: >> >> >> > >> >> >> > bix_live=# select * from pg_description where objoid = 16458; >> >> >> > objoid | classoid | objsubid | >> >> >> > description >> >> >> > >> >> >> > >> >> >> > >> >> >> > --------+----------+----------+-------------------------------------------------------------------------------------------------------- >> >> >> > 16458 | 2615 | 0 | The main comment >> >> >> > 16458 | 1259 | 1 | some other comment >> >> >> > 16458 | 1259 | 2 | yet another comment >> >> >> > 16458 | 1259 | 3 | a different comment >> >> >> > 16458 | 1259 | 4 | another different comment >> >> >> > (5 rows) >> >> >> > >> >> >> > These are the comments that are displayed for the various >> >> >> > duplicates >> >> >> > in >> >> >> > pgAdmin. Only the main comment is suppsed to be there, I don't >> >> >> > know >> >> >> > where >> >> >> > the others come from. The extra comments are the same for all >> >> >> > schemas >> >> >> > that >> >> >> > have duplicates. >> >> >> >> >> >> The rows with objsubid set to something other than 0 are almost >> >> >> certainly comments on table columns (the sub ID being the column >> >> >> number). That's perfectly normal. I'm still not clear where you're >> >> >> seeing a problem though - can you show me a screenshot of the affect >> >> >> schema in pgAdmin, including both the properties pane showing the >> >> >> schema OID, and the SQL pane? >> >> >> >> >> >> Thanks. >> >> >> >> >> >> >> >> >> -- >> >> >> Dave Page >> >> >> Blog: http://pgsnake.blogspot.com >> >> >> Twitter: @pgsnake >> >> >> >> >> >> EnterpriseDB UK: http://www.enterprisedb.com >> >> >> The Enterprise PostgreSQL Company >> >> > >> >> > >> >> >> >> >> >> >> >> -- >> >> Dave Page >> >> Blog: http://pgsnake.blogspot.com >> >> Twitter: @pgsnake >> >> >> >> EnterpriseDB UK: http://www.enterprisedb.com >> >> The Enterprise PostgreSQL Company >> > >> > >> >> >> >> -- >> Dave Page >> Blog: http://pgsnake.blogspot.com >> Twitter: @pgsnake >> >> EnterpriseDB UK: http://www.enterprisedb.com >> The Enterprise PostgreSQL Company > > --Magnus HaganderMe: http://www.hagander.net/Work: http://www.redpill-linpro.com/
On Thu, Dec 6, 2012 at 11:48 AM, Magnus Hagander <magnus@hagander.net> wrote: > Certainly sounds like a very similar problem. If so, the query is > simply buggy - it's just that a pg_upgrade'd environment is *much* > more likely to run into the problem than before. > > I only checked the usages of pg_shdescription. The same bug might well > exist with almost all uses of pg_description. OK, here's a patch that should fix this, as well as Magnus' previous fix which doesn't appear to have been tested so well :-p Per; are you able to test this? Magnus; can you give it at least an eyeball review before I commit please, in case there are any thinkos in there. Thanks! -- Dave Page Blog: http://pgsnake.blogspot.com Twitter: @pgsnake EnterpriseDB UK: http://www.enterprisedb.com The Enterprise PostgreSQL Company
Attachment
On 06.12.2012 18:39, Dave Page wrote: > On Thu, Dec 6, 2012 at 11:48 AM, Magnus Hagander <magnus@hagander.net> wrote: >> Certainly sounds like a very similar problem. If so, the query is >> simply buggy - it's just that a pg_upgrade'd environment is *much* >> more likely to run into the problem than before. >> >> I only checked the usages of pg_shdescription. The same bug might well >> exist with almost all uses of pg_description. > OK, here's a patch that should fix this, as well as Magnus' previous > fix which doesn't appear to have been tested so well :-p > > Per; are you able to test this? Hi! Works! I don't see any multiple comments on functions (I've report bug about that with attachment few weeks ago ;-) All committed to my distro: http://git.pld-linux.org/gitweb.cgi/packages/pgadmin3.git/commitdiff/96b752a5e67cb1e6ac00ef79d4e77844c704e258 Build and works. Thanks! BTW: why pgadmin crashes when I want renew connection after network change or postgresql server restart - this is very old issue. I observe it on Linux, Windows and Mac. -- Andrzej Zawadzki
On Thu, Dec 6, 2012 at 11:32 PM, Andrzej Zawadzki <zawadaa@wp.pl> wrote: > On 06.12.2012 18:39, Dave Page wrote: >> On Thu, Dec 6, 2012 at 11:48 AM, Magnus Hagander <magnus@hagander.net> wrote: >>> Certainly sounds like a very similar problem. If so, the query is >>> simply buggy - it's just that a pg_upgrade'd environment is *much* >>> more likely to run into the problem than before. >>> >>> I only checked the usages of pg_shdescription. The same bug might well >>> exist with almost all uses of pg_description. >> OK, here's a patch that should fix this, as well as Magnus' previous >> fix which doesn't appear to have been tested so well :-p >> >> Per; are you able to test this? > Hi! > Works! I don't see any multiple comments on functions (I've report bug > about that with attachment few weeks ago ;-) > All committed to my distro: > > http://git.pld-linux.org/gitweb.cgi/packages/pgadmin3.git/commitdiff/96b752a5e67cb1e6ac00ef79d4e77844c704e258 > > Build and works. > > Thanks! Cool, thanks for testing. > > BTW: why pgadmin crashes when I want renew connection after network > change or postgresql server restart - this is very old issue. > I observe it on Linux, Windows and Mac. That's been surprisingly difficult to fix, because of the amount of application state it affects. It should, for the most part, detect the situation and offer to reconnect and reset everything these days. If you can find a reproducible case where that doesn't happen, please report it with as many details as possible. -- Dave Page Blog: http://pgsnake.blogspot.com Twitter: @pgsnake EnterpriseDB UK: http://www.enterprisedb.com The Enterprise PostgreSQL Company
Unfortunately I don't have a build environment for this here at work but I can confirm that by manually applying the change to the query in edbPackage.cpp in the diff to the query I snatched from pg_log, the output looks good. No more duplicates.
// Per
2012/12/6 Dave Page <dpage@pgadmin.org>
On Thu, Dec 6, 2012 at 11:48 AM, Magnus Hagander <magnus@hagander.net> wrote:OK, here's a patch that should fix this, as well as Magnus' previous
> Certainly sounds like a very similar problem. If so, the query is
> simply buggy - it's just that a pg_upgrade'd environment is *much*
> more likely to run into the problem than before.
>
> I only checked the usages of pg_shdescription. The same bug might well
> exist with almost all uses of pg_description.
fix which doesn't appear to have been tested so well :-p
Per; are you able to test this?
Magnus; can you give it at least an eyeball review before I commit
please, in case there are any thinkos in there.
Thanks!
--
Dave Page
Blog: http://pgsnake.blogspot.com
Twitter: @pgsnake
EnterpriseDB UK: http://www.enterprisedb.com
The Enterprise PostgreSQL Company
Thanks - I've committed and pushed the patch. On Fri, Dec 7, 2012 at 10:39 AM, Per Wigren <per.wigren@gmail.com> wrote: > Unfortunately I don't have a build environment for this here at work but I > can confirm that by manually applying the change to the query in > edbPackage.cpp in the diff to the query I snatched from pg_log, the output > looks good. No more duplicates. > // Per > > > 2012/12/6 Dave Page <dpage@pgadmin.org> >> >> On Thu, Dec 6, 2012 at 11:48 AM, Magnus Hagander <magnus@hagander.net> >> wrote: >> > Certainly sounds like a very similar problem. If so, the query is >> > simply buggy - it's just that a pg_upgrade'd environment is *much* >> > more likely to run into the problem than before. >> > >> > I only checked the usages of pg_shdescription. The same bug might well >> > exist with almost all uses of pg_description. >> >> OK, here's a patch that should fix this, as well as Magnus' previous >> fix which doesn't appear to have been tested so well :-p >> >> Per; are you able to test this? >> >> Magnus; can you give it at least an eyeball review before I commit >> please, in case there are any thinkos in there. >> >> Thanks! >> >> -- >> Dave Page >> Blog: http://pgsnake.blogspot.com >> Twitter: @pgsnake >> >> EnterpriseDB UK: http://www.enterprisedb.com >> The Enterprise PostgreSQL Company > > -- Dave Page Blog: http://pgsnake.blogspot.com Twitter: @pgsnake EnterpriseDB UK: http://www.enterprisedb.com The Enterprise PostgreSQL Company
On Thu, Dec 6, 2012 at 6:39 PM, Dave Page <dpage@pgadmin.org> wrote: > On Thu, Dec 6, 2012 at 11:48 AM, Magnus Hagander <magnus@hagander.net> wrote: >> Certainly sounds like a very similar problem. If so, the query is >> simply buggy - it's just that a pg_upgrade'd environment is *much* >> more likely to run into the problem than before. >> >> I only checked the usages of pg_shdescription. The same bug might well >> exist with almost all uses of pg_description. > > OK, here's a patch that should fix this, as well as Magnus' previous > fix which doesn't appear to have been tested so well :-p I think I'll have a hard time denying that, yes :) > Magnus; can you give it at least an eyeball review before I commit > please, in case there are any thinkos in there. So you trust my review now, even though I messed up my own one? ;) But yeah, looks ok from a quick eye-over. --Magnus HaganderMe: http://www.hagander.net/Work: http://www.redpill-linpro.com/
On Fri, Dec 7, 2012 at 1:14 PM, Magnus Hagander <magnus@hagander.net> wrote: > On Thu, Dec 6, 2012 at 6:39 PM, Dave Page <dpage@pgadmin.org> wrote: >> On Thu, Dec 6, 2012 at 11:48 AM, Magnus Hagander <magnus@hagander.net> wrote: >>> Certainly sounds like a very similar problem. If so, the query is >>> simply buggy - it's just that a pg_upgrade'd environment is *much* >>> more likely to run into the problem than before. >>> >>> I only checked the usages of pg_shdescription. The same bug might well >>> exist with almost all uses of pg_description. >> >> OK, here's a patch that should fix this, as well as Magnus' previous >> fix which doesn't appear to have been tested so well :-p > > I think I'll have a hard time denying that, yes :) :-) >> Magnus; can you give it at least an eyeball review before I commit >> please, in case there are any thinkos in there. > > So you trust my review now, even though I messed up my own one? ;) Oddly, yes. > But yeah, looks ok from a quick eye-over. Thanks. -- Dave Page Blog: http://pgsnake.blogspot.com Twitter: @pgsnake EnterpriseDB UK: http://www.enterprisedb.com The Enterprise PostgreSQL Company
On 07.12.2012 10:29, Dave Page wrote: > On Thu, Dec 6, 2012 at 11:32 PM, Andrzej Zawadzki <zawadaa@wp.pl> wrote: >> BTW: why pgadmin crashes when I want renew connection after network >> change or postgresql server restart - this is very old issue. >> I observe it on Linux, Windows and Mac. > That's been surprisingly difficult to fix, because of the amount of > application state it affects. It should, for the most part, detect the > situation and offer to reconnect and reset everything these days. If > you can find a reproducible case where that doesn't happen, please > report it with as many details as possible. Hi, after some time... ;-) my friend, who very often change his location (laptop suspend) and uses pgadmin very intensively ,complain about crashes when switching location. He send me backtrace: (gdb) thread apply all bt full Thread 5 (Thread 0x7fffd96fd700 (LWP 9190)): #0 0x00007ffff4b3219d in poll () at ../sysdeps/unix/syscall-template.S:81 No locals. #1 0x00007ffff1f35194 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 No symbol table info available. #2 0x00007ffff1f3529c in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 No symbol table info available. #3 0x00007ffff1f352e9 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 No symbol table info available. #4 0x00007ffff1f591d5 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 No symbol table info available. #5 0x00007ffff4e08e0e in start_thread (arg=0x7fffd96fd700) at pthread_create.c:311 __res = <optimized out> pd = 0x7fffd96fd700 now = <optimized out> unwind_buf= {cancel_jmp_buf = {{jmp_buf = {140736841373440, 7972335546361501811, 1, 140736858154800, 4096, 140736841373440, -7972252945951958925, -7972350791820846989}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev= 0x0, cleanup = 0x0, canceltype = 0}}} not_first_call = 0 pagesize_m1 = <optimized out> sp = <optimized out> freesize = <optimized out> __PRETTY_FUNCTION__ = "start_thread" #6 0x00007ffff4b3d93d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113 No locals. Thread 2 (Thread 0x7fffdb11d700 (LWP 9187)): #0 0x00007ffff4b3219d in poll () at ../sysdeps/unix/syscall-template.S:81 No locals. #1 0x00007ffff1f35194 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 No symbol table info available. #2 0x00007ffff1f355fa in g_main_loop_run () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 No symbol table info available. #3 0x00007ffff3262cf6 in ?? () from /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0 No symbol table info available. #4 0x00007ffff1f591d5 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 No symbol table info available. #5 0x00007ffff4e08e0e in start_thread (arg=0x7fffdb11d700) at pthread_create.c:311 __res = <optimized out> pd = 0x7fffdb11d700 now = <optimized out> unwind_buf= {cancel_jmp_buf = {{jmp_buf = {140736868767488, 7972335546361501811, 1, 140737488339344, 4096, 140736868767488, -7972256639623833485, -7972350791820846989}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev= 0x0, cleanup = 0x0, canceltype = 0}}} not_first_call = 0 pagesize_m1 = <optimized out> sp = <optimized out> freesize = <optimized out> __PRETTY_FUNCTION__ = "start_thread" #6 0x00007ffff4b3d93d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113 No locals. Thread 1 (Thread 0x7ffff7fa9a00 (LWP 5522)): #0 0x00007ffff4b3219d in poll () at ../sysdeps/unix/syscall-template.S:81 No locals. #1 0x00007ffff584cb0e in ?? () from /usr/lib/libpq.so.5 No symbol table info available. #2 0x00007ffff584cb90 in ?? () from /usr/lib/libpq.so.5 No symbol table info available. #3 0x00007ffff584af79 in PQgetResult () from /usr/lib/libpq.so.5 No symbol table info available. #4 0x00007ffff584b2ce in ?? () from /usr/lib/libpq.so.5 No symbol table info available. #5 0x00000000004c0126 in pgConn::ExecuteSet (this=0x2aea500, sql=...) at ./db/pgConn.cpp:785 qryRes = <optimized out> #6 0x00000000007467b9 in pgDatabase::ExecuteSet (this=0x1cb3880, sql=...) at ./schema/pgDatabase.cpp:359 set = 0x0 #7 0x000000000077ae84 in pgIndexBaseFactory::CreateObjects (this=this@entry=0xe23ae0 <indexFactory>, coll=coll@entry=0x29bb270, browser=browser@entry=0x1b05800, restriction=...) at ./schema/pgIndex.cpp:560 collection = 0x29bb270 projoin= {<wxStringBase> = {static npos = 18446744073709551615, m_pchData = 0x29e7e18 L" LEFT OUTER JOIN pg_tablespace ta on ta.oid=cls.reltablespace\n"}, <No data fields>} index = 0x0 query = {<wxStringBase> = {static npos = 18446744073709551615, m_pchData = 0x2bc9fb8 L"SELECT DISTINCT ON(cls.relname) cls.oid, cls.relname as idxname, indrelid, indkey, indisclustered, indisunique, indisprimary, n.nspname,\n indnatts, cls.reltablespace AS spcoid, spcname, tab.reln"...}, <No data fields>} proname = {<wxStringBase> = {static npos = 18446744073709551615, m_pchData = 0x1cac348 L"indnatts, cls.reltablespace AS spcoid, spcname, "}, <No data fields>} indexes = <optimized out> #8 0x000000000077c296 in pgIndexFactory::CreateObjects (this=0xe23ae0 <indexFactory>, collection=0x29bb270, browser=0x1b05800, restriction=...) at ./schema/pgIndex.cpp:654 No locals. #9 0x0000000000731950 in pgCollection::ShowTreeDetail (this=0x29bb270, browser=0x1b05800, form=<optimized out>, properties=0x0, sqlPane=<optimized out>) at ./schema/pgCollection.cpp:139 No locals. #10 0x00000000007cf6f7 in pgTable::AppendStuff (this=this@entry=0x2bb4fd0, sql=..., browser=browser@entry=0x1b05800, factory=...) at ./schema/pgTable.cpp:254 idxIt = {lastItem = {m_pItem = 0x0}, browser = 0x2bb4fd0, object = 0xffffffffffffffff, cookie = 0x7fffffffd9f0} obj = <optimized out> tmp = {<wxStringBase> = {static npos = 18446744073709551615, m_pchData = 0x1ca7ae8 L"\n"}, <No data fields>} collection = 0x29bb270 #11 0x00000000007d251f in pgTable::GetSql (this=0x2bb4fd0, browser=0x1b05800) at ./schema/pgTable.cpp:672 consCount = 1 constraints = 0x2bb5340 columns = <optimizedout> colDetails = {<wxStringBase> = {static npos = 18446744073709551615, m_pchData = 0x7ffff610cbb8 L""}, <No data fields>} conDetails = {<wxStringBase> = {static npos= 18446744073709551615, m_pchData = 0x7ffff610cbb8 L""}, <No data fields>} cols_sql = {<wxStringBase> = {static npos= 18446744073709551615, m_pchData = 0x2a17ca8 L" id serial NOT NULL,\n name character varying(255),\n CONSTRAINT countries_pkey PRIMARY KEY (id)"}, <No data fields>} columnPrivileges = {<wxStringBase> = {static npos = 18446744073709551615, m_pchData = 0x7ffff610cbb8 L""}, <No data fields>} prevComment = {<wxStringBase> = {static npos= 18446744073709551615, m_pchData = 0x7ffff610cbb8 L""}, <No data fields>} #12 0x0000000000607cf8 in frmMain::setDisplay (this=this@entry=0x1a19ff0, data=0x2bb4fd0, props=<optimized out>, sqlbox=0x1b64230) at ./frm/events.cpp:522 conn = <optimized out> i = <optimized out> indivMenu = <optimizedout> server = <optimized out> #13 0x000000000060824c in frmMain::execSelChange (this=0x1a19ff0, item=..., currentNode=currentNode@entry=true) at ./frm/events.cpp:484 refresh = true #14 0x00000000006086fe in frmMain::OnTreeSelChanged (this=<optimized out>, event=...) at ./frm/events.cpp:375 event = <optimized out> this = <optimized out> #15 0x00007ffff60eb9c6 in wxEvtHandler::ProcessEventIfMatches(wxEventTableEntryBase const&, wxEvtHandler*, wxEvent&) () from /usr/lib/x86_64-linux-gnu/libwx_baseu-2.8.so.0 No symbol table info available. #16 0x00007ffff60ebb34 in wxEventHashTable::HandleEvent(wxEvent&, wxEvtHandler*) () from /usr/lib/x86_64-linux-gnu/libwx_baseu-2.8.so.0 No symbol table info available. #17 0x00007ffff60ebe57 in wxEvtHandler::ProcessEvent(wxEvent&) () from /usr/lib/x86_64-linux-gnu/libwx_baseu-2.8.so.0 No symbol table info available. #18 0x00007ffff60ebde0 in wxEvtHandler::ProcessEvent(wxEvent&) () from /usr/lib/x86_64-linux-gnu/libwx_baseu-2.8.so.0 No symbol table info available. #19 0x00007ffff6a58e29 in wxWindowBase::TryParent(wxEvent&) () from /usr/lib/x86_64-linux-gnu/libwx_gtk2u_core-2.8.so.0 No symbol table info available. #20 0x00007ffff60ebde0 in wxEvtHandler::ProcessEvent(wxEvent&) () from /usr/lib/x86_64-linux-gnu/libwx_baseu-2.8.so.0 No symbol table info available. #21 0x00007ffff6a7e7a5 in wxScrollHelperEvtHandler::ProcessEvent(wxEvent&) () from /usr/lib/x86_64-linux-gnu/libwx_gtk2u_core-2.8.so.0 No symbol table info available. #22 0x00007ffff6a8a4b9 in wxGenericTreeCtrl::DoSelectItem(wxTreeItemId const&, bool, bool) () from /usr/lib/x86_64-linux-gnu/libwx_gtk2u_core-2.8.so.0 No symbol table info available. #23 0x00007ffff6a8b329 in wxGenericTreeCtrl::SelectItem(wxTreeItemId const&, bool) () from /usr/lib/x86_64-linux-gnu/libwx_gtk2u_core-2.8.so.0 No symbol table info available. #24 0x00007ffff6a8cda8 in wxGenericTreeCtrl::OnInternalIdle() () from /usr/lib/x86_64-linux-gnu/libwx_gtk2u_core-2.8.so.0 No symbol table info available. #25 0x00007ffff69ed6df in wxAppBase::SendIdleEvents(wxWindow*, wxIdleEvent&) () from /usr/lib/x86_64-linux-gnu/libwx_gtk2u_core-2.8.so.0 No symbol table info available. #26 0x00007ffff69ed714 in wxAppBase::SendIdleEvents(wxWindow*, wxIdleEvent&) () from /usr/lib/x86_64-linux-gnu/libwx_gtk2u_core-2.8.so.0 No symbol table info available. #27 0x00007ffff69edbf4 in wxAppBase::ProcessIdle() () from /usr/lib/x86_64-linux-gnu/libwx_gtk2u_core-2.8.so.0 No symbol table info available. #28 0x00007ffff69714ae in ?? () from /usr/lib/x86_64-linux-gnu/libwx_gtk2u_core-2.8.so.0 No symbol table info available. #29 0x00007ffff1f34ea6 in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 No symbol table info available. #30 0x00007ffff1f351f8 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 No symbol table info available. #31 0x00007ffff1f355fa in g_main_loop_run () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 No symbol table info available. #32 0x00007ffff3af6257 in gtk_main () from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0 No symbol table info available. #33 0x00007ffff6984f98 in wxEventLoop::Run() () from /usr/lib/x86_64-linux-gnu/libwx_gtk2u_core-2.8.so.0 No symbol table info available. #34 0x00007ffff69ed99c in wxAppBase::MainLoop() () from /usr/lib/x86_64-linux-gnu/libwx_gtk2u_core-2.8.so.0 No symbol table info available. #35 0x00007ffff609d625 in wxEntry(int&, wchar_t**) () from /usr/lib/x86_64-linux-gnu/libwx_baseu-2.8.so.0 No symbol table info available. #36 0x0000000000440942 in main (argc=1, argv=<optimized out>) at ./pgAdmin3.cpp:120 No locals. Sometimes if you have a few windows with queries it's not nice to got such crash... Is this backtrace helpful? -- Andrzej Zawadzki
Hi Ashesh, Can you put this on the TODO list (for you, or one of the team)? We may not be easily able to solve all such cases without a major rewrite, but if this scenario is reproducible on master, hopefully we can at least eliminate this one. Thanks. On Wed, Jul 24, 2013 at 10:27 AM, Andrzej Zawadzki <zawadaa@wp.pl> wrote: > On 07.12.2012 10:29, Dave Page wrote: >> On Thu, Dec 6, 2012 at 11:32 PM, Andrzej Zawadzki <zawadaa@wp.pl> wrote: >>> BTW: why pgadmin crashes when I want renew connection after network >>> change or postgresql server restart - this is very old issue. >>> I observe it on Linux, Windows and Mac. >> That's been surprisingly difficult to fix, because of the amount of >> application state it affects. It should, for the most part, detect the >> situation and offer to reconnect and reset everything these days. If >> you can find a reproducible case where that doesn't happen, please >> report it with as many details as possible. > Hi, > after some time... ;-) > my friend, who very often change his location (laptop suspend) and uses > pgadmin very intensively ,complain about crashes when switching location. > > He send me backtrace: > > (gdb) thread apply all bt full > > Thread 5 (Thread 0x7fffd96fd700 (LWP 9190)): > #0 0x00007ffff4b3219d in poll () at ../sysdeps/unix/syscall-template.S:81 > No locals. > #1 0x00007ffff1f35194 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 > No symbol table info available. > #2 0x00007ffff1f3529c in g_main_context_iteration () from > /lib/x86_64-linux-gnu/libglib-2.0.so.0 > No symbol table info available. > #3 0x00007ffff1f352e9 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 > No symbol table info available. > #4 0x00007ffff1f591d5 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 > No symbol table info available. > #5 0x00007ffff4e08e0e in start_thread (arg=0x7fffd96fd700) at > pthread_create.c:311 > __res = <optimized out> > pd = 0x7fffd96fd700 > now = <optimized out> > unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140736841373440, > 7972335546361501811, 1, 140736858154800, 4096, 140736841373440, > -7972252945951958925, -7972350791820846989}, mask_was_saved = 0}}, > priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, > cleanup = 0x0, canceltype = 0}}} > not_first_call = 0 > pagesize_m1 = <optimized out> > sp = <optimized out> > freesize = <optimized out> > __PRETTY_FUNCTION__ = "start_thread" > #6 0x00007ffff4b3d93d in clone () at > ../sysdeps/unix/sysv/linux/x86_64/clone.S:113 > No locals. > > Thread 2 (Thread 0x7fffdb11d700 (LWP 9187)): > #0 0x00007ffff4b3219d in poll () at ../sysdeps/unix/syscall-template.S:81 > No locals. > #1 0x00007ffff1f35194 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 > No symbol table info available. > #2 0x00007ffff1f355fa in g_main_loop_run () from > /lib/x86_64-linux-gnu/libglib-2.0.so.0 > No symbol table info available. > #3 0x00007ffff3262cf6 in ?? () from > /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0 > No symbol table info available. > #4 0x00007ffff1f591d5 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 > No symbol table info available. > #5 0x00007ffff4e08e0e in start_thread (arg=0x7fffdb11d700) at > pthread_create.c:311 > __res = <optimized out> > pd = 0x7fffdb11d700 > now = <optimized out> > unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140736868767488, > 7972335546361501811, 1, 140737488339344, 4096, 140736868767488, > -7972256639623833485, -7972350791820846989}, mask_was_saved = 0}}, > priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, > cleanup = 0x0, canceltype = 0}}} > not_first_call = 0 > pagesize_m1 = <optimized out> > sp = <optimized out> > freesize = <optimized out> > __PRETTY_FUNCTION__ = "start_thread" > #6 0x00007ffff4b3d93d in clone () at > ../sysdeps/unix/sysv/linux/x86_64/clone.S:113 > No locals. > > Thread 1 (Thread 0x7ffff7fa9a00 (LWP 5522)): > #0 0x00007ffff4b3219d in poll () at ../sysdeps/unix/syscall-template.S:81 > No locals. > #1 0x00007ffff584cb0e in ?? () from /usr/lib/libpq.so.5 > No symbol table info available. > #2 0x00007ffff584cb90 in ?? () from /usr/lib/libpq.so.5 > No symbol table info available. > #3 0x00007ffff584af79 in PQgetResult () from /usr/lib/libpq.so.5 > No symbol table info available. > #4 0x00007ffff584b2ce in ?? () from /usr/lib/libpq.so.5 > No symbol table info available. > #5 0x00000000004c0126 in pgConn::ExecuteSet (this=0x2aea500, sql=...) > at ./db/pgConn.cpp:785 > qryRes = <optimized out> > #6 0x00000000007467b9 in pgDatabase::ExecuteSet (this=0x1cb3880, > sql=...) at ./schema/pgDatabase.cpp:359 > set = 0x0 > #7 0x000000000077ae84 in pgIndexBaseFactory::CreateObjects > (this=this@entry=0xe23ae0 <indexFactory>, coll=coll@entry=0x29bb270, > browser=browser@entry=0x1b05800, restriction=...) > at ./schema/pgIndex.cpp:560 > collection = 0x29bb270 > projoin = {<wxStringBase> = {static npos = 18446744073709551615, > m_pchData = 0x29e7e18 L" LEFT OUTER JOIN pg_tablespace ta on > ta.oid=cls.reltablespace\n"}, <No data fields>} > index = 0x0 > query = {<wxStringBase> = {static npos = 18446744073709551615, > m_pchData = 0x2bc9fb8 L"SELECT DISTINCT ON(cls.relname) > cls.oid, cls.relname as idxname, indrelid, indkey, indisclustered, > indisunique, indisprimary, n.nspname,\n indnatts, > cls.reltablespace AS spcoid, spcname, tab.reln"...}, <No data fields>} > proname = {<wxStringBase> = {static npos = 18446744073709551615, > m_pchData = 0x1cac348 L"indnatts, cls.reltablespace AS spcoid, spcname, > "}, <No data fields>} > indexes = <optimized out> > #8 0x000000000077c296 in pgIndexFactory::CreateObjects (this=0xe23ae0 > <indexFactory>, collection=0x29bb270, browser=0x1b05800, > restriction=...) at ./schema/pgIndex.cpp:654 > No locals. > #9 0x0000000000731950 in pgCollection::ShowTreeDetail (this=0x29bb270, > browser=0x1b05800, form=<optimized out>, properties=0x0, > sqlPane=<optimized out>) at ./schema/pgCollection.cpp:139 > No locals. > #10 0x00000000007cf6f7 in pgTable::AppendStuff > (this=this@entry=0x2bb4fd0, sql=..., browser=browser@entry=0x1b05800, > factory=...) at ./schema/pgTable.cpp:254 > idxIt = {lastItem = {m_pItem = 0x0}, browser = 0x2bb4fd0, object > = 0xffffffffffffffff, cookie = 0x7fffffffd9f0} > obj = <optimized out> > tmp = {<wxStringBase> = {static npos = 18446744073709551615, > m_pchData = 0x1ca7ae8 L"\n"}, <No data fields>} > collection = 0x29bb270 > #11 0x00000000007d251f in pgTable::GetSql (this=0x2bb4fd0, > browser=0x1b05800) at ./schema/pgTable.cpp:672 > consCount = 1 > constraints = 0x2bb5340 > columns = <optimized out> > colDetails = {<wxStringBase> = {static npos = > 18446744073709551615, m_pchData = 0x7ffff610cbb8 L""}, <No data fields>} > conDetails = {<wxStringBase> = {static npos = > 18446744073709551615, m_pchData = 0x7ffff610cbb8 L""}, <No data fields>} > cols_sql = {<wxStringBase> = {static npos = 18446744073709551615, > m_pchData = 0x2a17ca8 L" id serial NOT NULL,\n name > character varying(255),\n CONSTRAINT countries_pkey PRIMARY KEY (id)"}, > <No data fields>} > columnPrivileges = {<wxStringBase> = {static npos = > 18446744073709551615, m_pchData = 0x7ffff610cbb8 L""}, <No data fields>} > prevComment = {<wxStringBase> = {static npos = > 18446744073709551615, m_pchData = 0x7ffff610cbb8 L""}, <No data fields>} > #12 0x0000000000607cf8 in frmMain::setDisplay > (this=this@entry=0x1a19ff0, data=0x2bb4fd0, props=<optimized out>, > sqlbox=0x1b64230) at ./frm/events.cpp:522 > conn = <optimized out> > i = <optimized out> > indivMenu = <optimized out> > server = <optimized out> > #13 0x000000000060824c in frmMain::execSelChange (this=0x1a19ff0, > item=..., currentNode=currentNode@entry=true) at ./frm/events.cpp:484 > refresh = true > #14 0x00000000006086fe in frmMain::OnTreeSelChanged (this=<optimized > out>, event=...) at ./frm/events.cpp:375 > event = <optimized out> > this = <optimized out> > #15 0x00007ffff60eb9c6 in > wxEvtHandler::ProcessEventIfMatches(wxEventTableEntryBase const&, > wxEvtHandler*, wxEvent&) () from > /usr/lib/x86_64-linux-gnu/libwx_baseu-2.8.so.0 > No symbol table info available. > #16 0x00007ffff60ebb34 in wxEventHashTable::HandleEvent(wxEvent&, > wxEvtHandler*) () from /usr/lib/x86_64-linux-gnu/libwx_baseu-2.8.so.0 > No symbol table info available. > #17 0x00007ffff60ebe57 in wxEvtHandler::ProcessEvent(wxEvent&) () from > /usr/lib/x86_64-linux-gnu/libwx_baseu-2.8.so.0 > No symbol table info available. > #18 0x00007ffff60ebde0 in wxEvtHandler::ProcessEvent(wxEvent&) () from > /usr/lib/x86_64-linux-gnu/libwx_baseu-2.8.so.0 > No symbol table info available. > #19 0x00007ffff6a58e29 in wxWindowBase::TryParent(wxEvent&) () from > /usr/lib/x86_64-linux-gnu/libwx_gtk2u_core-2.8.so.0 > No symbol table info available. > #20 0x00007ffff60ebde0 in wxEvtHandler::ProcessEvent(wxEvent&) () from > /usr/lib/x86_64-linux-gnu/libwx_baseu-2.8.so.0 > No symbol table info available. > #21 0x00007ffff6a7e7a5 in > wxScrollHelperEvtHandler::ProcessEvent(wxEvent&) () from > /usr/lib/x86_64-linux-gnu/libwx_gtk2u_core-2.8.so.0 > No symbol table info available. > #22 0x00007ffff6a8a4b9 in wxGenericTreeCtrl::DoSelectItem(wxTreeItemId > const&, bool, bool) () from > /usr/lib/x86_64-linux-gnu/libwx_gtk2u_core-2.8.so.0 > No symbol table info available. > #23 0x00007ffff6a8b329 in wxGenericTreeCtrl::SelectItem(wxTreeItemId > const&, bool) () from /usr/lib/x86_64-linux-gnu/libwx_gtk2u_core-2.8.so.0 > No symbol table info available. > #24 0x00007ffff6a8cda8 in wxGenericTreeCtrl::OnInternalIdle() () from > /usr/lib/x86_64-linux-gnu/libwx_gtk2u_core-2.8.so.0 > No symbol table info available. > #25 0x00007ffff69ed6df in wxAppBase::SendIdleEvents(wxWindow*, > wxIdleEvent&) () from /usr/lib/x86_64-linux-gnu/libwx_gtk2u_core-2.8.so.0 > No symbol table info available. > #26 0x00007ffff69ed714 in wxAppBase::SendIdleEvents(wxWindow*, > wxIdleEvent&) () from /usr/lib/x86_64-linux-gnu/libwx_gtk2u_core-2.8.so.0 > No symbol table info available. > #27 0x00007ffff69edbf4 in wxAppBase::ProcessIdle() () from > /usr/lib/x86_64-linux-gnu/libwx_gtk2u_core-2.8.so.0 > No symbol table info available. > #28 0x00007ffff69714ae in ?? () from > /usr/lib/x86_64-linux-gnu/libwx_gtk2u_core-2.8.so.0 > No symbol table info available. > #29 0x00007ffff1f34ea6 in g_main_context_dispatch () from > /lib/x86_64-linux-gnu/libglib-2.0.so.0 > No symbol table info available. > #30 0x00007ffff1f351f8 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 > No symbol table info available. > #31 0x00007ffff1f355fa in g_main_loop_run () from > /lib/x86_64-linux-gnu/libglib-2.0.so.0 > No symbol table info available. > #32 0x00007ffff3af6257 in gtk_main () from > /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0 > No symbol table info available. > #33 0x00007ffff6984f98 in wxEventLoop::Run() () from > /usr/lib/x86_64-linux-gnu/libwx_gtk2u_core-2.8.so.0 > No symbol table info available. > #34 0x00007ffff69ed99c in wxAppBase::MainLoop() () from > /usr/lib/x86_64-linux-gnu/libwx_gtk2u_core-2.8.so.0 > No symbol table info available. > #35 0x00007ffff609d625 in wxEntry(int&, wchar_t**) () from > /usr/lib/x86_64-linux-gnu/libwx_baseu-2.8.so.0 > No symbol table info available. > #36 0x0000000000440942 in main (argc=1, argv=<optimized out>) at > ./pgAdmin3.cpp:120 > No locals. > > Sometimes if you have a few windows with queries it's not nice to got > such crash... > Is this backtrace helpful? > > -- > Andrzej Zawadzki -- Dave Page Blog: http://pgsnake.blogspot.com Twitter: @pgsnake EnterpriseDB UK: http://www.enterprisedb.com The Enterprise PostgreSQL Company
Sure.
--
--
On Fri, Jul 26, 2013 at 2:27 PM, Dave Page <dpage@pgadmin.org> wrote:
Hi Ashesh,
Can you put this on the TODO list (for you, or one of the team)? We
may not be easily able to solve all such cases without a major
rewrite, but if this scenario is reproducible on master, hopefully we
can at least eliminate this one.
Thanks.Dave Page
On Wed, Jul 24, 2013 at 10:27 AM, Andrzej Zawadzki <zawadaa@wp.pl> wrote:
> On 07.12.2012 10:29, Dave Page wrote:
>> On Thu, Dec 6, 2012 at 11:32 PM, Andrzej Zawadzki <zawadaa@wp.pl> wrote:
>>> BTW: why pgadmin crashes when I want renew connection after network
>>> change or postgresql server restart - this is very old issue.
>>> I observe it on Linux, Windows and Mac.
>> That's been surprisingly difficult to fix, because of the amount of
>> application state it affects. It should, for the most part, detect the
>> situation and offer to reconnect and reset everything these days. If
>> you can find a reproducible case where that doesn't happen, please
>> report it with as many details as possible.
> Hi,
> after some time... ;-)
> my friend, who very often change his location (laptop suspend) and uses
> pgadmin very intensively ,complain about crashes when switching location.
>
> He send me backtrace:
>
> (gdb) thread apply all bt full
>
> Thread 5 (Thread 0x7fffd96fd700 (LWP 9190)):
> #0 0x00007ffff4b3219d in poll () at ../sysdeps/unix/syscall-template.S:81
> No locals.
> #1 0x00007ffff1f35194 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
> No symbol table info available.
> #2 0x00007ffff1f3529c in g_main_context_iteration () from
> /lib/x86_64-linux-gnu/libglib-2.0.so.0
> No symbol table info available.
> #3 0x00007ffff1f352e9 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
> No symbol table info available.
> #4 0x00007ffff1f591d5 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
> No symbol table info available.
> #5 0x00007ffff4e08e0e in start_thread (arg=0x7fffd96fd700) at
> pthread_create.c:311
> __res = <optimized out>
> pd = 0x7fffd96fd700
> now = <optimized out>
> unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140736841373440,
> 7972335546361501811, 1, 140736858154800, 4096, 140736841373440,
> -7972252945951958925, -7972350791820846989}, mask_was_saved = 0}},
> priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0,
> cleanup = 0x0, canceltype = 0}}}
> not_first_call = 0
> pagesize_m1 = <optimized out>
> sp = <optimized out>
> freesize = <optimized out>
> __PRETTY_FUNCTION__ = "start_thread"
> #6 0x00007ffff4b3d93d in clone () at
> ../sysdeps/unix/sysv/linux/x86_64/clone.S:113
> No locals.
>
> Thread 2 (Thread 0x7fffdb11d700 (LWP 9187)):
> #0 0x00007ffff4b3219d in poll () at ../sysdeps/unix/syscall-template.S:81
> No locals.
> #1 0x00007ffff1f35194 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
> No symbol table info available.
> #2 0x00007ffff1f355fa in g_main_loop_run () from
> /lib/x86_64-linux-gnu/libglib-2.0.so.0
> No symbol table info available.
> #3 0x00007ffff3262cf6 in ?? () from
> /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0
> No symbol table info available.
> #4 0x00007ffff1f591d5 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
> No symbol table info available.
> #5 0x00007ffff4e08e0e in start_thread (arg=0x7fffdb11d700) at
> pthread_create.c:311
> __res = <optimized out>
> pd = 0x7fffdb11d700
> now = <optimized out>
> unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140736868767488,
> 7972335546361501811, 1, 140737488339344, 4096, 140736868767488,
> -7972256639623833485, -7972350791820846989}, mask_was_saved = 0}},
> priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0,
> cleanup = 0x0, canceltype = 0}}}
> not_first_call = 0
> pagesize_m1 = <optimized out>
> sp = <optimized out>
> freesize = <optimized out>
> __PRETTY_FUNCTION__ = "start_thread"
> #6 0x00007ffff4b3d93d in clone () at
> ../sysdeps/unix/sysv/linux/x86_64/clone.S:113
> No locals.
>
> Thread 1 (Thread 0x7ffff7fa9a00 (LWP 5522)):
> #0 0x00007ffff4b3219d in poll () at ../sysdeps/unix/syscall-template.S:81
> No locals.
> #1 0x00007ffff584cb0e in ?? () from /usr/lib/libpq.so.5
> No symbol table info available.
> #2 0x00007ffff584cb90 in ?? () from /usr/lib/libpq.so.5
> No symbol table info available.
> #3 0x00007ffff584af79 in PQgetResult () from /usr/lib/libpq.so.5
> No symbol table info available.
> #4 0x00007ffff584b2ce in ?? () from /usr/lib/libpq.so.5
> No symbol table info available.
> #5 0x00000000004c0126 in pgConn::ExecuteSet (this=0x2aea500, sql=...)
> at ./db/pgConn.cpp:785
> qryRes = <optimized out>
> #6 0x00000000007467b9 in pgDatabase::ExecuteSet (this=0x1cb3880,
> sql=...) at ./schema/pgDatabase.cpp:359
> set = 0x0
> #7 0x000000000077ae84 in pgIndexBaseFactory::CreateObjects
> (this=this@entry=0xe23ae0 <indexFactory>, coll=coll@entry=0x29bb270,
> browser=browser@entry=0x1b05800, restriction=...)
> at ./schema/pgIndex.cpp:560
> collection = 0x29bb270
> projoin = {<wxStringBase> = {static npos = 18446744073709551615,
> m_pchData = 0x29e7e18 L" LEFT OUTER JOIN pg_tablespace ta on
> ta.oid=cls.reltablespace\n"}, <No data fields>}
> index = 0x0
> query = {<wxStringBase> = {static npos = 18446744073709551615,
> m_pchData = 0x2bc9fb8 L"SELECT DISTINCT ON(cls.relname)
> cls.oid, cls.relname as idxname, indrelid, indkey, indisclustered,
> indisunique, indisprimary, n.nspname,\n indnatts,
> cls.reltablespace AS spcoid, spcname, tab.reln"...}, <No data fields>}
> proname = {<wxStringBase> = {static npos = 18446744073709551615,
> m_pchData = 0x1cac348 L"indnatts, cls.reltablespace AS spcoid, spcname,
> "}, <No data fields>}
> indexes = <optimized out>
> #8 0x000000000077c296 in pgIndexFactory::CreateObjects (this=0xe23ae0
> <indexFactory>, collection=0x29bb270, browser=0x1b05800,
> restriction=...) at ./schema/pgIndex.cpp:654
> No locals.
> #9 0x0000000000731950 in pgCollection::ShowTreeDetail (this=0x29bb270,
> browser=0x1b05800, form=<optimized out>, properties=0x0,
> sqlPane=<optimized out>) at ./schema/pgCollection.cpp:139
> No locals.
> #10 0x00000000007cf6f7 in pgTable::AppendStuff
> (this=this@entry=0x2bb4fd0, sql=..., browser=browser@entry=0x1b05800,
> factory=...) at ./schema/pgTable.cpp:254
> idxIt = {lastItem = {m_pItem = 0x0}, browser = 0x2bb4fd0, object
> = 0xffffffffffffffff, cookie = 0x7fffffffd9f0}
> obj = <optimized out>
> tmp = {<wxStringBase> = {static npos = 18446744073709551615,
> m_pchData = 0x1ca7ae8 L"\n"}, <No data fields>}
> collection = 0x29bb270
> #11 0x00000000007d251f in pgTable::GetSql (this=0x2bb4fd0,
> browser=0x1b05800) at ./schema/pgTable.cpp:672
> consCount = 1
> constraints = 0x2bb5340
> columns = <optimized out>
> colDetails = {<wxStringBase> = {static npos =
> 18446744073709551615, m_pchData = 0x7ffff610cbb8 L""}, <No data fields>}
> conDetails = {<wxStringBase> = {static npos =
> 18446744073709551615, m_pchData = 0x7ffff610cbb8 L""}, <No data fields>}
> cols_sql = {<wxStringBase> = {static npos = 18446744073709551615,
> m_pchData = 0x2a17ca8 L" id serial NOT NULL,\n name
> character varying(255),\n CONSTRAINT countries_pkey PRIMARY KEY (id)"},
> <No data fields>}
> columnPrivileges = {<wxStringBase> = {static npos =
> 18446744073709551615, m_pchData = 0x7ffff610cbb8 L""}, <No data fields>}
> prevComment = {<wxStringBase> = {static npos =
> 18446744073709551615, m_pchData = 0x7ffff610cbb8 L""}, <No data fields>}
> #12 0x0000000000607cf8 in frmMain::setDisplay
> (this=this@entry=0x1a19ff0, data=0x2bb4fd0, props=<optimized out>,
> sqlbox=0x1b64230) at ./frm/events.cpp:522
> conn = <optimized out>
> i = <optimized out>
> indivMenu = <optimized out>
> server = <optimized out>
> #13 0x000000000060824c in frmMain::execSelChange (this=0x1a19ff0,
> item=..., currentNode=currentNode@entry=true) at ./frm/events.cpp:484
> refresh = true
> #14 0x00000000006086fe in frmMain::OnTreeSelChanged (this=<optimized
> out>, event=...) at ./frm/events.cpp:375
> event = <optimized out>
> this = <optimized out>
> #15 0x00007ffff60eb9c6 in
> wxEvtHandler::ProcessEventIfMatches(wxEventTableEntryBase const&,
> wxEvtHandler*, wxEvent&) () from
> /usr/lib/x86_64-linux-gnu/libwx_baseu-2.8.so.0
> No symbol table info available.
> #16 0x00007ffff60ebb34 in wxEventHashTable::HandleEvent(wxEvent&,
> wxEvtHandler*) () from /usr/lib/x86_64-linux-gnu/libwx_baseu-2.8.so.0
> No symbol table info available.
> #17 0x00007ffff60ebe57 in wxEvtHandler::ProcessEvent(wxEvent&) () from
> /usr/lib/x86_64-linux-gnu/libwx_baseu-2.8.so.0
> No symbol table info available.
> #18 0x00007ffff60ebde0 in wxEvtHandler::ProcessEvent(wxEvent&) () from
> /usr/lib/x86_64-linux-gnu/libwx_baseu-2.8.so.0
> No symbol table info available.
> #19 0x00007ffff6a58e29 in wxWindowBase::TryParent(wxEvent&) () from
> /usr/lib/x86_64-linux-gnu/libwx_gtk2u_core-2.8.so.0
> No symbol table info available.
> #20 0x00007ffff60ebde0 in wxEvtHandler::ProcessEvent(wxEvent&) () from
> /usr/lib/x86_64-linux-gnu/libwx_baseu-2.8.so.0
> No symbol table info available.
> #21 0x00007ffff6a7e7a5 in
> wxScrollHelperEvtHandler::ProcessEvent(wxEvent&) () from
> /usr/lib/x86_64-linux-gnu/libwx_gtk2u_core-2.8.so.0
> No symbol table info available.
> #22 0x00007ffff6a8a4b9 in wxGenericTreeCtrl::DoSelectItem(wxTreeItemId
> const&, bool, bool) () from
> /usr/lib/x86_64-linux-gnu/libwx_gtk2u_core-2.8.so.0
> No symbol table info available.
> #23 0x00007ffff6a8b329 in wxGenericTreeCtrl::SelectItem(wxTreeItemId
> const&, bool) () from /usr/lib/x86_64-linux-gnu/libwx_gtk2u_core-2.8.so.0
> No symbol table info available.
> #24 0x00007ffff6a8cda8 in wxGenericTreeCtrl::OnInternalIdle() () from
> /usr/lib/x86_64-linux-gnu/libwx_gtk2u_core-2.8.so.0
> No symbol table info available.
> #25 0x00007ffff69ed6df in wxAppBase::SendIdleEvents(wxWindow*,
> wxIdleEvent&) () from /usr/lib/x86_64-linux-gnu/libwx_gtk2u_core-2.8.so.0
> No symbol table info available.
> #26 0x00007ffff69ed714 in wxAppBase::SendIdleEvents(wxWindow*,
> wxIdleEvent&) () from /usr/lib/x86_64-linux-gnu/libwx_gtk2u_core-2.8.so.0
> No symbol table info available.
> #27 0x00007ffff69edbf4 in wxAppBase::ProcessIdle() () from
> /usr/lib/x86_64-linux-gnu/libwx_gtk2u_core-2.8.so.0
> No symbol table info available.
> #28 0x00007ffff69714ae in ?? () from
> /usr/lib/x86_64-linux-gnu/libwx_gtk2u_core-2.8.so.0
> No symbol table info available.
> #29 0x00007ffff1f34ea6 in g_main_context_dispatch () from
> /lib/x86_64-linux-gnu/libglib-2.0.so.0
> No symbol table info available.
> #30 0x00007ffff1f351f8 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
> No symbol table info available.
> #31 0x00007ffff1f355fa in g_main_loop_run () from
> /lib/x86_64-linux-gnu/libglib-2.0.so.0
> No symbol table info available.
> #32 0x00007ffff3af6257 in gtk_main () from
> /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
> No symbol table info available.
> #33 0x00007ffff6984f98 in wxEventLoop::Run() () from
> /usr/lib/x86_64-linux-gnu/libwx_gtk2u_core-2.8.so.0
> No symbol table info available.
> #34 0x00007ffff69ed99c in wxAppBase::MainLoop() () from
> /usr/lib/x86_64-linux-gnu/libwx_gtk2u_core-2.8.so.0
> No symbol table info available.
> #35 0x00007ffff609d625 in wxEntry(int&, wchar_t**) () from
> /usr/lib/x86_64-linux-gnu/libwx_baseu-2.8.so.0
> No symbol table info available.
> #36 0x0000000000440942 in main (argc=1, argv=<optimized out>) at
> ./pgAdmin3.cpp:120
> No locals.
>
> Sometimes if you have a few windows with queries it's not nice to got
> such crash...
> Is this backtrace helpful?
>
> --
> Andrzej Zawadzki
--
Blog: http://pgsnake.blogspot.com
Twitter: @pgsnake
EnterpriseDB UK: http://www.enterprisedb.com
The Enterprise PostgreSQL Company
--
Thanks & Regards,
Ashesh Vashi
EnterpriseDB INDIA: Enterprise PostgreSQL Company
