6.0.0-git
2021-05-07

[#14202] Mnemo/Kolab-driven: Cannot remove empty notepads
Summary Mnemo/Kolab-driven: Cannot remove empty notepads
Queue Kolab
Type Bug
State Resolved
Priority 1. Low
Owners mrubinsk (at) horde (dot) org, thomas.jarosch (at) intra2net (dot) com
Requester mike.gabriel (at) das-netzwerkteam (dot) de
Created 2015-12-17 (1968 days ago)
Due
Updated 2015-12-28 (1957 days ago)
Assigned 2015-12-17 (1968 days ago)
Resolved 2015-12-28 (1957 days ago)
Milestone
Patch No

History
2015-12-28 22:00:29 Michael Rubinsky Comment #12
State ⇒ Resolved
Reply to this comment
...and in fact this was already fixed back in July.

https://github.com/horde/horde/commit/967bb157f20e83f03330bdc6f5ec5166cd9b4e5f
2015-12-28 21:38:11 Michael Rubinsky Comment #11 Reply to this comment

[Show Quoted Text - 15 lines]
That's why I said "this one" and included the quote with the 
backtrace. The error that produced the backtrace was *clearly* caused 
by the issue I referred to.

I'm still looking at the rest of the ticket, but I can't reproduce the 
error at all.
The issue isn't a mnemo-only issue, but it affects all groupware 
folders (as written earlier).
2015-12-28 19:20:41 mike (dot) gabriel (at) das-netzwerkteam (dot) de Comment #10 Reply to this comment
Hi Michael,
The below report was incomplete. The notification message pops up
when attempting notepad deletion of *empty* notepads.
Actually, this one should have been only *NON-EMPTY* notepads. It 
was't related to Kolab at all, but rather an incorrect scope for the 
$injector variable on the line mentioned directly in the stack trace 
you provided. This has been fixed in Git for master and FW_52.
Ah... no...

Please see the patch attached to this bug. It fixes removing empty 
notepads, empty calendars, empty address books, etc. for setups using 
the Kolab backend.

The issue isn't a mnemo-only issue, but it affects all groupware 
folders (as written earlier).
2015-12-28 19:07:20 Michael Rubinsky Comment #9 Reply to this comment
The below report was incomplete. The notification message pops up 
when attempting notepad deletion of *empty* notepads.
Actually, this one should have been only *NON-EMPTY* notepads. It 
was't related to Kolab at all, but rather an incorrect scope for the 
$injector variable on the line mentioned directly in the stack trace 
you provided. This has been fixed in Git for master and FW_52.

[Show Quoted Text - 42 lines]
2015-12-18 12:36:08 mike (dot) gabriel (at) das-netzwerkteam (dot) de Comment #8
New Attachment: 1004_Kolab_Storage_dont-expunge-empty-folders-before-deletion.patch Download
Reply to this comment

[Show Quoted Text - 22 lines]
Patch that fixes the above issue is attached.
2015-12-17 15:30:14 Michael Rubinsky Comment #7
Assigned to Michael J Rubinsky <mrubinsk@horde.org>
Assigned to Thomas Jarosch
Reply to this comment
Thomas,

I know you are busy, just adding you to the owners to keep you up to date...
2015-12-17 15:29:19 Michael Rubinsky Version ⇒
Queue ⇒ Kolab
 
2015-12-17 15:28:55 Michael Rubinsky Comment #6
Summary ⇒ Mnemo/Kolab-driven: Cannot remove empty notepads
State ⇒ Feedback
Reply to this comment
I believe this was also already fixed in GIt, but will need to verify.

I'll try to take a more in depth look at these bug reports within the 
next few weeks.
2015-12-17 11:43:25 mike (dot) gabriel (at) das-netzwerkteam (dot) de Comment #5 Reply to this comment
Testing with Nag:

   o I cannot remove empty task lists
   o I *can* remove task lists once a task in them

Testing with Kronolith:

   o same as above

Testing with Turba:

   o I cannot remove empty address books
   o o I *cannot* remove address books with contacts in them

About Turba: it seems that Turba deletes all contact items first and 
*then* tries to remove the (now) empty address book. This fails with 
the usable backtrace below:

"""
Ein schwerer Fehler ist aufgetreten:
Invalid sequence in Uid

  1. Turba_Form_DeleteAddressBook->execute() 
/usr/share/horde/turba/addressbooks/delete.php:44
  2. Turba_Driver->deleteAll() 
/usr/share/horde/turba/lib/Form/DeleteAddressBook.php:59
  3. Turba_Driver_Share->_deleteAll() 
/usr/share/horde/turba/lib/Driver.php:1062
  4. Turba_Driver_Kolab->_deleteAll() 
/usr/share/horde/turba/lib/Driver/Share.php:303
  5. Horde_Kolab_Storage_Data_Base->deleteAll() 
/usr/share/horde/turba/lib/Driver/Kolab.php:798
  6. Horde_Kolab_Storage_Data_Base->delete() 
/usr/share/php/Horde/Kolab/Storage/Data/Base.php:635
  7. Horde_Kolab_Storage_Data_Base->deleteBackendIds() 
/usr/share/php/Horde/Kolab/Storage/Data/Base.php:617
  8. Horde_Kolab_Storage_Driver_Decorator_Base->expunge() 
/usr/share/php/Horde/Kolab/Storage/Data/Base.php:651
  9. Horde_Kolab_Storage_Driver_Decorator_Base->expunge() 
/usr/share/php/Horde/Kolab/Storage/Driver/Decorator/Base.php:468
10. Horde_Kolab_Storage_Driver_Imap->expunge() 
/usr/share/php/Horde/Kolab/Storage/Driver/Decorator/Base.php:468

Details
Die vollständige Fehlermeldung wurde in Hordes Logdatei geschrieben 
und für Administratoren weiter unten ausgegeben. Benutzer, die keine 
Administratoren sind, bekommen diese Details nicht zu sehen.

Horde_Kolab_Storage_Exception Object
(
     [details] =>
     [logged] => 1
     [_logLevel:protected] => 0
     [message:protected] => Invalid sequence in Uid
     [string:Exception:private] =>
     [code:protected] => 0
     [file:protected] => /usr/share/php/Horde/Kolab/Storage/Driver/Imap.php
     [line:protected] => 620
     [trace:Exception:private] => Array
         (
             [0] => Array
                 (
                     [file] => 
/usr/share/php/Horde/Kolab/Storage/Driver/Decorator/Base.php
                     [line] => 468
                     [function] => expunge
                     [class] => Horde_Kolab_Storage_Driver_Imap
                     [type] => ->
                     [args] => Array
                         (
                             [0] => INBOX/Kontakte-Test
                         )

                 )

             [1] => Array
                 (
                     [file] => 
/usr/share/php/Horde/Kolab/Storage/Driver/Decorator/Base.php
                     [line] => 468
                     [function] => expunge
                     [class] => Horde_Kolab_Storage_Driver_Decorator_Base
                     [type] => ->
                     [args] => Array
                         (
                             [0] => INBOX/Kontakte-Test
                         )

                 )

             [2] => Array
                 (
                     [file] => /usr/share/php/Horde/Kolab/Storage/Data/Base.php
                     [line] => 651
                     [function] => expunge
                     [class] => Horde_Kolab_Storage_Driver_Decorator_Base
                     [type] => ->
                     [args] => Array
                         (
                             [0] => INBOX/Kontakte-Test
                         )

                 )

             [3] => Array
                 (
                     [file] => /usr/share/php/Horde/Kolab/Storage/Data/Base.php
                     [line] => 617
                     [function] => deleteBackendIds
                     [class] => Horde_Kolab_Storage_Data_Base
                     [type] => ->
                     [args] => Array
                         (
                             [0] => Array
                                 (
                                 )

                         )

                 )

             [4] => Array
                 (
                     [file] => /usr/share/php/Horde/Kolab/Storage/Data/Base.php
                     [line] => 635
                     [function] => delete
                     [class] => Horde_Kolab_Storage_Data_Base
                     [type] => ->
                     [args] => Array
                         (
                             [0] => Array
                                 (
                                 )

                         )

                 )

             [5] => Array
                 (
                     [file] => /usr/share/horde/turba/lib/Driver/Kolab.php
                     [line] => 798
                     [function] => deleteAll
                     [class] => Horde_Kolab_Storage_Data_Base
                     [type] => ->
                     [args] => Array
                         (
                         )

                 )

             [6] => Array
                 (
                     [file] => /usr/share/horde/turba/lib/Driver/Share.php
                     [line] => 303
                     [function] => _deleteAll
                     [class] => Turba_Driver_Kolab
                     [type] => ->
                     [args] => Array
                         (
                             [0] => DttFSfXsbFu_VwMhcE3_wUW
                         )

                 )

             [7] => Array
                 (
                     [file] => /usr/share/horde/turba/lib/Driver.php
                     [line] => 1062
                     [function] => _deleteAll
                     [class] => Turba_Driver_Share
                     [type] => ->
                     [args] => Array
                         (
                             [0] =>
                         )

                 )

             [8] => Array
                 (
                     [file] => 
/usr/share/horde/turba/lib/Form/DeleteAddressBook.php
                     [line] => 59
                     [function] => deleteAll
                     [class] => Turba_Driver
                     [type] => ->
                     [args] => Array
                         (
                         )

                 )

             [9] => Array
                 (
                     [file] => /usr/share/horde/turba/addressbooks/delete.php
                     [line] => 44
                     [function] => execute
                     [class] => Turba_Form_DeleteAddressBook
                     [type] => ->
                     [args] => Array
                         (
                         )

                 )

         )

     [previous:Exception:private] =>
)
"""

2015-12-17 11:28:34 mike (dot) gabriel (at) das-netzwerkteam (dot) de Comment #4 Reply to this comment
This issue is not limited to Mnemo.

It also happens with task lists in Nag and calendars in Kronolith.

Please move to Kolab queue.
Please retitle to "Kolab-backend: cannot remove groupware storage 
containers (Kolab IMAP folders)
2015-12-17 05:46:34 mike (dot) gabriel (at) das-netzwerkteam (dot) de Comment #3 Reply to this comment
I run Horde3 and Horde5 against the same Kolab backend.

With Horde3 I could successfully remove that to-be-removed notepad 
(i.e. Kolab folder on IMAP server).
2015-12-17 05:42:45 mike (dot) gabriel (at) das-netzwerkteam (dot) de Comment #2 Reply to this comment
The below report was incomplete. The notification message pops up when 
attempting notepad deletion of *empty* notepads.

Just for the sake of testing, I created content (notes) in the 
to-be-removed notepad. If that notepad contains notes, then the below 
error message comes up on notepad (i.e. folder) deletion:

"""
Ein schwerer Fehler ist aufgetreten:
Call to a member function getInstance() on null

1. Horde_ErrorHandler::catchFatalError()

Details
Die vollständige Fehlermeldung wurde in Hordes Logdatei geschrieben 
und für Administratoren weiter unten ausgegeben. Benutzer, die keine 
Administratoren sind, bekommen diese Details nicht zu sehen.

ErrorException Object
(
     [message:protected] => Call to a member function getInstance() on null
     [string:Exception:private] =>
     [code:protected] => 0
     [file:protected] => /usr/share/horde/mnemo/lib/Driver.php
     [line:protected] => 304
     [trace:Exception:private] => Array
         (
             [0] => Array
                 (
                     [function] => catchFatalError
                     [class] => Horde_ErrorHandler
                     [type] => ::
                     [args] => Array
                         (
                         )

                 )

         )

     [previous:Exception:private] =>
     [severity:protected] => 1
     [logged] => 1
)
"""
2015-12-17 05:39:16 mike (dot) gabriel (at) das-netzwerkteam (dot) de Comment #1
Type ⇒ Bug
State ⇒ Unconfirmed
Priority ⇒ 1. Low
Summary ⇒ Mnemo/Kolab-driven: Cannot remove notepads
Queue ⇒ Mnemo
Milestone ⇒
Patch ⇒ No
Reply to this comment
With Mnemo 4.2.8 configured to use the Kolab storage backend, I fail 
to remove previously create (non-default) notepads (e.g. IMAP folders 
on the Kolab server).

A red error message/notification pops up on screen, saying:

"""
Invalid sequence in UID
"""

I will investigate this soon...

Saved Queries