Cron <root@mail> [ -x /usr/share/univention-ox/process-listener ] && /usr/share/univention-ox/process-listener

open-xchange
cron

#1

Hello,
since yesterday i receive each 5 minutes mails from Cron:

Traceback (most recent call last):
  File "/usr/lib/univention-directory-listener/system/ox-user.py", line 898, in <module>
    handler.process_pending()
  File "/usr/lib/pymodules/python2.7/univention/ox/listener_tools.py", line 597, in process_pending
    return self.process(func)
  File "/usr/lib/pymodules/python2.7/univention/ox/listener_tools.py", line 652, in process
    result = func(dn, entry.new, entry.old, entry.action)
  File "/usr/lib/univention-directory-listener/system/ox-user.py", line 219, in handler
    return unqueued_handler(dn, new, old, command)
  File "/usr/lib/univention-directory-listener/system/ox-user.py", line 236, in unqueued_handler
    _ox_group_cache.rebuild_cache_if_required()
  File "/usr/lib/pymodules/python2.7/univention/ox/listener_tools.py", line 377, in rebuild_cache_if_required
    self.rebuild_cache(raise_exceptions)
  File "/usr/lib/pymodules/python2.7/univention/ox/listener_tools.py", line 354, in rebuild_cache
    self.add(context_id, groupname, group_id, displayname, members, db_commit=False)
  File "/usr/lib/pymodules/python2.7/univention/ox/listener_tools.py", line 385, in add
    self.cursor.execute('INSERT INTO group_cache VALUES(?, ?, ?, ?, ?)', (groupname, group_id, context_id, displayname, members))
sqlite3.ProgrammingError: You must not use 8-bit bytestrings unless you use a text_factory that can interpret 8-bit bytestrings (like text_factory = str). It is highly recommended that you instead just switch your application to Unicode strings.

I installed the latest updates and i changed a couple of users which do not need and use OX to “login disabled” in the OX-account settings.
The System looks like it is working without any prblems but i am afraid that this Error Message does not mean anything good.

Any Help is very appreciated.

~# univention-app info
UCS: 4.2-3 errata246
App Center compatibility: 4
Installed: mailserver=11 open-xchange-text=7.8.4-ucs1 oxseforucs=7.8.4-ucs9
Upgradable:

Thank you
Matthias


#2

Hello Matthias,

you have unfortunately hit a known bug (https://forge.univention.org/bugzilla/show_bug.cgi?id=45769).
It has been fixed, but the fix has not been release yet. We will make a release as soon as possible.
The error messages will continue until then, as the operation currently cannot complete.

Greetings
Daniel


#3

Hello Daniel,

thank you for that information.
Just to be curious: How can i find out which Bug-Id runs into which errata. Opening all Erratas one by one does not seem very comfortable to me :wink:

Greetings
Matthias


#4

There is no dedicated table for that.

But you can search the Bugzilla page. Use filters in the “Advanced Search” to look only for relevant bugs.
Leave “Product” and “Component” empty, mark all entries in “Status” and all in “Resolution” and put “You must not use 8-bit bytestrings” in the “Comment” field (not in the “Summary” field).


#5

Hello, a few days ago i performed an update which let the sqlite3.ProgrammingError disapear.

But there still remains an Error about a locked Database.

Traceback (most recent call last):
  File "/usr/lib/univention-directory-listener/system/ox-user.py", line 898, in <module>
    handler.process_pending()
  File "/usr/lib/pymodules/python2.7/univention/ox/listener_tools.py", line 597, in process_pending
    return self.process(func)
  File "/usr/lib/pymodules/python2.7/univention/ox/listener_tools.py", line 652, in process
    result = func(dn, entry.new, entry.old, entry.action)
  File "/usr/lib/univention-directory-listener/system/ox-user.py", line 219, in handler
    return unqueued_handler(dn, new, old, command)
  File "/usr/lib/univention-directory-listener/system/ox-user.py", line 236, in unqueued_handler
    _ox_group_cache.rebuild_cache_if_required()
  File "/usr/lib/pymodules/python2.7/univention/ox/listener_tools.py", line 377, in rebuild_cache_if_required
    self.rebuild_cache(raise_exceptions)
  File "/usr/lib/pymodules/python2.7/univention/ox/listener_tools.py", line 340, in rebuild_cache
    self.__clear_database()
  File "/usr/lib/pymodules/python2.7/univention/ox/listener_tools.py", line 329, in __clear_database
    self.cursor.execute('DELETE FROM group_cache')
sqlite3.OperationalError: database is locked
Traceback (most recent call last):
  File "/usr/lib/univention-directory-listener/system/ox-groups.py", line 63, in <module>
    _ox_group_cache.rebuild_cache_if_required(raise_exceptions=False)
  File "/usr/lib/pymodules/python2.7/univention/ox/listener_tools.py", line 377, in rebuild_cache_if_required
    self.rebuild_cache(raise_exceptions)
  File "/usr/lib/pymodules/python2.7/univention/ox/listener_tools.py", line 340, in rebuild_cache
    self.__clear_database()
  File "/usr/lib/pymodules/python2.7/univention/ox/listener_tools.py", line 329, in __clear_database
    self.cursor.execute('DELETE FROM group_cache')
sqlite3.OperationalError: database is locked

How can i make this errors disappear and stop those Mails every five minutes?

root@mail:~# univention-app info
UCS: 4.2-3 errata265
App Center compatibility: 4
Installed: mailserver=11 open-xchange-text=7.8.4-ucs1
Upgradable:

Greets
Matthias


#6

Hello,

the output of univention-app info seems to be incomplete (OX app is missing). Please open the app center UMC module and try to install OX on the server it is already installed. You’ll get an error message (as expected), but it’ll fix the output of univention-app.

Regarding the database is locked error: it could be, that there is actually a process hanging and blocking the database. Please check for a process called process-listenerand kill it, if it is running:

ps ax | grep process-listener
pkill -9 -f process-listener

Then delete the database file(s) and restart the listener:

rm /var/cache/univention-ox/*
service univention-directory-listener restart

Please write here the exact OX-integration version:
dpkg -l univention-ox


#7

Hello,

i was unable to install the app via the umc, I pressed install OX App Suite wich indeed got me an error message. The only option i was given there was to abort.
After that the univention-app info output was still the same as above.

After that i tried to install the app via console using univention-app install oxseforucs. The installation took some time, asked me for the root Password of the Domain-Controller and the Backup-Controller and after that it restartet OX. Now the App is marked as installed again.

root@mail:/var/cache/univention-ox# univention-app info
UCS: 4.2-3 errata265
App Center compatibility: 4
Installed: mailserver=11 open-xchange-text=7.8.4-ucs1 oxseforucs=7.8.4-ucs10
Upgradable:

root@mail:/var/cache/univention-ox# dpkg -l univention-ox
Gewünscht=Unbekannt/Installieren/R=Entfernen/P=Vollständig Löschen/Halten
| Status=Nicht/Installiert/Config/U=Entpackt/halb konFiguriert/
         Halb installiert/Trigger erWartet/Trigger anhängig
|/ Fehler?=(kein)/R=Neuinstallation notwendig (Status, Fehler: GROSS=schlecht)
||/ Name                                            Version                      Architektur                  Beschreibung
+++-===============================================-============================-============================-====================================================================================================
ii  univention-ox                                   9.0.7-11A~4.2.0.201801031550 all                          UCS package for base Open-Xchange functionality
root@mail:/var/cache/univention-ox#

The error-messages seem to be gone now. I hope this installation-procedure did not break anything else but until now it looks good.

Thank you very much

Greets
Matthias