Hi Brad, overload is not ZE2 compatible, so I wouldn't lose any sleep over this one if I were you. Andi/Stas threatened to implement this functionality "natively" into ZE2, along with aggregation, but I guess they've been too busy to get around to doing it yet.
--Wez. On 08/10/02, "Brad Bulger" <[EMAIL PROTECTED]> wrote: > trying to build CVS version with ZendEngine2 and use the overload extension. > PHP crashes with a bus error on the call to overload(). it's a hash table > problem, over my head for sure. i can't get this to work at all and wonder > if it's a Darwin(OS X) issue. has anyone else run into this? > > this is the compile process: > > cvs checkout php4 > cd php4 > cvs checkout ZendEngine2 > > then i have to edit ZendEngine2/Zend.m4 to change this line: > > fprintf(fp, "%d %d\n", ZEND_MM_ALIGNMENT, zeros); > > to add that '\n' char, or else configure fails and ZEND_MM_ALIGNMENT > and ZEND_MM_ALIGNMENT_LOG2 don't get defined correctly - you can see > why i'm thinking this is a platform and/or config problem... > > then continuing: > ./buildconf --ZendEngine2 > mv Zend Zend1.2 > mv ZendEngine2 Zend > ./configure > make > > sapi/cli/php -v > PHP 4.3.0-dev (cli), Copyright (c) 1997-2002 The PHP Group > Zend Engine v2.0.0-alpha2, Copyright (c) 1998-2002 Zend Technologies > > sapi/cli/php -m > [PHP Modules] > xml > tokenizer > standard > session > posix > pcre > overload > mysql > mbstring > ctype > > [Zend Modules] > > sapi/cli/php -r "class foo {} overload('foo');" > Bus error > > gdb sapi/cli/php > GNU gdb 5.0-20001113 (Apple version gdb-203) (Wed Nov 7 16:28:57 GMT 2001) (UI_OUT) > Copyright 2000 Free Software Foundation, Inc. > GDB is free software, covered by the GNU General Public License, and you are > welcome to change it and/or distribute copies of it under certain conditions. > Type "show copying" to see the conditions. > There is absolutely no warranty for GDB. Type "show warranty" for details. > This GDB was configured as "powerpc-apple-macos10". > Reading symbols for shared libraries .. done > (gdb) run -r "class foo {} overload('foo');" > Starting program: /usr/local/book/php4/sapi/cli/php -r "class foo {} >overload('foo');" > [Switching to thread 1 (process 486 thread 0x1603)] > Reading symbols for shared libraries . done > > Program received signal EXC_BAD_ACCESS, Could not access memory. > 0x000f9820 in zend_hash_exists (ht=0x521234, arKey=0x118990 "__get", nKeyLength=6) >at /usr/local/book/php4/Zend/zend_hash.c:924 > 924 p = ht->arBuckets[nIndex]; > (gdb) bt > #0 0x000f9820 in zend_hash_exists (ht=0x521234, arKey=0x118990 "__get", >nKeyLength=6) at /usr/local/book/php4/Zend/zend_hash.c:924 > #1 0x0003d9a8 in zif_overload (ht=0, return_value=0x53de88, this_ptr=0x6, >return_value_used=0) at /usr/local/book/php4/ext/overload/overload.c:671 > #2 0x0010a88c in execute (op_array=0x53dc38) at >/usr/local/book/php4/Zend/zend_execute.c:2079 > #3 0x000e975c in zend_eval_string (str=0xbffff728 "", retval_ptr=0x0, >string_name=0x0) at /usr/local/book/php4/Zend/zend_execute_API.c:715 > #4 0x00112058 in main (argc=3, argv=0xbffffbc4) at >/usr/local/book/php4/sapi/cli/php_cli.c:717 > #5 0x00001b80 in _start () > #6 0x000019b0 in start () > (gdb) > > > -- > PHP Development Mailing List <http://www.php.net/> > To unsubscribe, visit: http://www.php.net/unsub.php -- PHP Development Mailing List <http://www.php.net/> To unsubscribe, visit: http://www.php.net/unsub.php