Conan: [bug] Upload package to 'remote' failed: Expecting value: line 1 column 1 (char 0)

Created on 11 Feb 2020  路  15Comments  路  Source: conan-io/conan

Environment Details (include every applicable attribute)

  • Operating System+version: Linux (inside docker image)
  • Conan version: 1.22.1
  • Python version: 3.8

Steps to reproduce (Include if Applicable)

Happens at random during package compression step:

conan upload <myPackage> --skip-upload --all --confirm --parallel
Uploading to remote '<myRemote>':

Uploading NeuralNetwork/14.1.1@microblink/stable to remote '<myRemote>'                  
Compressing recipe...
Uploading package 1/8: 34cf41d8536732c39e77abede8a2f8f82360863e to '<myRemote>'          
Uploading package 2/8: 5b0d4db60f149a45902c2c09867ed9921f9c00f6 to '<myRemote>'          
Uploading package 3/8: 10e03617df46d6a92dd8e46f9a9b1abe05258aa9 to '<myRemote>'          
Uploading package 4/8: 68848f6b4e38f59d152c5eda2d34a0a2af670df4 to '<myRemote>'          
Uploading package 5/8: e74de748c5b8acdb8431ab8f6e3d50c4ffed4a3f to '<myRemote>'          
Uploading package 7/8: eb8b555c8f3187ca65fc23829fec49b5dca9c5d9 to '<myRemote>'          
Uploading package 8/8: 3e1cacf354c1822e4ec7ea975bc5c142f3f2460d to '<myRemote>'          
Uploading package 6/8: 7ae9b8d69f35a00e06249b099db206560310ce6d to '<myRemote>'          
Compressing package...
Compressing package...
Compressing package...
Compressing package...
Compressing package...
Compressing package...
Compressing package...
Compressing package...
ERROR: <myPackage>:eb8b555c8f3187ca65fc23829fec49b5dca9c5d9: Upload package to '<myRemote>' failed: Expecting value: line 1 column 1 (char 0)

ERROR: Errors uploading some packages
Conan build failed

With conan v1.22.0 this didn't happen, but caused dirty packages that then failed to upload, as described in issue #6330.

I'd guess this could be related to the issue that sometimes occur on my CI during package upload, which also contains stack trace:

[b] $ cmd.exe /C "conan upload "*" --confirm --all --no-overwrite --parallel && exit %%ERRORLEVEL%%"
ERROR: Extra data: line 1 column 4508 (char 4507)
Traceback (most recent call last):
  File "e:\j\e1\b\venv\lib\site-packages\conans\client\command.py", line 1969, in run
    method(args[0][1:])
  File "e:\j\e1\b\venv\lib\site-packages\conans\client\command.py", line 1410, in upload
    parallel_upload=args.parallel)
  File "e:\j\e1\b\venv\lib\site-packages\conans\client\conan_api.py", line 81, in wrapper
    return f(api, *args, **kwargs)
  File "e:\j\e1\b\venv\lib\site-packages\conans\client\conan_api.py", line 887, in upload
    parallel_upload=parallel_upload)
  File "e:\j\e1\b\venv\lib\site-packages\conans\client\cmd\uploader.py", line 87, in upload
    query, package_id)
  File "e:\j\e1\b\venv\lib\site-packages\conans\client\cmd\uploader.py", line 145, in _collect_packages_to_upload
    metadata = self._cache.package_layout(ref).load_metadata()
  File "e:\j\e1\b\venv\lib\site-packages\conans\paths\package_layouts\package_cache_layout.py", line 171, in load_metadata
    return PackageMetadata.loads(text)
  File "e:\j\e1\b\venv\lib\site-packages\conans\model\package_metadata.py", line 95, in loads
    data = json.loads(content)
  File "C:\Program Files\Python37\Lib\json\__init__.py", line 348, in loads
    return _default_decoder.decode(s)
  File "C:\Program Files\Python37\Lib\json\decoder.py", line 340, in decode
    raise JSONDecodeError("Extra data", s, end)
json.decoder.JSONDecodeError: Extra data: line 1 column 4508 (char 4507)

Conan build failed

But it's also possible that those are different issues. (I see some similarities with #3985 and #6482).

low high in-progress bug

Most helpful comment

@czoido , I've got 3 consecutive builds of my library on my CI with your fix that were successful. For comparison, 4 consecutive with stable 1.22.1 failed at some step (either compressing or uploading).

So, from my point of view, even though I cannot be absolutely certain that your fix is always correct (due to the concurrent nature of the bug), I am absolutely certain that it works much much better than v1.22.1.

So, please, ship it ASAP :)

All 15 comments

As far as I see from PR #6486, the errors during parallel compression are now correctly reported, instead of being silently ignored (in 1.22.1 vs 1.22.0).

However, the real question is why does the package compression fail?

Hi @DoDoENT,
Could you run it again with CONAN_VERBOSE_TRACEBACK True so we can get more information?
Thanks a lot

I'll add that environment variable to my CI (because it's there where it always happens.) and report back when I have more info.

Thanks for the hint.

Well, after a new build, the compression succeeded, but upload failed on some nodes with following traces:

Windows node:

[b] $ sh -c "conan upload \* --confirm --all --no-overwrite --parallel "
MicroblinkConanFile/3.0.3@microblink/stable: Not found in local cache, looking in remotes...
MicroblinkConanFile/3.0.3@microblink/stable: Trying with 'microblink'...
Downloading conanmanifest.txt
Downloading conanfile.py
MicroblinkConanFile/3.0.3@microblink/stable: Downloaded recipe revision 0
Uploading to remote 'microblink':

Uploading NeuralNetwork/14.1.1@microblink/stable to remote 'microblink'                  

Uploading NeuralNetworkModelBuilder/14.1.1@microblink/stable to remote 'microblink'      

Uploading NeuralNetworkModelBuilderTool/14.1.1@microblink/stable to remote 'microblink'  
Recipe is up to date, upload skipped

Uploading package 1/8: 63601ce24d628950bfbbc8db423d193f634d139e to 'microblink'          

Uploading package 2/8: d94fe69507c7771904f18e32086f3f02774eaf6c to 'microblink'          

Uploading package 4/8: 7234651c5acaaf9a2273ba9dc3ecf802ff374dad to 'microblink'          

Uploading package 3/8: 602483fe524704ff00266fd8307c1044421ce042 to 'microblink'          

Uploading package 6/8: 431450d4727ccd2da96923a77a7d60815461e781 to 'microblink'          

Uploading package 5/8: d7c8267bf0890cbbe4e21107a6f5fafd09eff1db to 'microblink'          
Recipe is up to date, upload skipped
Recipe is up to date, upload skipped

Uploading package 7/8: a4c47a8c37e5dcfac323b33e20ce6db1da36e366 to 'microblink'          

Uploading package 8/8: c3ba3d4d2bd2adef14a2ab0a037848969463f9cc to 'microblink'          

Uploading package 1/2: 43cd157ffc43f39b2208b6fc2d3f5e0c39b6f6cc to 'microblink'          
Uploading conan_package.tgz -> NeuralNetwork/14.1.1@microblink/stable:d7c8
Uploading conan_package.tgz -> NeuralNetwork/14.1.1@microblink/stable:6024
Uploading conan_package.tgz -> NeuralNetwork/14.1.1@microblink/stable:d94f
Uploading conan_package.tgz -> NeuralNetwork/14.1.1@microblink/stable:6360
Uploading conan_package.tgz -> NeuralNetworkModelBuilderTool/14.1.1@microblink/stable:43cd
Uploading conan_package.tgz -> NeuralNetwork/14.1.1@microblink/stable:4314
Uploading conan_package.tgz -> NeuralNetwork/14.1.1@microblink/stable:7234
Uploading conan_package.tgz -> NeuralNetwork/14.1.1@microblink/stable:a4c4
Uploading conaninfo.txt -> NeuralNetwork/14.1.1@microblink/stable:d7c8
Uploading conaninfo.txt -> NeuralNetwork/14.1.1@microblink/stable:6024
Uploading conanmanifest.txt -> NeuralNetwork/14.1.1@microblink/stable:d7c8
Uploading conanmanifest.txt -> NeuralNetwork/14.1.1@microblink/stable:6024

Uploading package 2/2: e1b241227051082a20bafb4e62b52ef42b89b239 to 'microblink'          

Uploading package 1/2: 3475bd55b91ae904ac96fde0f106a136ab951a5e to 'microblink'          
Uploading conaninfo.txt -> NeuralNetworkModelBuilderTool/14.1.1@microblink/stable:43cd
Uploading conan_package.tgz -> NeuralNetworkModelBuilder/14.1.1@microblink/stable:3475
Uploading conan_package.tgz -> NeuralNetworkModelBuilderTool/14.1.1@microblink/stable:e1b2
Uploading conaninfo.txt -> NeuralNetwork/14.1.1@microblink/stable:a4c4
Uploading conanmanifest.txt -> NeuralNetworkModelBuilderTool/14.1.1@microblink/stable:43cd
Uploading conaninfo.txt -> NeuralNetwork/14.1.1@microblink/stable:4314
Uploading conanmanifest.txt -> NeuralNetwork/14.1.1@microblink/stable:a4c4
Uploading conanmanifest.txt -> NeuralNetwork/14.1.1@microblink/stable:4314
Uploading conaninfo.txt -> NeuralNetwork/14.1.1@microblink/stable:d94f
Uploading conaninfo.txt -> NeuralNetwork/14.1.1@microblink/stable:6360

Uploading package 2/2: bfd9c72db70210e999ae2433770f7c505065ffed to 'microblink'          
Uploading conaninfo.txt -> NeuralNetworkModelBuilder/14.1.1@microblink/stable:3475
Uploading conaninfo.txt -> NeuralNetworkModelBuilderTool/14.1.1@microblink/stable:e1b2
Uploading conaninfo.txt -> NeuralNetwork/14.1.1@microblink/stable:7234
Uploading conan_package.tgz -> NeuralNetworkModelBuilder/14.1.1@microblink/stable:bfd9
Uploading conaninfo.txt -> NeuralNetworkModelBuilder/14.1.1@microblink/stable:bfd9
Uploading conanmanifest.txt -> NeuralNetwork/14.1.1@microblink/stable:d94f
Uploading conanmanifest.txt -> NeuralNetworkModelBuilder/14.1.1@microblink/stable:3475
Uploading conanmanifest.txt -> NeuralNetwork/14.1.1@microblink/stable:6360
Uploading conanmanifest.txt -> NeuralNetwork/14.1.1@microblink/stable:7234
Uploading conanmanifest.txt -> NeuralNetworkModelBuilderTool/14.1.1@microblink/stable:e1b2
Uploading conanmanifest.txt -> NeuralNetworkModelBuilder/14.1.1@microblink/stable:bfd9
ERROR: NeuralNetwork/14.1.1@microblink/stable:c3ba3d4d2bd2adef14a2ab0a037848969463f9cc: Upload package to 'microblink' failed: Expecting value: line 1 column 1 (char 0)
Traceback (most recent call last):
  File "/opt/fast/jenkins/android-arm64-145b8a233d5d/E0/b/venv/lib/python3.8/site-packages/conans/client/cmd/uploader.py", line 248, in upload_package_index
    self._upload_package(pref, retry, retry_wait, integrity_check, policy, p_remote)
  File "/opt/fast/jenkins/android-arm64-145b8a233d5d/E0/b/venv/lib/python3.8/site-packages/conans/client/cmd/uploader.py", line 346, in _upload_package
    with self._cache.package_layout(pref.ref).update_metadata() as metadata:
  File "/usr/lib64/python3.8/contextlib.py", line 113, in __enter__
    return next(self.gen)
  File "/opt/fast/jenkins/android-arm64-145b8a233d5d/E0/b/venv/lib/python3.8/site-packages/conans/paths/package_layouts/package_cache_layout.py", line 178, in update_metadata
    metadata = self.load_metadata()
  File "/opt/fast/jenkins/android-arm64-145b8a233d5d/E0/b/venv/lib/python3.8/site-packages/conans/paths/package_layouts/package_cache_layout.py", line 171, in load_metadata
    return PackageMetadata.loads(text)
  File "/opt/fast/jenkins/android-arm64-145b8a233d5d/E0/b/venv/lib/python3.8/site-packages/conans/model/package_metadata.py", line 95, in loads
    data = json.loads(content)
  File "/usr/lib64/python3.8/json/__init__.py", line 357, in loads
    return _default_decoder.decode(s)
  File "/usr/lib64/python3.8/json/decoder.py", line 337, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
  File "/usr/lib64/python3.8/json/decoder.py", line 355, in raw_decode
    raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)

ERROR: Errors uploading some packages
Conan build failed

Linux node:

[b] $ sh -c "conan upload \* --confirm --all --no-overwrite --parallel "
MicroblinkConanFile/3.0.3@microblink/stable: Not found in local cache, looking in remotes...
MicroblinkConanFile/3.0.3@microblink/stable: Trying with 'microblink'...
Downloading conanmanifest.txt
Downloading conanfile.py
MicroblinkConanFile/3.0.3@microblink/stable: Downloaded recipe revision 0
Uploading to remote 'microblink':

Uploading NeuralNetwork/14.1.1@microblink/stable to remote 'microblink'                  
Recipe is up to date, upload skipped

Uploading package 1/8: ef4a4ce2f3a53511c82d3e61377ccc2d821ee5a1 to 'microblink'          

Uploading package 2/8: a7e96065163e259a7bc3d8997a1ca54a4ebc781b to 'microblink'          

Uploading package 3/8: b6a390a40af18036f1b4478e18012de8080e9a0c to 'microblink'          

Uploading package 4/8: 615d5e39ffdc69b344efe50edd9df085cc07be75 to 'microblink'          

Uploading package 6/8: 1781e762666849ad896e0e3c1af66a87ff0b4fe5 to 'microblink'          

Uploading package 7/8: a1ec0c112bca2d8b9d762b3de7334cabd2a53e9f to 'microblink'          

Uploading package 8/8: 2f023cbc75120efe3fe1f2e4e1c6f7b5c9ecffce to 'microblink'          

Uploading package 5/8: 6f30af39cdd5ac35e5c758e51b01dd5591f9f03d to 'microblink'          
Uploading conan_package.tgz -> NeuralNetwork/14.1.1@microblink/stable:1781
Uploading conan_package.tgz -> NeuralNetwork/14.1.1@microblink/stable:2f02
Uploading conan_package.tgz -> NeuralNetwork/14.1.1@microblink/stable:a1ec
Uploading conan_package.tgz -> NeuralNetwork/14.1.1@microblink/stable:b6a3
Uploading conan_package.tgz -> NeuralNetwork/14.1.1@microblink/stable:a7e9
Uploading conan_package.tgz -> NeuralNetwork/14.1.1@microblink/stable:6f30
Uploading conan_package.tgz -> NeuralNetwork/14.1.1@microblink/stable:ef4a
Uploading conan_package.tgz -> NeuralNetwork/14.1.1@microblink/stable:615d
Uploading conaninfo.txt -> NeuralNetwork/14.1.1@microblink/stable:a7e9
Uploading conaninfo.txt -> NeuralNetwork/14.1.1@microblink/stable:2f02
Uploading conaninfo.txt -> NeuralNetwork/14.1.1@microblink/stable:b6a3
Uploading conaninfo.txt -> NeuralNetwork/14.1.1@microblink/stable:615d
Uploading conaninfo.txt -> NeuralNetwork/14.1.1@microblink/stable:a1ec
Uploading conaninfo.txt -> NeuralNetwork/14.1.1@microblink/stable:1781
Uploading conaninfo.txt -> NeuralNetwork/14.1.1@microblink/stable:6f30
Uploading conaninfo.txt -> NeuralNetwork/14.1.1@microblink/stable:ef4a
Uploading conanmanifest.txt -> NeuralNetwork/14.1.1@microblink/stable:a7e9
Uploading conanmanifest.txt -> NeuralNetwork/14.1.1@microblink/stable:2f02
Uploading conanmanifest.txt -> NeuralNetwork/14.1.1@microblink/stable:b6a3
Uploading conanmanifest.txt -> NeuralNetwork/14.1.1@microblink/stable:1781
Uploading conanmanifest.txt -> NeuralNetwork/14.1.1@microblink/stable:a1ec
Uploading conanmanifest.txt -> NeuralNetwork/14.1.1@microblink/stable:6f30
Uploading conanmanifest.txt -> NeuralNetwork/14.1.1@microblink/stable:615d
Uploading conanmanifest.txt -> NeuralNetwork/14.1.1@microblink/stable:ef4a
ERROR: NeuralNetwork/14.1.1@microblink/stable:ef4a4ce2f3a53511c82d3e61377ccc2d821ee5a1: Upload package to 'microblink' failed: Expecting value: line 1 column 1 (char 0)
Traceback (most recent call last):
  File "/opt/fast/jenkins/android-arm64-8bdbb846/E0/b/venv/lib/python3.8/site-packages/conans/client/cmd/uploader.py", line 248, in upload_package_index
    self._upload_package(pref, retry, retry_wait, integrity_check, policy, p_remote)
  File "/opt/fast/jenkins/android-arm64-8bdbb846/E0/b/venv/lib/python3.8/site-packages/conans/client/cmd/uploader.py", line 367, in _upload_package
    metadata = self._cache.package_layout(pref.ref).load_metadata()
  File "/opt/fast/jenkins/android-arm64-8bdbb846/E0/b/venv/lib/python3.8/site-packages/conans/paths/package_layouts/package_cache_layout.py", line 171, in load_metadata
    return PackageMetadata.loads(text)
  File "/opt/fast/jenkins/android-arm64-8bdbb846/E0/b/venv/lib/python3.8/site-packages/conans/model/package_metadata.py", line 95, in loads
    data = json.loads(content)
  File "/usr/lib64/python3.8/json/__init__.py", line 357, in loads
    return _default_decoder.decode(s)
  File "/usr/lib64/python3.8/json/decoder.py", line 337, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
  File "/usr/lib64/python3.8/json/decoder.py", line 355, in raw_decode
    raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)

ERROR: NeuralNetwork/14.1.1@microblink/stable:615d5e39ffdc69b344efe50edd9df085cc07be75: Upload package to 'microblink' failed: Expecting value: line 1 column 1 (char 0)
Traceback (most recent call last):
  File "/opt/fast/jenkins/android-arm64-8bdbb846/E0/b/venv/lib/python3.8/site-packages/conans/client/cmd/uploader.py", line 248, in upload_package_index
    self._upload_package(pref, retry, retry_wait, integrity_check, policy, p_remote)
  File "/opt/fast/jenkins/android-arm64-8bdbb846/E0/b/venv/lib/python3.8/site-packages/conans/client/cmd/uploader.py", line 367, in _upload_package
    metadata = self._cache.package_layout(pref.ref).load_metadata()
  File "/opt/fast/jenkins/android-arm64-8bdbb846/E0/b/venv/lib/python3.8/site-packages/conans/paths/package_layouts/package_cache_layout.py", line 171, in load_metadata
    return PackageMetadata.loads(text)
  File "/opt/fast/jenkins/android-arm64-8bdbb846/E0/b/venv/lib/python3.8/site-packages/conans/model/package_metadata.py", line 95, in loads
    data = json.loads(content)
  File "/usr/lib64/python3.8/json/__init__.py", line 357, in loads
    return _default_decoder.decode(s)
  File "/usr/lib64/python3.8/json/decoder.py", line 337, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
  File "/usr/lib64/python3.8/json/decoder.py", line 355, in raw_decode
    raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)

ERROR: NeuralNetwork/14.1.1@microblink/stable:6f30af39cdd5ac35e5c758e51b01dd5591f9f03d: Upload package to 'microblink' failed: Expecting value: line 1 column 1 (char 0)
Traceback (most recent call last):
  File "/opt/fast/jenkins/android-arm64-8bdbb846/E0/b/venv/lib/python3.8/site-packages/conans/client/cmd/uploader.py", line 248, in upload_package_index
    self._upload_package(pref, retry, retry_wait, integrity_check, policy, p_remote)
  File "/opt/fast/jenkins/android-arm64-8bdbb846/E0/b/venv/lib/python3.8/site-packages/conans/client/cmd/uploader.py", line 367, in _upload_package
    metadata = self._cache.package_layout(pref.ref).load_metadata()
  File "/opt/fast/jenkins/android-arm64-8bdbb846/E0/b/venv/lib/python3.8/site-packages/conans/paths/package_layouts/package_cache_layout.py", line 171, in load_metadata
    return PackageMetadata.loads(text)
  File "/opt/fast/jenkins/android-arm64-8bdbb846/E0/b/venv/lib/python3.8/site-packages/conans/model/package_metadata.py", line 95, in loads
    data = json.loads(content)
  File "/usr/lib64/python3.8/json/__init__.py", line 357, in loads
    return _default_decoder.decode(s)
  File "/usr/lib64/python3.8/json/decoder.py", line 337, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
  File "/usr/lib64/python3.8/json/decoder.py", line 355, in raw_decode
    raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)

ERROR: Errors uploading some packages
Conan build failed

But at least some nodes managed to upload the package this time, so I have a recipe on Artifactory, which is now available for my downstream users (however, they will need to build Linux and windows binaries by dependency).

Interestingly, the crash happens even if there is nothing to upload:

[b] $ sh -c "conan upload \* --confirm --all --no-overwrite --parallel "
MicroblinkConanFile/3.0.3@microblink/stable: Not found in local cache, looking in remotes...
MicroblinkConanFile/3.0.3@microblink/stable: Trying with 'microblink'...
Downloading conanmanifest.txt
Downloading conanfile.py
MicroblinkConanFile/3.0.3@microblink/stable: Downloaded recipe revision 0
Uploading to remote 'microblink':

Uploading NeuralNetwork/14.1.1@microblink/stable to remote 'microblink'                  
Recipe is up to date, upload skipped

Uploading package 1/8: 10e03617df46d6a92dd8e46f9a9b1abe05258aa9 to 'microblink'          

Uploading package 2/8: 34cf41d8536732c39e77abede8a2f8f82360863e to 'microblink'          

Uploading package 3/8: 3e1cacf354c1822e4ec7ea975bc5c142f3f2460d to 'microblink'          

Uploading package 5/8: 68848f6b4e38f59d152c5eda2d34a0a2af670df4 to 'microblink'          

Uploading package 6/8: 7ae9b8d69f35a00e06249b099db206560310ce6d to 'microblink'          

Uploading package 4/8: 5b0d4db60f149a45902c2c09867ed9921f9c00f6 to 'microblink'          

Uploading package 7/8: e74de748c5b8acdb8431ab8f6e3d50c4ffed4a3f to 'microblink'          

Uploading package 8/8: eb8b555c8f3187ca65fc23829fec49b5dca9c5d9 to 'microblink'          
ERROR: NeuralNetwork/14.1.1@microblink/stable:7ae9b8d69f35a00e06249b099db206560310ce6d: Upload package to 'microblink' failed: Expecting value: line 1 column 1 (char 0)
Traceback (most recent call last):
  File "/opt/jenkins/android-arm7-SH43PWM06491/root/E0/b/venv/lib/python3.7/site-packages/conans/client/cmd/uploader.py", line 248, in upload_package_index
    self._upload_package(pref, retry, retry_wait, integrity_check, policy, p_remote)
  File "/opt/jenkins/android-arm7-SH43PWM06491/root/E0/b/venv/lib/python3.7/site-packages/conans/client/cmd/uploader.py", line 367, in _upload_package
    metadata = self._cache.package_layout(pref.ref).load_metadata()
  File "/opt/jenkins/android-arm7-SH43PWM06491/root/E0/b/venv/lib/python3.7/site-packages/conans/paths/package_layouts/package_cache_layout.py", line 171, in load_metadata
    return PackageMetadata.loads(text)
  File "/opt/jenkins/android-arm7-SH43PWM06491/root/E0/b/venv/lib/python3.7/site-packages/conans/model/package_metadata.py", line 95, in loads
    data = json.loads(content)
  File "/usr/lib/python3.7/json/__init__.py", line 348, in loads
    return _default_decoder.decode(s)
  File "/usr/lib/python3.7/json/decoder.py", line 337, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
  File "/usr/lib/python3.7/json/decoder.py", line 355, in raw_decode
    raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)

ERROR: Errors uploading some packages
Package is up to date, upload skipped
Package is up to date, upload skipped
Package is up to date, upload skipped
Package is up to date, upload skipped
Package is up to date, upload skipped
Package is up to date, upload skipped
Package is up to date, upload skipped
Package is up to date, upload skipped
Conan build failed

We are investigating this, thanks very much for the traces, they are very useful.

It seems an annoying concurrency issue, you can workaround it while we fix it if you don't use the --parallel flag

Look at this funny picture:
image

Basically, the first step builds the packages, compressed them and stashes them (I've described this flow already and still hadn't find time to implement suggestion by @memsharded) and following steps just unstash the compressed tar.gz files and upload them.

The funny thing is that you can see that the packages that failed to upload in the first try succeeded in second, but then packages that were already uploaded failed with the above exception (I am repeating because my flow will not create a git tag until all circles are green, even though everything is built and uploaded).

Note that I've had the same issue also prior introducing the --parallel flag, although much more rarely. So I would be that it's not a concurrency issue - it just occurs more frequently with --parallel.

Hi @DoDoENT,
Seems like there could be some concurrency issues accessing the metadata.
We have created a fix for this, could you give it a try? You could do:

pip install git+git://github.com/memsharded/conan.git@hotfix/concurrent_upload

Thanks a lot!

@czoido , thank you for the fix. I'll try it tomorrow or later this week (I am currently in the middle of my own release so I don't want to currently put non-default conan version on my CI).

Great! Thanks a lot for your help @DoDoENT

@czoido , I've got 3 consecutive builds of my library on my CI with your fix that were successful. For comparison, 4 consecutive with stable 1.22.1 failed at some step (either compressing or uploading).

So, from my point of view, even though I cannot be absolutely certain that your fix is always correct (due to the concurrent nature of the bug), I am absolutely certain that it works much much better than v1.22.1.

So, please, ship it ASAP :)

Thank you so much for your help with the issue @DoDoENT !

I've closed this, as we didn't have (yet) any problems with v1.22.2. I'll re-open it (or create a new issue) if this resurfaces.

Was this page helpful?
0 / 5 - 0 ratings