ceph crash storage class does not handle missing dump

RESOLVED WONTFIX

Status

RESOLVED WONTFIX
4 years ago
3 years ago

People

(Reporter: rhelmer, Unassigned)

Tracking

Firefox Tracking Flags

(Not tracked)

Details

(Reporter)

Description

4 years ago
I am lazy and frequently test crash collection/processing/storage by submitting a crash with no dumps:

curl -X POST -H 'Host: crash-reports' -d 'ProductName=WaterWolf' -d 'Version=1.0' $URL

It appears that there are several places in the Ceph storage class that can't handle this, starting with:

Traceback (most recent call last):
File "/data/socorro/application/socorro/lib/threaded_task_manager.py", line 33
6, in run
function(*args, **kwargs) # execute the task
File "/data/socorro/application/socorro/processor/processor_app.py", line 166, in transform
crash_id
File "/data/socorro/application/socorro/external/crashstorage_base.py", line 465, in save_raw_and_processed
crash_id
File "/data/socorro/application/socorro/external/crashstorage_base.py", line 170, in save_raw_and_processed
self.save_raw_crash(raw_crash, dumps, crash_id)
File "/data/socorro/application/socorro/external/ceph/crashstorage.py", line 119, in save_raw_crash
self.transaction(self.do_save_raw_crash, raw_crash, dumps, crash_id)
File "/data/socorro/application/socorro/database/transaction_executor.py", line 104, in __call__
result = function(connection, *args, **kwargs)
File "/data/socorro/application/socorro/external/ceph/crashstorage.py", line 105, in do_save_raw_crash
dumps.keys()
AttributeError: 'NoneType' object has no attribute 'keys'
more disturbing is how dumps would have gotten to be "None" at all.  The BreakpadCollector should have it as an empty list rather than None.  Investigation begins.
Socorro is no longer using ceph, so I'm closing this out.
Status: NEW → RESOLVED
Last Resolved: 3 years ago
Resolution: --- → WONTFIX
You need to log in before you can comment on or make changes to this bug.