Forums / Developer / eZP hangs on loopNodeAssignment method call

eZP hangs on loopNodeAssignment method call

Author Message

Marko Žmak

Friday 23 November 2007 2:24:33 am

I have installed eZP 3.10.0 on one of my sites, set it up, and everything was working OK until few days ago. The site was fully functional and users were using it without problems.

But few days ago a serious problem started to occur. Users couldn't publish the objects, eZ just hangs up with a blank page when user clicks the publish button. So I tried to publish some object from the admin interface and I found out that I cannot publish any object (of any class), and also cannot add new locations to existing objects.

Then I did some debugging in eZP source code and found out that eZP hangs on calling this line:

 return call_user_func_array( array( $classObject, $methodName ), $parameterArray );

in "lib/ezutils/classes/ezmoduleoperationinfo.php" file in function:

function callClassMethod( $methodName, &$classObject, $parameterArray )

and it blocks when it calls the "loopNodeAssignment" method of "ezcontentoperationcollection" object.

This is how I did the debug... I added some debugging messages in "callClassMethod":

    function callClassMethod( $methodName, &$classObject, $parameterArray )
    {

eZDebug::writeError("callClassMethod: " . $methodName, "DEBUGGING");


        if ( $this->UseOldCall )
        {
            return call_user_method_array( $methodName, $classObject, $parameterArray );
        }
        else
        {

eZDebug::writeError("callClassMethod (NOT OLD): " . $methodName . "\n" .
print_r($classObject, true) . "\n" .
print_r($parameterArray, true),
"DEBUGGING");

            return call_user_func_array( array( $classObject, $methodName ), $parameterArray );
        }

    }

and I have also inserted:

eZDebug::Error("loopNodeAssignment: Obj: $objectID - Ver: $versionNum", "DEBUGGING");

on the first line of function:

function loopNodeAssignment( $objectID, $versionNum )

in "kernel/content/ezcontentoperationcollection.php" file. Then I tried publishing an object and looked at the "error.log". I found this at the end of "error.log":

[ Nov 23 2007 10:07:40 ] [195.29.90.53] DEBUGGING:
callClassMethod: loopNodeAssignment
[ Nov 23 2007 10:07:40 ] [195.29.90.53] DEBUGGING:
callClassMethod (NOT OLD): loopNodeAssignment
ezcontentoperationcollection Object
(
)

Array
(
    [0] => 539
    [1] => 1
)

It is strange, because it looks like it didn't even enter the "loopNodeAssignment" method, since there's no entry in error.log that should have be written by the debug call I inserted at the first line of "loopNodeAssignment" function.

Could someone help me with this one? What could be the problem, and how could I do some more debugging in order to find where's the problem?

--
Nothing is impossible. Not if you can imagine it!

Hubert Farnsworth

Marko Žmak

Wednesday 28 November 2007 7:20:39 am

Could anyone help me with this one?

I tried everything that I could think of and no results...

--
Nothing is impossible. Not if you can imagine it!

Hubert Farnsworth