Comment 1 for bug 1627865

Revision history for this message
Sergio Schvezov (sergiusens) wrote : Re: [Bug 1627865] [NEW] Snapcraft errors when releasing a snap

El 26/09/16 a las 18:53, Thomi Richards escribió:
> Public bug reported:
>
> I've been releasing lots of snaps to the staging store by running:
>
> snapcraft push <snap> --release <channel>
>
> ... and they've all gone fine, but one upload I got this:
>
>
> ```
> Uploading ./thomir-says_0.0.1a_amd64.snap [===========================================================================================================================================] 100%
> Exception in thread Thread-1:
> Traceback (most recent call last):
> File "/usr/lib/python3.5/threading.py", line 914, in _bootstrap_inner
> self.run()
> File "/usr/lib/python3.5/threading.py", line 862, in run
> self._target(*self._args, **self._kwargs)
> File "/usr/lib/python3/dist-packages/snapcraft/storeapi/__init__.py", line 442, in _update_status
> for content in self._get_status():
> File "/usr/lib/python3/dist-packages/snapcraft/storeapi/__init__.py", line 452, in _get_status
> content = requests.get(self.__status_details_url).json()
> File "/usr/lib/python3/dist-packages/requests/models.py", line 808, in json
> return complexjson.loads(self.text, **kwargs)
> File "/usr/lib/python3/dist-packages/simplejson/__init__.py", line 516, in loads
> return _default_decoder.decode(s)
> File "/usr/lib/python3/dist-packages/simplejson/decoder.py", line 370, in decode
> obj, end = self.raw_decode(s)
> File "/usr/lib/python3/dist-packages/simplejson/decoder.py", line 400, in raw_decode
> return self.scan_once(s, idx=_w(s, idx).end())
> simplejson.scanner.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
> ```
>
>
> This is when snapcraft is in the 'processing' phase, which I believe is when it's actually relasing the snap, rather than pushing it.
>
> Snapcraft is then stuck in the 'Processing...' stage, and never exits.
>
> The store should never send bad data (I'll try and find something in the
> staging store logs and report a bug there as well), but snapcraft should
> handle it better.

Did it actually finish processing on the store side? With the data
returned from the store (which is a state) all snapcraft can do is
timeout but that doesn't feel like a good idea if the store just happens
to be slow to process the snap.