Re: [PHP-DEV] Another latest CVS problem From: Michael Brennen (mbrennen <email protected>)
Date: 12/28/98

On Mon, 28 Dec 1998, Sascha Schumann wrote:
> On Mon, 28 Dec 1998, Michael Brennen wrote:
> > I just updated the tree as of 11:26 US Central time; a new
> > regex/regcomp.ih and a few others came down this time. I'm certain
> > the tree was synced as of my previous posts. After a make distclean
> > on the php3 tree, and a make clean on apache before recompiling, I'm
> > still getting an error; the backtrace is at the end. FWIW I am using
> > the bundled regex in both Apache and PHP3. The PHP3 configuration is
> > immediately below. Thanks again for the quick response.
>
> > #0 _efree (ptr=0x63) at alloc.c:166
> > #1 0x8087989 in _php3_regcomp (ht=0x8222168, return_value=0x81be084,
> > list=0x81d37fc, plist=0x81d37d0, preg=0xbfffe720, pattern=0x82242d8 "
> > +$",
> > cflags=1) at functions/reg.c:86
>
> Have a look at functions/reg.c, version 1.93 around line 76. You should
> find the following line there:
>
> static int _php3_regcomp(regex_t *preg, const char *pattern, int cflags)
>
> Now answer yourself the question, if this declaration match the parameters
> mentioned by the above backtrace.

What I see in the gdb backtrace is that INTERNAL_FUNCTION_PARAMETERS
parameter list is repeated for frame 1, _php3_regcomp(), as in frame
2, __php3_regreplace, even though it is not given in the call to
_php3_regcomp(). I don't have an explanation, unless it is a gdb
problem. My heavy usage of gdb dates back to the early 90s up to late
1994, and I have little occasion to use it now; earlier, with gdb up
to 4.15, this sort of strangeness was not unknown.

I just checked out a fresh copy of php3 via cvs, and the results are
absolutely repeatable.

Ignoring for the moment the bogus arguments to _php3_regcomp as a
possible gdb problem, do the remaining three arguments in the list
give any clue to the problem?

#0 _efree (ptr=0x63) at alloc.c:166

#1 0x8087989 in _php3_regcomp (ht=0x8222168, return_value=0x81be084,
    list=0x81d37fc, plist=0x81d37d0, preg=0xbfffe720, pattern=0x82242d8 "+$",
    cflags=1) at functions/reg.c:86

#2 0x8087f12 in __php3_regreplace (ht=0x8222168, return_value=0x81be084,
    list=0x81d37fc, plist=0x81d37d0, pattern=0x82242d8 " +$",
    replace=0x812824a "", string=0x82242f0 "US$", icase=0, extended=1)
    at functions/reg.c:288

   -- Michael

--
PHP Development Mailing List   http://www.php.net/
To unsubscribe send an empty message to php-dev-unsubscribe <email protected>
For help: php-dev-help <email protected>