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.