PostgreSQL / PHP Overrun Error

From: "Mike Rogers" <temp6453(at)hotmail(dot)com>
To: <pgsql-hackers(at)postgresql(dot)org>, <pgsql-php(at)postgresql(dot)org>, <pgsql-bugs(at)postgresql(dot)org>
Subject: PostgreSQL / PHP Overrun Error
Date: 2001-09-26 16:13:17
Message-ID: OE62aWNsvt8KBBxlIkt00002833@hotmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs pgsql-hackers pgsql-php

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:

[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: pgsql-hackers; pgsql-php; pgsql_bugs

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message Tom Lane 2001-09-26 16:23:02 Re: PostgreSQL / PHP Overrun Error
Previous Message Ricardo Caesar Lenzi 2001-09-26 15:32:15

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2001-09-26 16:23:02 Re: PostgreSQL / PHP Overrun Error
Previous Message Tom Lane 2001-09-26 16:10:00 Spinlock performance improvement proposal

Browse pgsql-php by date

  From Date Subject
Next Message Tom Lane 2001-09-26 16:23:02 Re: PostgreSQL / PHP Overrun Error
Previous Message roypgsqlphp 2001-09-25 19:32:18 running out of persistent connections