ID:               26724
 User updated by:  thought at phenomind dot com
 Reported By:      thought at phenomind dot com
-Status:           Feedback
+Status:           Open
 Bug Type:         Class/Object related
 Operating System: Windows XP
 PHP Version:      5CVS-2003-12-26 (dev)
 New Comment:

Sorry, I cannot but I just removed 500+ instances of get_class() and
__CLASS__ from many libraries of code and the problem has disappeared.

I'll give you an example of the object where the primary_key property
was corrupted. It is fine in this instance because I have already done
the abovementioned alterations:

user_session Object
(
    [y_resolution] => 
    [x_resolution] => 
    [flash_version] => 
    [session_identifier] => 
    [timestamp_difference] => 
    [cookies_enabled] => 
    [ip_address] => 
    [browser] => 
    [nominated_transport_agent_key] => 
    [nominated_shipper_key] => 
    [nominated_project_key] => 
    [live_key] => 73
    [new_on_load] => 
    [table_name] => user_sessions
    [composite_object_name] => 
    [composite_key] => 
    [primary_key] => user_session_key
    [database] => mysql_db Object
        (
            [engine] => mysql
            [username] => ****
            [password] => *********
            [service_name] => 
            [live_table] => 
            [commit_query] => 0
            [tns_admin] => 
            [vars] => vars Object
                (
                    [username] => ******
                    [btn_login] => Login
                    [password] => ****
                    [encoded_php_self] => 
                )

            [database_name] => BKCARGO
            [host] => localhost
            [port] => 3306
            [host_port] => localhost:3306
            [database_handle] => Resource id #80
            [query] => UPDATE user_sessions SET user_key = '1', 
transport_agent_key = '', 
shipper_key = '', 
project_key = '', 
y_resolution = '', 
x_resolution = '', 
flash_version = '', 
session_identifier = '', 
timestamp_difference = '', 
cookies_enabled = '', 
ip_address = '', 
browser = '', 
live_user_key = '1'
 WHERE user_session_key='73'
            [result_handle] => 1
        )

    [vars] => vars Object
        (
            [username] => ********
            [btn_login] => Login
            [password] => *******
            [encoded_php_self] => *****
        )

    [user_key] => 1
    [user_session_key] => 73
    [live_user_key] => 1
)


Previous Comments:
------------------------------------------------------------------------

[2003-12-26 23:41:25] [EMAIL PROTECTED]

Can you post an example that actually reproduces?  A simple 
class used with your code runs fine on OS X.

------------------------------------------------------------------------

[2003-12-26 23:08:41] thought at phenomind dot com

Problems also with get_object_vars()

If my script has this function anywhere, PHP5 produces erratic results.

------------------------------------------------------------------------

[2003-12-26 22:34:17] thought at phenomind dot com

Description:
------------
Apologise for not being able to describe this better or give example
code. 

get_class() and __CLASS__ cause PHP5 to behave erratically. Sometimes
changes the data within the [argument] object and often causes Apache
to crash.

Problems experienced on Windows XP. Same problem also caused a Dual
Processor Mac OS-X box to soak up CPU time 1 processor. Script calls
get_class() many, many times or complex, composite objects.

The erratic behaviour is very hard to pin down but the source is
definitely get_class(). PHP5 objects are not very happy with this
function.

Reproduce code:
---------------
I can say:

print_r($object);
print get_class($object);
print_r($object);


Expected result:
----------------
1) object dump
2) Name of object
3) same object dump

Actual result:
--------------
1) object dump
2) Name of object
3) object dump with probably one property changed

No other code in the middle to cause this behaviour.


------------------------------------------------------------------------


-- 
Edit this bug report at http://bugs.php.net/?id=26724&edit=1

Reply via email to