Skip to content

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))
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information