If I'm reading it correctly it actually means that a block allocated in the 
PostgreSQL extension is being overrun. It doesn't necessarily mean that 
it's the fault of the PostgresSQL extension. The efree() in debug mode just 
checks the block its freeing, it sees that the block was overrun and warns 
about it. It doesn't meant that the efree() is at fault. How short of a 
reproducing script can you create?

Andi

At 01:35 PM 9/26/2001 -0300, Mike Rogers wrote:
>I have just upgraded to the new PostgreSQL 7.1.3 (from 7.0.3) and have been
>experiencing a pretty serious problem:
>     On one particular page, in what seems to be completely random instances,
>I get buffer overruns and either 0-rows or a crashed apache child.  Turning
>on PHP's --enable-debug, I receive the following [in httpd error log]:
>
>
>[Wed Sep 26 06:21:12 2001]  Script:  '/path/to/script.php'
>---------------------------------------
>pgsql.c(167) : Block 0x086A6DF8 status:
>Beginning:      Overrun (magic=0x00000000, expected=0x7312F8DC)
>       End:      Unknown
>---------------------------------------
>
>Sometimes it will actually crash mid-way (probably overwrote some valuable
>code):
>---------------------------------------
>pgsql.c(167) : Block 0x08684290 status:
>Beginning:      Overrun (magic=0x0000111A, expected=0x7312F8DC)
>[Wed Sep 26 09:22:46 2001] [notice] child pid 8710 exit signal Segmentation
>fault (11)
>
>This problem is of great concern to me and I have been working for days
>trying to debug it myself and find other reports, with little success.  The
>line it claims to be failing on is PHP's ext/pgsql/pgsql.c on line 167 (by
>what this claims) which is the following function [the
>efree(PGG(last_notice)) line].
>
>static void
>_notice_handler(void *arg, const char *message)
>{
>         PGLS_FETCH();
>
>         if (! PGG(ignore_notices)) {
>                 php_log_err((char *) message);
>                 if (PGG(last_notice) != NULL) {
>                         efree(PGG(last_notice));
>                 }
>                 PGG(last_notice) = estrdup(message);
>         }
>}
>
>
>Can anyone provide further input as to why this is causing problems?  The
>PHP code works sometimes and not others, and it seems to be only that one
>script, so I do not believe it to be a hardware issue.
>
>Any thoughts?  I can provide any further system information if needed.  I
>have tried recompiling pgsql, php and apache with different optimizations
>[including none at all and debug mode on as i have now] with little change
>in the result.
>
>Thanks in advance;
>--
>Mike
>
>cc: pgp-db-help; pgp-dev
>
>--
>PHP Development Mailing List <http://www.php.net/>
>To unsubscribe, e-mail: [EMAIL PROTECTED]
>For additional commands, e-mail: [EMAIL PROTECTED]
>To contact the list administrators, e-mail: [EMAIL PROTECTED]


-- 
PHP Development Mailing List <http://www.php.net/>
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]

Reply via email to