6.0.0-alpha14
7/1/25

[#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 12/17/2015 (3484 days ago)
Due
Updated 12/28/2015 (3473 days ago)
Assigned 12/17/2015 (3484 days ago)
Resolved 12/28/2015 (3473 days ago)
Github Issue Link
Github Pull Request
Milestone
Patch No

History
12/28/2015 10:00:29 PM 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
12/28/2015 09:38:11 PM 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).
12/28/2015 07:20:41 PM 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).
12/28/2015 07:07:20 PM 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]
12/18/2015 12:36:08 PM 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.
12/17/2015 03:30:14 PM 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...
12/17/2015 03:29:19 PM Michael Rubinsky Version ⇒
Queue ⇒ Kolab
 
12/17/2015 03:28:55 PM Michael Rubinsky Comment #6
State ⇒ Feedback
Summary ⇒ Mnemo/Kolab-driven: Cannot remove empty notepads
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.
12/17/2015 11:43:25 AM 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] =>
)
"""

12/17/2015 11:28:34 AM 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)
12/17/2015 05:46:34 AM 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).
12/17/2015 05:42:45 AM 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
)
"""
12/17/2015 05:39:16 AM mike (dot) gabriel (at) das-netzwerkteam (dot) de Comment #1
Priority ⇒ 1. Low
State ⇒ Unconfirmed
Patch ⇒ No
Milestone ⇒
Queue ⇒ Mnemo
Summary ⇒ Mnemo/Kolab-driven: Cannot remove notepads
Type ⇒ Bug
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