process-upload oopses if snap was deleted after build completed

Bug #1655334 reported by Colin Watson on 2017-01-10
12
This bug affects 2 people
Affects Status Importance Assigned to Milestone
Launchpad itself
Critical
Colin Watson

Bug Description

OOPS-8ca2b2254372cdd43c239fea85f36938

  AttributeError: 'NoneType' object has no attribute 'status'

    Traceback (most recent call last):
  Module lp.services.scripts.base, line 103, in log_unhandled_exceptions_func
    return func(self, *args, **kw)
  Module lp.services.scripts.base, line 371, in lock_and_run
    self.run(use_web_security=use_web_security, isolation=isolation)
  Module lp.services.scripts.base, line 103, in log_unhandled_exceptions_func
    return func(self, *args, **kw)
  Module lp.services.scripts.base, line 325, in run
    self.main()
  Module lp.archiveuploader.scripts.processupload, line 95, in main
    processor.processUploadQueue(self.options.leafname)
  Module lp.archiveuploader.uploadprocessor, line 199, in processUploadQueue
    handler.process()
  Module lp.archiveuploader.uploadprocessor, line 648, in process
    if self.build.status == BuildStatus.BUILDING:
AttributeError: 'NoneType' object has no attribute 'status'

I suspect this happens when the snap (and hence its builds) were deleted between reaching the "Uploading build" status and process-upload running.

Related branches

Colin Watson (cjwatson) on 2017-01-10
Changed in launchpad:
importance: Undecided → Critical
status: New → Triaged
tags: added: lp-snappy oops soyuz-build
Colin Watson (cjwatson) on 2017-01-10
Changed in launchpad:
assignee: nobody → Colin Watson (cjwatson)
status: Triaged → In Progress
Launchpad QA Bot (lpqabot) wrote :
tags: added: qa-needstesting
Changed in launchpad:
status: In Progress → Fix Committed
Colin Watson (cjwatson) on 2017-01-16
tags: added: qa-ok
removed: qa-needstesting
Colin Watson (cjwatson) on 2017-01-24
Changed in launchpad:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers