Bug 41450 - empty pickle file (EOFError) causes S4 connector to not work anymore
empty pickle file (EOFError) causes S4 connector to not work anymore
Status: RESOLVED DUPLICATE of bug 34648
Product: UCS
Classification: Unclassified
Component: S4 Connector
UCS 4.1
Other Linux
: P5 normal (vote)
: ---
Assigned To: Lukas Oyen
:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2016-06-05 11:50 CEST by Florian Best
Modified: 2017-07-31 14:45 CEST (History)
3 users (show)

See Also:
What kind of report is it?: Bug Report
What type of bug is this?: 5: Major Usability: Impairs usability in key scenarios
Who will be affected by this bug?: 2: Will only affect a few installed domains
How will those affected feel about the bug?: 5: Blocking further progress on the daily work
User Pain: 0.286
Enterprise Customer affected?:
School Customer affected?:
ISV affected?:
Waiting Support:
Flags outvoted (downgraded) after PO Review:
Ticket number:
Bug group (optional): Error handling, External feedback
Max CVSS v3 score:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Florian Best univentionstaff 2016-06-05 11:50:48 CEST
tail: /var/log/univention/connector-s4-status.log: file truncated
Sun Jun  5 09:36:49 2016
--------------------------------------
Initialize sync from UCS
--------------------------------------
Sync 0 rejected changes from UCS
restored 0 rejected changes
--------------------------------------
--------------------------------------
try to sync 110 changes from UCS
done:tail: /var/log/univention/connector-s4-status.log: file truncated
Sun Jun  5 09:36:50 2016
 --- connect failed, failure was: ---
 
Traceback (most recent call last):
  File "/usr/lib/pymodules/python2.7/univention/s4connector/s4/main.py", line 280, in main
    connect()
  File "/usr/lib/pymodules/python2.7/univention/s4connector/s4/main.py", line 178, in connect
    s4.initialize_ucs()
  File "/usr/lib/pymodules/python2.7/univention/s4connector/__init__.py", line 902, in initialize_ucs
    self.poll_ucs()
  File "/usr/lib/pymodules/python2.7/univention/s4connector/__init__.py", line 984, in poll_ucs
    dn,new,old,old_dn=cPickle.load(f)
EOFError
 
 ---     retry in 30 seconds      ---
Comment 1 Arvid Requate univentionstaff 2016-06-06 11:43:53 CEST
/var/log/univention/connector-s4.log and the respective Python pickle file(s) would be helpful.
Comment 2 Florian Best univentionstaff 2016-06-06 11:47:14 CEST
EOFError means the pickle file is empty. I have no more information, this was reported in out IRC channel.
Comment 3 Florian Best univentionstaff 2016-06-06 11:48:48 CEST
A followup error after the following command was:
find /var/lib/univentio-connector/s4 -empty -delete -type f

05.06.2016 21:44:12,145 LDAP        (WARNING): Exception during search_s4_changes
05.06.2016 21:44:12,145 LDAP        (WARNING): Traceback (most recent call last):
  File "/usr/lib/pymodules/python2.7/univention/s4connector/s4/__init__.py", line 2099, in poll
    changes = self.__search_s4_changes(show_deleted=show_deleted)
  File "/usr/lib/pymodules/python2.7/univention/s4connector/s4/__init__.py", line 1090, in __search_s4_changes
    returnObjects = search_s4_changes_by_attribute( 'uSNCreated', lastUSN+1 )
  File "/usr/lib/pymodules/python2.7/univention/s4connector/s4/__init__.py", line 1081, in search_s4_changes_by_attribute
    return self.__search_s4( filter=usnFilter, show_deleted=show_deleted)
  File "/usr/lib/pymodules/python2.7/univention/s4connector/s4/__init__.py", line 1029, in __search_s4
    rtype, rdata, rmsgid, serverctrls = self.lo_s4.lo.result3(msgid)
  File "/usr/lib/python2.7/dist-packages/ldap/ldapobject.py", line 476, in result3
    resp_ctrl_classes=resp_ctrl_classes
  File "/usr/lib/python2.7/dist-packages/ldap/ldapobject.py", line 483, in result4
    ldap_result = self._ldap_call(self._l.result4,msgid,all,timeout,add_ctrls,add_intermediates,add_extop)
  File "/usr/lib/python2.7/dist-packages/ldap/ldapobject.py", line 106, in _ldap_call
    result = func(*args,**kwargs)
OPERATIONS_ERROR: {'info': '00002020: Indexed and full searches both failed!\n', 'desc': 'Operations error'}
Comment 4 Arvid Requate univentionstaff 2016-06-07 19:54:19 CEST
I assume we are talking about the same case, where a subsequent

samba-tool dbcheck

showed

ltdb: tdb(/var/lib/samba/private/sam.ldb.d/DC=FOO,DC=LOCAL.ldb): tdb_rec_read bad magic 0xd9fee666 at offset=4330728

The reported circumstances where "it was a powerloss which left a disrupted FS".
Comment 5 Lukas Oyen univentionstaff 2017-07-31 14:45:03 CEST

*** This bug has been marked as a duplicate of bug 34648 ***