Fetchmail join script fails because of errata mismatch UCS 5.0.4 - errata 534-540

Hello dear forum,

while updating new packages became available between the updates of the primary and non primary servers.
There was difference in errata level: primary was on errata 734, non-primary got to 740 and there was fetchmail inbetween. Now the non-primary cannot run the join-script 92univention-fetchmail.inst

The join log is:

RUNNING 92univention-fetchmail.inst
2023-07-12 20:15:23.606757627+02:00 (in joinscript_init)
Object exists: cn=services,cn=univention,dc=intern,dc=KUNDENDOMAIN,dc=de
Object exists: cn=Fetchmail,cn=services,cn=univention,dc=intern,dc=KUNDENDOMAIN,dc=de
No modification: cn=XYsrv03,cn=dc,cn=computers,dc=intern,dc=KUNDENDOMAIN,dc=de
WARNING: cannot append Fetchmail to service, value exists
Converting old fetchmail configuration...
Skip object with uid "Administrator". Already migrated or incomplete configuration
Traceback (most recent call last):
  File "/usr/share/univention-fetchmail/migrate-fetchmail.py", line 189, in <module>
    main()
  File "/usr/share/univention-fetchmail/migrate-fetchmail.py", line 184, in main
    c.main()
  File "/usr/share/univention-fetchmail/migrate-fetchmail.py", line 104, in main
    ret = self.convert()
  File "/usr/share/univention-fetchmail/migrate-fetchmail.py", line 165, in convert
    ('univentionFetchmailUseSSL', ssl, []), ('univentionFetchmailSingle', old_fetchmail_new, map_fetchmail(updated_fetchmail_new)),
  File "/usr/share/univention-fetchmail/migrate-fetchmail.py", line 74, in map_fetchmail
    return [json.dumps(v).encode('UTF-8') for v in value]
  File "/usr/share/univention-fetchmail/migrate-fetchmail.py", line 74, in <listcomp>
    return [json.dumps(v).encode('UTF-8') for v in value]
  File "/usr/lib/python3.7/json/__init__.py", line 231, in dumps
    return _default_encoder.encode(obj)
  File "/usr/lib/python3.7/json/encoder.py", line 199, in encode
    chunks = self.iterencode(o, _one_shot=True)
  File "/usr/lib/python3.7/json/encoder.py", line 257, in iterencode
    return _iterencode(o, 0)
  File "/usr/lib/python3.7/json/encoder.py", line 179, in default
    raise TypeError(f'Object of type {o.__class__.__name__} '
TypeError: Object of type bytes is not JSON serializable

__JOINERR__:FAILED: /usr/lib/univention-install/92univention-fetchmail.inst
EXITCODE=1
60d2552f-b5e1-4e08-81cc-d5e86d615f0e
univention-join-hooks: looking for hook type "join/post-joinscripts" on XYSRV01.intern.KUNDENDOMAIN.de
Found hooks:


Mi 12. Jul 20:15:24 CEST 2023
univention-run-join-scripts finished

I tried reinstalling fetchmail, but it did not help.
Any help would be greatly appreciated!

Best regards
KaBi

I resolved it by myself … luckily there were not many fetchmail accounts on the system.
I removed the entries in /etc/fetchmailrc - after this, I was able to run the join script.
Then by hand readded the fetchmail accounts.

Regards
KaBi

1 Like
Mastodon