New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 721506 link

Starred by 0 users

Issue metadata

Status: Available
Owner: ----
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Bug

Blocking:
issue 721861



Sign in to add a comment

devserver returns 500 server error when an artifact isn't found

Project Member Reported by ayatane@chromium.org, May 11 2017

Issue description

When the devserver is unable to download an artifact (usually because it is missing), it throws an exception and returns 500 with a confusing traceback.

All 500 errors are bugs, and this one comes up often enough that it's worth fixing.

Example:

https://pantheon.corp.google.com/storage/browser/chromeos-autotest-results/116951277-bhthompson/hostless/
 
     500 Internal Server Error
      
      #powered_by {
          margin-top: 20px;
          border-top: 2px solid black;
          font-style: italic;
      }
  
      #traceback {
          color: red;
      }
      
  
      
          500 Internal Server Error
          The server encountered an unexpected condition which prevented it from fulfilling the request.
          Traceback (most recent call last):
    File "/usr/lib/python2.7/dist-packages/cherrypy/_cprequest.py", line 656, in respond
      response.body = self.handler()
    File "/usr/lib/python2.7/dist-packages/cherrypy/lib/encoding.py", line 188, in __call__
      self.body = self.oldhandler(*args, **kwargs)
    File "/usr/lib/python2.7/dist-packages/cherrypy/_cpdispatch.py", line 34, in __call__
      return self.callable(*self.args, **self.kwargs)
    File "/home/chromeos-test/chromiumos/src/platform/dev/devserver.py", line 788, in is_staged
      response = str(dl.IsStaged(factory))
    File "/home/chromeos-test/chromiumos/src/platform/dev/downloader.py", line 216, in IsStaged
      raise DownloaderException(exceptions)
  DownloaderException: Could not find au_control.tar.bz2 in Google Storage at gs://chromeos-image-archive/daisy-release/R58-9334.69.0
  Traceback (most recent call last):
    File "/home/chromeos-test/chromiumos/src/platform/dev/build_artifact.py", line 337, in Process
      self.name, self.is_regex_name, timeout)
    File "/home/chromeos-test/chromiumos/src/platform/dev/downloader.py", line 333, in Wait
      (name, self._archive_url))
  ArtifactDownloadError: Could not find au_control.tar.bz2 in Google Storage at gs://chromeos-image-archive/daisy-release/R58-9334.69.0
  
  
      
      Powered by CherryPy 3.2.2
      
      
  

Comment 2 by xixuan@chromium.org, May 11 2017

sorry I don't quite get it, what's the problem of this traceback?
The devserver code should catch the exception and return a clear error message instead of dying and spewing a bunch of confusing output.
Blocking: 721861
Owner: dgarr...@chromium.org
Status: Assigned (was: Untriaged)
+don will be making devserver changes soon
Owner: ayatane@chromium.org
Allen, didn't you fix this recently?
Labels: -Pri-2 Pri-3
Owner: dgarr...@chromium.org
Nope.

Basically, I think we should return a clearer error, because all this is saying is that the caller passed in an invalid artifact path.
Owner: ----
I'm not going to get to this anytime soon. Is anyone else interested?
Hi, this bug has not been updated recently. Please acknowledge the bug and provide status within two weeks (6/22/2018), or the bug will be closed. Thank you.
Cc: gu...@chromium.org
Low priority, but still present for now
Status: Available (was: Assigned)

Sign in to add a comment