[horde] Horde 3.1, memcache sessionhandler, sidebar, and flock()

Chris Stromsoe cbs at cts.ucla.edu
Wed Dec 27 22:43:58 PST 2006


I'm not getting any mail from the list (vlad.horde.org is timing out 
deliveries -- is there somebody to email about that other than 
mailman at lists.horde.org?), but I am watching response to this through the 
list archive.

On Wed, 27 Dec 2006, Chris Stromsoe wrote:

> Modifying the if/else block to be
>
>    if ($params['status'] == 'block') {
>        $block = &Horde_Block_Collection::getBlock($params['app'],  $params['blockname']);
>        if (is_a($block, 'PEAR_Error')) {
>            Horde::fatal($block, __FILE__, __LINE__);
>        }
>        if ($app != 'kronolith-alarms')
>            $block->buildTree($tree, 0,
>                              isset($params['menu_parent']) ?
>                              $params['menu_parent'] : null);
>    } else {
>
> also lets the sidebar load.

_buildTree() in kronolith/lib/Block/tree_alarms.php is hanging at

   require_once KRONOLITH_BASE . '/lib/base.php';

base.php tries to create a calendar if there isn't a calendar for that 
person already:


         /* If the user's personal calendar doesn't exist, then create it. */
         if (!$GLOBALS['kronolith_shares']->exists(Auth::getAuth())) {
             require_once 'Horde/Identity.php';
             $identity = &Identity::singleton();
             $name = $identity->getValue('fullname');
             if (trim($name) == '') {
                 $name = Auth::removeHook(Auth::getAuth());
             }
             $share = &$GLOBALS['kronolith_shares']->newShare(Auth::getAuth());
             $share->set('name', sprintf(_("%s's Calendar"), $name));
             $GLOBALS['kronolith_shares']->addShare($share);
             $GLOBALS['all_calendars'][Auth::getAuth()] = &$share;


......

Checking $GLOBALS['kronolith_shares']->exists(Auth::getAuth()) causes the 
hang.  If I alter the horde/lib/Horde/Shares.php exists() to return 
immediately, instead of calling _datatree->exists(), it hangs on later 
datatree accesses inside the same block; I didn't check to see which one.



-Chris


More information about the horde mailing list