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

Reply via email to