Closed Bug 1704523 Opened 3 years ago Closed 3 years ago

[traceback]: LookupError: object not found (eliot)

Categories

(Eliot :: General, defect, P2)

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: willkg, Assigned: willkg)

References

Details

Sentry: https://sentry.prod.mozaws.net/operations/symbols-stage/issues/11051566/

Error looking up debug id in SYM file: msvp9dec.pdb F4D27E951B0A4CCBE5E76A31A56A349F1

LookupError: Object not found
  File "eliot/symbolicate_resource.py", line 278, in parse_sym_file
    obj = archive.get_object(debug_id=ndebug_id)
  File "symbolic/debuginfo.py", line 59, in get_object
    raise LookupError("Object not found")

That sym file is here:

https://symbols.mozilla.org/try/msvp9dec.pdb/F4D27E951B0A4CCBE5E76A31A56A349F1/msvp9dec.sym

We should look into whether that sym file is well-formed. If it is, then I'm not sure what the issue is offhand.

I think it got uploaded wrong. I downloaded it and it has this MODULE header:

MODULE windows x86 E574D594DE3905D7EEA93AD1D955D1331 msvp9dec.pdb

The debug ids don't match.

It's from this upload a year ago:

https://symbols.mozilla.org/uploads/files/file/9156690

Gabriele, Marco: Any idea what might have happened here? Is mismatched debug ids something that should be happening? If so, how should this work with symbolication?

Flags: needinfo?(mcastelluccio)
Flags: needinfo?(gsvelto)

That shouldn't happen. Also that file is quite odd. It's a DLL from Microsoft but it appears to have been uploaded with the symbols of one of our builds. A guess could be that someone was experimenting with some stuff and it was put accidentally in that folder. That being said it would be nice to reject uploads where the dir name and the .sym header don't match.

Flags: needinfo?(gsvelto)

I like that idea--rejecting things. I need to rewrite symbols processing--it's such a mess now. I'll write up a bug for validating symbols uploads with "does the debug id in the header match the debug id in the path?" as a point.

In the meantime, I'll fix symbolication so that if hits a LookupError like this, it logs something so we can do something about them and moves on.

Flags: needinfo?(mcastelluccio)

I wrote up bug #1704800 to cover validating symbols files during upload.

Turns out I implemented this correctly already. It does a LOGGER.exception call which causes it to send an event to Sentry and emits a metric. I then continues with symbolication.

I added a graph to track SYM parse errors. Marking this as FIXED.

Status: ASSIGNED → RESOLVED
Closed: 3 years ago
Resolution: --- → FIXED

Moving to Eliot product.

Component: Symbolication → General
Product: Tecken → Eliot
You need to log in before you can comment on or make changes to this bug.