On Sun, 2012-03-18 at 11:37 -0500, Steven Elliott wrote:
> I believe I've fixed a problem where pgAdmin intermittently crashes on
> 64 bit systems while deleting rows. The issues seems to be that, among
> other things, sqlTable::DeleteRows() in frm/frmEditGrid.cpp attempts to
> remove an element in lineIndex by shifting down the remaining elements.
> Unfortunately the "sizeof" is taking the size of the wrong thing.
> I suspect this is only an issue on systems where pointers and "int"s are
> different sizes, which should be 64 bit systems, but I have only have a
> 64 bit Linux system handy to try.
> Increasing the number of rows that follow the row deleted should
> increase the probability of getting a crash, but Valgrind always
> complains about bad reads and writes for the memmove() in question.
> Steps to reproduce the problem:
> 1) Choose a table that has roughly 200 or more rows. Here's a dump of
> such a table:
> 2) Navigate to the "Edit Data" window (the window navigated to by
> selecting the View Data / View All Rows for the table in question).
> 3) Select a low numbered row, such as the fifth row.
> 4) Right click and select "Delete". The crash may happen when the
> delete is confirmed after the subsequent dialog.
Quite impressive. I found this bug a few days ago and was unable to fix
it. So thank you very much. I applied it.
In response to
pgadmin-hackers by date
|Next:||From: Dave Page||Date: 2012-03-19 13:59:34|
|Subject: Re: Fixed issue "Error Message is displayed when
the Package is Clicked"|
|Previous:||From: Guillaume Lelarge||Date: 2012-03-18 22:28:09|
|Subject: pgAdmin III commit: Fix deleting lines in frmEditGrid with 64bitsystem|