6.0.0-beta1
7/15/25

[#11736] nag dies on empty dates
Summary nag dies on empty dates
Queue Nag
Queue Version Git master
Type Bug
State Resolved
Priority 1. Low
Owners
Requester jmozdzen (at) nde (dot) ag
Created 11/21/2012 (4619 days ago)
Due
Updated 11/23/2012 (4617 days ago)
Assigned 11/22/2012 (4618 days ago)
Resolved 11/22/2012 (4618 days ago)
Github Issue Link
Github Pull Request
Milestone
Patch Yes

History
11/23/2012 07:33:19 PM jmozdzen (at) nde (dot) ag Comment #10 Reply to this comment
As a result of other tests, I completely dropped my user's IMAP-stored 
preferences (may data back to Horde1) and started from scratch.

I'm now unable to reproduce the problem.

case closed.
11/22/2012 09:17:33 PM jmozdzen (at) nde (dot) ag Comment #9 Reply to this comment
Should be fixed. Thanks for the submission
I just applied your fix to my test bed server and re-checked:

[Thu Nov 22 22:10:15 2012] [error] [client 192.168.101.26] PHP Fatal 
error:  Call to a member function format() on a non-object in 
/srv/www/htdocs/horde5/nag/lib/Driver/Kolab.php on line 129

I added debug output (outputing start-date and due-date if not an 
object) and see it reporting twice the value for "due-date": 
"1269523800".

So for me, your fix doesn't work. Anything I should check for, 
probably in my environment?

Regards,
Jens
11/22/2012 07:25:07 PM Gunnar Wrobel Comment #8
State ⇒ Resolved
Reply to this comment
Should be fixed. Thanks for the submission.
11/22/2012 07:24:28 PM Git Commit Comment #7 Reply to this comment
Changes have been made in Git (master):

commit c8e17ed12fe986629fcad2eaf3f7fcce9ebb8e78
Author: Gunnar Wrobel <p@rdus.de>
Date:   Thu Nov 22 20:00:54 2012 +0100

     [gwr] Ignore empty dates (Bug #11736).

  nag/lib/Driver/Kolab.php |    4 ++--
  1 files changed, 2 insertions(+), 2 deletions(-)

http://git.horde.org/horde-git/-/commit/c8e17ed12fe986629fcad2eaf3f7fcce9ebb8e78
11/22/2012 07:24:23 PM Git Commit Comment #6 Reply to this comment
Changes have been made in Git (master):

commit 8a25730a64ec3e5eba6fcfe462196fc487280a54
Author: Gunnar Wrobel <p@rdus.de>
Date:   Thu Nov 22 20:00:02 2012 +0100

     [gwr] Ignore empty dates (Bug #11736).

  nag/docs/CHANGES |    1 +
  nag/package.xml  |    2 ++
  2 files changed, 3 insertions(+), 0 deletions(-)

http://git.horde.org/horde-git/-/commit/8a25730a64ec3e5eba6fcfe462196fc487280a54
11/22/2012 05:49:00 PM jmozdzen (at) nde (dot) ag Comment #5
New Attachment: badtask Download
Reply to this comment
I identified the triggering task and grabbed the corresponding file 
(as stored by Cyrus IMAP server).

Some parts of the text needed to be "anonymized" but both the 
structure and the content in general is left intact.

Thanks for your help!
11/22/2012 09:54:34 AM Jan Schneider Comment #4 Reply to this comment
For a start it would be sufficient if you upload an example Kolab 
message from your tasks folder that triggers that behavior.
11/22/2012 09:34:50 AM jmozdzen (at) nde (dot) ag Comment #3 Reply to this comment
I'll tell you the results if you tell me how to find out - I'm from 
the C/C++ world and rather unexperienced in PHP debugging.

I had *guessed* that it is a string instead of an object, but how can 
I find out easily (what debug statement would I have to put into the 
code, intp the "else" case of my added check)?
11/22/2012 04:48:22 AM Michael Rubinsky Comment #2
State ⇒ Feedback
Priority ⇒ 1. Low
Reply to this comment
The lastest version of nag dies when run against our (old!) list of 
tasks, as soon as a task without due date is encountered.
So, if the task does not contain a date, but $task['start-state'] is 
set and NOT an object, what, exactly, is it?
11/21/2012 02:14:59 PM jmozdzen (at) nde (dot) ag Comment #1
Patch ⇒ Yes
State ⇒ Unconfirmed
New Attachment: 0001-improve-robustness-against-empty-dates.patch Download
Milestone ⇒
Queue ⇒ Nag
Summary ⇒ nag dies on empty dates
Type ⇒ Bug
Priority ⇒ 3. High
Reply to this comment
The lastest version of nag dies when run against our (old!) list of 
tasks, as soon as a task without due date is encountered.

The attached patch makes sure that start-date and end-data are 
actually objects, so that there's at least a chance that the format() 
method may exist.

Saved Queries