Localization failing for all PyCBC events due to bug in BAYESTAR data handling causing duplicate lsctables
In commit 9abddc4b, I modified the BAYESTAR data handling to combine the coinc.xml
and psd.xml.gz
documents into a single document. PyCBC includes the PSD data in the initial upload, and the psd.xml.gz is just a copy. As a result, the combined document has two copies of every lsctable, which breaks parsing.
Sentry Issue: GWCELERY-YF
ValueError: document must contain exactly one coinc_event table
File "gwcelery/tasks/bayestar.py", line 69, in localize
event_source = events.ligolw.open(doc, psd_file=doc, coinc_def=None)
File "/home/emfollow/.local/lib/python3.7/site-packages/ligo/skymap/io/events/ligolw.py", line 83, in __init__
super().__init__(self._make_events(doc, psd_file, coinc_def))
File "/home/emfollow/.local/lib/python3.7/site-packages/ligo/skymap/io/events/ligolw.py", line 112, in _make_events
coinc_table = CoincTable.get_table(doc)
File "glue/ligolw/table.py", line 605, in get_table
return get_table(xmldoc, cls.tableName)
File "glue/ligolw/table.py", line 104, in get_table
raise ValueError("document must contain exactly one %s table" % Table.TableName(name))