Little summary of 2.4.7's bug

  • shin seung woo

    shin seung woo - 2004-12-03

    I would like to summarize of bugs of 2.4.7, and my status.


    * problem with class name/function's case [fixed]
      [ 1072815 ] php5.0.2 - Access to undeclared static property
      [  957946 ] class-names are stored in wrong way

    * problem with extending internal class [fixed]
      [ 1051095 ] Exception extends segfault

      [ 997553 ] PHP5 + 2.4.7CVS cant use += (-=) with arrays

    * auto_global [fixed]
      [ 991271 ] PHP5:$_SERVER, $_ENV and $_REQUEST is NULL in cached scripts

    * mmcache determine class's scope in wrong way [fixed, rare bug exist]
      [ 972935 ] class inheritance problem with PHP5.0.0RC3
      [ 948539 ] Failing to call parent constructors with PHP5

    * mmcache stores arg_info in hash table with key_length without +1 of strlen() [fixed]
      [ 855091 ] php5b2, error with class-specification in functionheader

    * I did'nt tested
      [ 950495 ] crashed list & explode funciton with PHP5

      [ 938532 ] crashes while loading cached script (PHP5RC1 & RC2)

    maybe, these are bugs of my version of patch only.

    * 2.4.7's way of determining class scope have lots of bugs.

    * missing entry of zend_class_entry that must be kept. [fixing]

        = zend_class_entry **interfaces;
          - i think we should have to store the names.

        = zend_class_iterator_funcs iterator_funcs;
          - zend_object_iterator *(*get_iterator)(zend_class_entry *ce, zval *object TSRMLS_DC);
          - need to extending internal classes which has iterator interfaces.

        = int (*interface_gets_implemented)(zend_class_entry *iface, zend_class_entry *class_type TSRMLS_DC); /* a class implements this interface */
          - may be it's called by "instanceof" operator when checking object is implemented well.

        = zend_object_value (*create_object)(zend_class_entry *class_type TSRMLS_DC);
          - i think it's needed to extending internal classes which use this feature.

        = zend_uint required_num_args;

    * caches class outside of file. [open, currently working]

      a1.php:    <? class A { var $who = 'in a1.php'; } ?>
      b.php:     <? class B extend A {} ?>
      test1.php: <? include "a1.php"; include "b.php"; class C extends B {} $c = new C; echo $c->who; ?>

      calling test1.php works well.
      but, at here B is stored with inherited status of class A (which is reside outside of b.php)

      a2.php:    <? class A { var $who = 'in a2.php'; } ?>
      test2.php: <? include "a2.php"; include "b.php"; class C extends B {} $c = new C; echo $c->who; ?>

      calling test2.php makes wrong output 'in a1.php'.
      B is stored in inherited status. so B have $who of a1.php.

    * maybe, missing part of CG

      - CG(open_files) or ...

    any comments or new bugs are welcome.

    • shin seung woo

      shin seung woo - 2004-12-03

      TIPs for other developers.

      if you are not reached really stable status, or need test cases. prado will help.

      it was first winner of last zend php5 contest.
      I am testing with it, it's a hardcore php5-feature using package.

      by using extensivly features like ReflectionClass, Exception, interfaces, __get, __set, __call, instanceof ...
      it makes php5 to look like
      anyway, this article is not aim to advertize prado.

      I think it use almost all of feature's in php5 except internal function/class things. on prado, there 3 examples, helloworld/hangman/addressbook.
      i managed to work with first two of them, but i'm trying to work with addressbook example. :)

      current version can be found at

    • Franck

      Franck - 2004-12-03

      Great job. I'll take a look at all that. Busy day for me today ..

    • Franck

      Franck - 2004-12-03

      You can edit this list in the wiki, after registration:


      • Xuefer

        Xuefer - 2004-12-04

        all your note is referred as "i"
        this denied us from editing
        should we write "i tested this bug. me too. and me"? who?

        and i did hardly find the place to register

        • Xuefer

          Xuefer - 2004-12-04

          and i don't know how to edit(can't find to edit) after login

          • shin seung woo

            shin seung woo - 2004-12-04

            wow. did you  succeeded register? great.

            I don't know how to register. I can't find. :-(

    • Tony Arcieri

      Tony Arcieri - 2004-12-03

      Have you considered running a better bug tracking/trouble ticket system like Bugzilla, Mantis, or Anthill?  Wiki just doesn't seem up to the challenge...

      • Franck

        Franck - 2004-12-03

        > Have you considered running a better bug tracking/trouble ticket system like Bugzilla, Mantis, or Anthill? Wiki just doesn't seem up to the challenge.

        Yes. I know wiki is not the good way for bug tracking. Please wait just for monday, i was looking for Horde 3 + Chora with integrated bug tracking INSIDE WebCVS, but it's seems to be to earlier to use it, I've just test it today.

        So let's use Mantis. I'll install it this weekend and will be available at, huuuu domain name begin to be long :)

        Regards, franck


Log in to post a comment.