[horde] Nag massive fatal error when saving task

Michael J Rubinsky mrubinsk at horde.org
Tue Dec 15 04:14:15 UTC 2015


Quoting Louis-Philippe Allard <lp.allard.1 at gmail.com>:

> Quoting Jan Schneider <jan at horde.org>:
>
>> Zitat von Louis-Philippe Allard <lp.allard.1 at gmail.com>:
>>
>>> Quoting Michael J Rubinsky <mrubinsk at horde.org>:
>>>
>>>> Quoting Louis-Philippe Allard <lp.allard.1 at gmail.com>:
>>>>
>>>>> Hello horde maillist,
>>>>>  
>>>>> since a few upgrades ago , I no longer can create tasks in Nag.  The
>>>
>>> form
>>>>> to input task information launches OK but when I click save, I get a
>>>>> massive Fatal error of almost 1700 lines!  I am not sure when this
>>>>> started
>>>>> as I seldomly use Nag but I remember Nag was working just perfectly at
>>>>> least 3 to 4 months ago.
>>>>>  
>>>>> Horde is up to date (AFAIK) because running "pear upgrade -a-B
>>>>> horde/webmail" yields to no update available..
>>>>>
>>>>> Due to filesize limitations, the actual fatal error that is displayed
>>>>> in my
>>>>> web browser when nag crashes is available on pastebin at the following
>>>>> address:  http://pastebin.com/AT7Nc7zM
>>>>>
>>>>> Any help appreciated on how to troubleshoot this.  With this and the
>>>>> Fatal
>>>>> error I am getting when I click "Reply to All" in an email, I am
>>>
>>> starting
>>>>> to wonder what will be next...
>>>>
>>>> Ok. It looks like the tasklist_id isn't being sent from the form when
>>>> being saved. This is normal, when there is only one writable tasklist.
>>>> In this case, we get the tasklist_id from the default_tasklist pref.
> For
>>>> some reason, for you, the following block in SaveTask.php:
>>>>
>>>>        if ($prefs->isLocked('default_tasklist') ||
>>>>            count(Nag::listTasklists(false, Horde_Perms::EDIT,
>>>
>>> false)) <=
>>>> 1) {
>>>>            $info['tasklist_id'] = $info['old_tasklist'] =
>>>> Nag::getDefaultTasklist(Horde_Perms::EDIT);
>>>>        }
>>>>
>>>> is not being executed like it should, so one of the conditionals there
>>>> is not evaluating to true. My guess is it's something wrong with your
>>>> default_tasklist preference. Try visiting Nag's pref page and re-saving
>>>> it. Otherwise, execute the Nag::listTasklists(false, Horde_Perms::EDIT,
>>>> false) portion of the code in the horde admin phpshell (under Nag's
>>>> context) and see what that returns.
>>>>
>>>> --
>>>> mike
>>>> The Horde Project
>>>> http://www.horde.org
>>>>
> https://www.facebook.com/hordeprojecthttps://www.twitter.com/hordeproject
>>>
>>> I haven't got any replies from my email of Nov 23, and I am not sure if
>>> it
>>> was sent to the list, so I am retrying in the hope of putting this
>>> issue to
>>> rest once and for all, and since I am getting the need to use nag for
>>> task
>>> management..
>>>
>>> To answer Michael's suggestion, I have tried re-saving Nag's prefs and
>>> re-creating a task, to no avail.
>>>
>>> Then I went to PHP Shell (under Nag's context) and ran
>>> "Nag::listTasklists(false, Horde_Perms::EDIT, false)" which gave only
>>>
>>> PHP Code
>>> 1  Nag::listTasklists(false, Horde_Perms::EDIT, false)
>>>
>>> Not sure how to interpret this but I think nothing was executed.  Right
>>> now, its important to mention that the tasklist is empty on purpose (I
>>> deleted all of them a while back).
>>>
>>> Im hoping to be able to fix this soon with the help of the maillist.
>>
>> http://lists.horde.org/archives/horde/Week-of-Mon-20151123/055097.html
>>
>> --
>> Jan Schneider
>> The Horde Project
>> http://www.horde.org/
>>
>> --
>> Horde mailing list
>> Frequently Asked Questions: http://horde.org/faq/To unsubscribe, mail:
>> horde-unsubscribe at lists.horde.org
>
> OK Sorry for this I did not find Mike's reply from Nov 23...
>
> I ran the command in PHP Shell under Nag's context and got:
>
> array(2) {
>   ["XXXXXXXXXXXXXXXXXXXXXXX"]=>
>   object(Horde_Share_Object_Sqlng)#225 (4) {
>     ["availablePermissions"]=>
>     array(4) {
>       [0]=>
>       int(2)
>       [1]=>
>       int(4)
>       [2]=>
>       int(8)
>       [3]=>
>       int(16)
>     }
>     ["data"]=>
>     array(11) {
>       ["share_id"]=>
>       string(1) "5"
>       ["share_name"]=>
>       string(23) "XXXXXXXXXXXXXXXXXXXXXXX"
>       ["share_owner"]=>
>       string(21) "lp.allard.1 at gmail.com"
>       ["share_flags"]=>
>       string(1) "0"
>       ["attribute_name"]=>
>       string(14) "Main Task List"
>       ["attribute_desc"]=>
>       string(0) ""
>       ["attribute_color"]=>
>       string(7) "#631861"
>       ["share_parents"]=>
>       NULL
>       ["attribute_issmart"]=>
>       string(1) "0"
>       ["attribute_search"]=>
>       NULL
>       ["perm"]=>
>       array(4) {
>         ["type"]=>
>         string(6) "matrix"
>         ["creator"]=>
>         int(0)
>         ["guest"]=>
>         int(0)
>         ["default"]=>
>         int(0)
>       }
>     }
>     ["_shareCallback":protected]=>
>     array(2) {
>       [0]=>
>       object(Horde_Core_Share_FactoryCallback)#219 (2) {
>         ["_app":protected]=>
>         string(3) "nag"
>         ["_driver":protected]=>
>         string(5) "Sqlng"
>       }
>       [1]=>
>       string(6) "create"
>     }
>     ["_shareOb":protected]=>
>     NULL
>   }
>   ["uF_XXXXXXXXXXXXXXXXXXXXX"]=>
>   object(Horde_Share_Object_Sqlng)#237 (4) {
>     ["availablePermissions"]=>
>     array(4) {
>       [0]=>
>       int(2)
>       [1]=>
>       int(4)
>       [2]=>
>       int(8)
>       [3]=>
>       int(16)
>     }
>     ["data"]=>
>     array(11) {
>       ["share_id"]=>
>       string(1) "4"
>       ["share_name"]=>
>       string(23) "uF_XXXXXXXXXXXXXXXXXXXXX"
>       ["share_owner"]=>
>       NULL
>       ["share_flags"]=>
>       string(1) "0"
>       ["attribute_name"]=>
>       string(14) "Louis-Philippe"
>       ["attribute_desc"]=>
>       string(0) ""
>       ["attribute_color"]=>
>       string(7) "#b5ce65"
>       ["share_parents"]=>
>       NULL
>       ["attribute_issmart"]=>
>       string(1) "0"
>       ["attribute_search"]=>
>       NULL
>       ["perm"]=>
>       array(4) {
>         ["type"]=>
>         string(6) "matrix"
>         ["creator"]=>
>         int(0)
>         ["guest"]=>
>         int(0)
>         ["default"]=>
>         int(0)
>       }
>     }
>     ["_shareCallback":protected]=>
>     array(2) {
>       [0]=>
>       object(Horde_Core_Share_FactoryCallback)#219 (2) {
>         ["_app":protected]=>
>         string(3) "nag"
>         ["_driver":protected]=>
>         string(5) "Sqlng"
>       }
>       [1]=>
>       string(6) "create"
>     }
>     ["_shareOb":protected]=>
>     NULL
>   }
> }
>
> I hope this will help you help me troubleshoot this..


It did. It's a bug in the handling of permissions of System Shares  
when the logged in user is an administrator. The System Share  
"Louis-Philippe" (the second array item in the returned list) is  
returned when listing shares since you're an admin but there are no  
explicit PERM_EDIT on this share for your user (which is why you  
probably can't create tasks on this list either).

I'm looking into a fix, but in the mean time if you explicitly give  
your user permissions (at least PERMS_EDIT) to this share, you will be  
able to save your tasks.


-- 
mike
The Horde Project
http://www.horde.org
https://www.facebook.com/hordeproject
https://www.twitter.com/hordeproject
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 5751 bytes
Desc: S/MIME Signature
URL: <http://lists.horde.org/archives/horde/attachments/20151215/9a4964f1/attachment.bin>


More information about the horde mailing list