Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

google cloud storage support #3021

Closed
wants to merge 2 commits into from
Closed

google cloud storage support #3021

wants to merge 2 commits into from

Conversation

andir
Copy link
Member

@andir andir commented Aug 1, 2019

I started adding support for Google Cloud Storage (GCS) to Nix.

This is very similar to the AWS S3 support. Unlike AWS there is no default path for the credentials. The environment variable GOOGLE_APPLICATION_CREDENTIALS must point to a standard Google credentials JSON file. The store URI must have the format gs://bucketName.

I have not thoroughly tested everything just yet. It seems to work fine so far. I uploaded a bunch of larger system closures (11-20GB) and some pandoc closures without problems.
Initially I did run into timeout issues but eventually switched to uploading larger files in chunks (37297df ).

This work depends on yet to be merged nixpkgs changes that introduce the required dependencies. (https://github.com/andir/nixpkgs/tree/google-cloud-cpp).

I will continue work on this during the coming days and welcome early feedback.


This change is Reviewable

@edolstra
Copy link
Member

@volth That looks like a pretty massive dependency (and it pulls in Java). Probably not something we want to depend on in Nix.

As an aside we probably should move S3/GCS support into separate plugins to reduce Nix's closure size.


namespace nix {

class GCSBinaryCacheStore : public BinaryCacheStore
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This class and header file don't appear to be used anywhere except as a base for GCSBinaryCacheStoreImpl, so you could just get rid of them.

@edolstra
Copy link
Member

@andir Can you make a PR to add google-cloud-cpp to Nixpkgs?

@andir
Copy link
Member Author

andir commented Aug 12, 2019 via email

@andir
Copy link
Member Author

andir commented Aug 28, 2019

@edolstra I added those remarks, rebased onto master and added a bit of rough documentation. Let me know if there is anything else that has to be done.

@andir andir changed the title WIP: google cloud storage support google cloud storage support Aug 28, 2019
Copy link
Contributor

@flokli flokli left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Some comments.

We probably also want to add a doc/manual/packages/gcs-substituter.xml, and a line to doc/manual/release-notes/….

src/libstore/gcs-binary-cache-store.cc Show resolved Hide resolved
{
PathSet paths;

// FIXME: is this really needed for binary caches?
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This should probably be replied before merging.

@flokli
Copy link
Contributor

flokli commented Aug 29, 2019

Really excited to see this!

I'll give the current code a test run on some GCS-based bucket later this week.

<para>Nix has built-in support for storing and fetching store paths
from Google Cloud Storage.</para>
<para>For a GCS bucket with the name <literal>example-nix-cache</literal> the URI is <uri>gs://example-nix-cache</uri>.</para>
<para>Nix will use the environment variable <literal>GOOGLE_APPLICATION_CREDENTIALS</literal> to discover the credentials JSON file.</para>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We should probably write we do authentication as documented at https://cloud.google.com/storage/docs/authentication#libauth - which also includes automatic credential management in Google App Engine and Google Cloud engine via their metadata server.

GOOGLE_APPLICATION_CREDENTIALS is another way to do it, but this reads as if it's the only way to do it. I'd still keep the example with GOOGLE_APPLICATION_CREDENTIALS however.

release-common.nix Outdated Show resolved Hide resolved
Copy link
Member

@zimbatm zimbatm left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  • nix copy --to gs://bucketname is working fine
  • nix-build --substituters gs://bucketname isn't supported

@andir
Copy link
Member Author

andir commented Aug 29, 2019

* [ ]  `nix-build --substituters gs://bucketname` isn't supported

Is that a requirement? The way that is currently implement for S3 looks like an ugly hack.

@zimbatm
Copy link
Member

zimbatm commented Aug 30, 2019

I don't think it's a requirement. I was assuming that registering the store would make it work everywhere so I was surprised when it didn't work. Looking at the S3 code I see that it's not that clean.

@flokli
Copy link
Contributor

flokli commented Aug 30, 2019

I gave this a quick run on a CI pipeline, using the post-build-hook and nix copy gs://bucket-name?secret_key=/path/to/signing/key. It seems I run very often into errors like this:

post-build-hook: Uploading paths /nix/store/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-xxx-0.8.0.0-doc /nix/store/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-xxx-0.8.0.0
post-build-hook: error: GCS error uploading 'nar/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.nar.xz': Permanent error in InsertObjectMedia: <!DOCTYPE html>
post-build-hook: <html lang=en>
post-build-hook:   <meta charset=utf-8>
post-build-hook:   <meta name=viewport content="initial-scale=1, minimum-scale=1, width=device-width">
post-build-hook:   <title>Error 408 (Request Timeout)!!1</title>
post-build-hook:   <style>
post-build-hook:     *{margin:0;padding:0}html,code{font:15px/22px arial,sans-serif}html{background:#fff;color:#222;padding:15px}body{margin:7% auto 0;max-width:390px;min-height:180px;padding:30px 0 15px}* > body{background:url(//www.google.com/images/errors/robot.png) 100% 5px no-repeat;padding-right:205px}p{margin:11px 0 22px;overflow:hidden}ins{color:#777;text-decoration:none}a img{border:0}@media screen and (max-width:772px){body{background:none;margin-top:0;max-width:none;padding-right:0}}#logo{background:url(//www.google.com/images/branding/googlelogo/1x/googlelogo_color_150x54dp.png) no-repeat;margin-left:-5px}@media only screen and (min-resolution:192dpi){#logo{background:url(//www.google.com/images/branding/googlelogo/2x/googlelogo_color_150x54dp.png) no-repeat 0% 0%/100% 100%;-moz-border-image:url(//www.google.com/images/branding/googlelogo/2x/googlelogo_color_150x54dp.png) 0}}@media only screen and (-webkit-min-device-pixel-ratio:2){#logo{background:url(//www.google.com/images/branding/googlelogo/2x/googlelogo_color_150x54dp.png) no-repeat;-webkit-background-size:100% 100%}}#logo{display:inline-block;height:54px;width:150px}
post-build-hook:   </style>
post-build-hook:   <a href=//www.google.com/><span id=logo aria-label=Google></span></a>
post-build-hook:   <p><b>408.</b> <ins>That’s an error.</ins>
post-build-hook:   <p>Your client has taken too long to issue its request.  <ins>That’s all we know.</ins>
post-build-hook:  [INVALID_ARGUMENT]
error: program '/nix/store/mkgkz2pixh1wljvvcvqn8hp6h36i3nc1-upload-to-cache' failed with exit code 1

The derivations are 1.8MiB and 700KiB in size, and that's running from a GCP instance, so I highly doubt too slow transfer speeds. However, I'm not sure what else can be the issue here…

@flokli
Copy link
Contributor

flokli commented Aug 30, 2019

I noted a lot of CPU usage during nix copy as well, and first suspected the compression to be that costly.

However, after some tracing, this seems to be due to extensive polling inside google-cloud-sdk-cpp while uploading to GCS:

I did a snapshot backtrace while nix copy was burning CPU:

Thread 16 (Thread 0x7fa485e1f700 (LWP 24181)):
#0  0x00007fa4a4816501 in poll () from target:/nix/store/iykxb0bmfjmi7s53kfg6pjbfpd8jmza6-glibc-2.27/lib/libc.so.6
#1  0x00007fa4a42a7399 in Curl_poll () from target:/nix/store/n8h43z4dh14hzqlvs7166sg53s1l6m2l-curl-7.65.3/lib/libcurl.so.4
#2  0x00007fa4a42a0a8f in Curl_multi_wait.part.9 () from target:/nix/store/n8h43z4dh14hzqlvs7166sg53s1l6m2l-curl-7.65.3/lib/libcurl.so.4
#3  0x00007fa4a429a723 in curl_easy_perform () from target:/nix/store/n8h43z4dh14hzqlvs7166sg53s1l6m2l-curl-7.65.3/lib/libcurl.so.4
#4  0x00007fa4a3cfe862 in google::cloud::storage::v1::internal::CurlRequest::MakeRequest(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) () from target:/nix/store/hyrakycckmgndvw0fgwf05cb28429vxl-google-cloud-cpp-0.11.0/lib/libstorage_client.so.1
#5  0x00007fa4a3d20dd6 in google::cloud::storage::v1::internal::CurlClient::InsertObjectMediaMultipart(google::cloud::storage::v1::internal::InsertObjectMediaRequest const&) () from target:/nix/store/hyrakycckmgndvw0fgwf05cb28429vxl-google-cloud-cpp-0.11.0/lib/libstorage_client.so.1
#6  0x00007fa4a3d21a9b in google::cloud::storage::v1::internal::CurlClient::InsertObjectMedia(google::cloud::storage::v1::internal::InsertObjectMediaRequest const&) () from target:/nix/store/hyrakycckmgndvw0fgwf05cb28429vxl-google-cloud-cpp-0.11.0/lib/libstorage_client.so.1
#7  0x00007fa4a3d3e70e in google::cloud::storage::v1::internal::LoggingClient::InsertObjectMedia(google::cloud::storage::v1::internal::InsertObjectMediaRequest const&) () from target:/nix/store/hyrakycckmgndvw0fgwf05cb28429vxl-google-cloud-cpp-0.11.0/lib/libstorage_client.so.1
#8  0x00007fa4a3d86fdd in google::cloud::storage::v1::internal::raw_client_wrapper_utils::Signature<google::cloud::v0::StatusOr<google::cloud::storage::v1::ObjectMetadata> (google::cloud::storage::v1::internal::RawClient::*)(google::cloud::storage::v1::internal::InsertObjectMediaRequest const&)>::ReturnType google::cloud::storage::v1::internal::(anonymous namespace)::MakeCall<google::cloud::v0::StatusOr<google::cloud::storage::v1::ObjectMetadata> (google::cloud::storage::v1::internal::RawClient::*)(google::cloud::storage::v1::internal::InsertObjectMediaRequest const&)>(google::cloud::v0::internal::RetryPolicy<google::cloud::v0::Status, google::cloud::storage::v1::internal::StatusTraits>&, google::cloud::v0::internal::BackoffPolicy&, bool, google::cloud::storage::v1::internal::RawClient&, google::cloud::v0::StatusOr<google::cloud::storage::v1::ObjectMetadata> (google::cloud::storage::v1::internal::RawClient::*)(google::cloud::storage::v1::internal::InsertObjectMediaRequest const&), google::cloud::storage::v1::internal::raw_client_wrapper_utils::Signature<google::cloud::v0::StatusOr<google::cloud::storage::v1::ObjectMetadata> (google::cloud::storage::v1::internal::RawClient::*)(google::cloud::storage::v1::internal::InsertObjectMediaRequest const&)>::RequestType const&, char const*) [clone .constprop.250] () from target:/nix/store/hyrakycckmgndvw0fgwf05cb28429vxl-google-cloud-cpp-0.11.0/lib/libstorage_client.so.1
#9  0x00007fa4a3d876cc in google::cloud::storage::v1::internal::RetryClient::InsertObjectMedia(google::cloud::storage::v1::internal::InsertObjectMediaRequest const&) () from target:/nix/store/hyrakycckmgndvw0fgwf05cb28429vxl-google-cloud-cpp-0.11.0/lib/libstorage_client.so.1
#10 0x00007fa4a501ae04 in nix::GCSBinaryCacheStore::uploadFile(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) () from target:/nix/store/qzlfkw6zl1ndrsd1i1jpy6sbjy4gchc1-nix-2.3pre6779_324a5dc9/lib/libnixstore.so
#11 0x00007fa4a501c8bf in nix::GCSBinaryCacheStore::upsertFile(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) () from target:/nix/store/qzlfkw6zl1ndrsd1i1jpy6sbjy4gchc1-nix-2.3pre6779_324a5dc9/lib/libnixstore.so
#12 0x00007fa4a4f784e0 in nix::BinaryCacheStore::addToStore(nix::ValidPathInfo const&, nix::ref<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > const&, nix::RepairFlag, nix::CheckSigsFlag, std::shared_ptr<nix::FSAccessor>) () from target:/nix/store/qzlfkw6zl1ndrsd1i1jpy6sbjy4gchc1-nix-2.3pre6779_324a5dc9/lib/libnixstore.so
#13 0x00007fa4a509358a in nix::Store::addToStore(nix::ValidPathInfo const&, nix::Source&, nix::RepairFlag, nix::CheckSigsFlag, std::shared_ptr<nix::FSAccessor>) () from target:/nix/store/qzlfkw6zl1ndrsd1i1jpy6sbjy4gchc1-nix-2.3pre6779_324a5dc9/lib/libnixstore.so
#14 0x00007fa4a509d1cf in nix::copyStorePath(nix::ref<nix::Store>, nix::ref<nix::Store>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, nix::RepairFlag, nix::CheckSigsFlag) () from target:/nix/store/qzlfkw6zl1ndrsd1i1jpy6sbjy4gchc1-nix-2.3pre6779_324a5dc9/lib/libnixstore.so
#15 0x00007fa4a509df41 in nix::copyPaths(nix::ref<nix::Store>, nix::ref<nix::Store>, std::set<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag)::{lambda(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)#3}::operator()(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const () from target:/nix/store/qzlfkw6zl1ndrsd1i1jpy6sbjy4gchc1-nix-2.3pre6779_324a5dc9/lib/libnixstore.so
#16 0x00007fa4a50a206f in nix::processGraph<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(nix::ThreadPool&, std::set<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&, std::function<std::set<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > (std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)>, std::function<void (std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)>)::{lambda(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)#1}::operator()(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const () from target:/nix/store/qzlfkw6zl1ndrsd1i1jpy6sbjy4gchc1-nix-2.3pre6779_324a5dc9/lib/libnixstore.so
#17 0x00007fa4a4eb1173 in nix::ThreadPool::doWork(bool) () from target:/nix/store/qzlfkw6zl1ndrsd1i1jpy6sbjy4gchc1-nix-2.3pre6779_324a5dc9/lib/libnixutil.so
#18 0x00007fa4a4d72d7f in ?? () from target:/nix/store/pjx3f50x0qziyivs7rbg5s12p99nn2np-gcc-7.4.0-lib/lib/libstdc++.so.6
#19 0x00007fa4a48eaef7 in start_thread () from target:/nix/store/iykxb0bmfjmi7s53kfg6pjbfpd8jmza6-glibc-2.27/lib/libpthread.so.0
#20 0x00007fa4a482022f in clone () from target:/nix/store/iykxb0bmfjmi7s53kfg6pjbfpd8jmza6-glibc-2.27/lib/libc.so.6

Thread 15 (Thread 0x7fa486620700 (LWP 24180)):
#0  0x00007fa4a4816501 in poll () from target:/nix/store/iykxb0bmfjmi7s53kfg6pjbfpd8jmza6-glibc-2.27/lib/libc.so.6
#1  0x00007fa4a42a718e in Curl_socket_check () from target:/nix/store/n8h43z4dh14hzqlvs7166sg53s1l6m2l-curl-7.65.3/lib/libcurl.so.4
#2  0x00007fa4a4298a84 in Curl_readwrite () from target:/nix/store/n8h43z4dh14hzqlvs7166sg53s1l6m2l-curl-7.65.3/lib/libcurl.so.4
#3  0x00007fa4a42a28b4 in multi_runsingle () from target:/nix/store/n8h43z4dh14hzqlvs7166sg53s1l6m2l-curl-7.65.3/lib/libcurl.so.4
#4  0x00007fa4a42a39d3 in curl_multi_perform () from target:/nix/store/n8h43z4dh14hzqlvs7166sg53s1l6m2l-curl-7.65.3/lib/libcurl.so.4
#5  0x00007fa4a429a741 in curl_easy_perform () from target:/nix/store/n8h43z4dh14hzqlvs7166sg53s1l6m2l-curl-7.65.3/lib/libcurl.so.4
#6  0x00007fa4a3cfe862 in google::cloud::storage::v1::internal::CurlRequest::MakeRequest(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) () from target:/nix/store/hyrakycckmgndvw0fgwf05cb28429vxl-google-cloud-cpp-0.11.0/lib/libstorage_client.so.1
#7  0x00007fa4a3d20dd6 in google::cloud::storage::v1::internal::CurlClient::InsertObjectMediaMultipart(google::cloud::storage::v1::internal::InsertObjectMediaRequest const&) () from target:/nix/store/hyrakycckmgndvw0fgwf05cb28429vxl-google-cloud-cpp-0.11.0/lib/libstorage_client.so.1
#8  0x00007fa4a3d21a9b in google::cloud::storage::v1::internal::CurlClient::InsertObjectMedia(google::cloud::storage::v1::internal::InsertObjectMediaRequest const&) () from target:/nix/store/hyrakycckmgndvw0fgwf05cb28429vxl-google-cloud-cpp-0.11.0/lib/libstorage_client.so.1
#9  0x00007fa4a3d3e70e in google::cloud::storage::v1::internal::LoggingClient::InsertObjectMedia(google::cloud::storage::v1::internal::InsertObjectMediaRequest const&) () from target:/nix/store/hyrakycckmgndvw0fgwf05cb28429vxl-google-cloud-cpp-0.11.0/lib/libstorage_client.so.1
#10 0x00007fa4a3d86fdd in google::cloud::storage::v1::internal::raw_client_wrapper_utils::Signature<google::cloud::v0::StatusOr<google::cloud::storage::v1::ObjectMetadata> (google::cloud::storage::v1::internal::RawClient::*)(google::cloud::storage::v1::internal::InsertObjectMediaRequest const&)>::ReturnType google::cloud::storage::v1::internal::(anonymous namespace)::MakeCall<google::cloud::v0::StatusOr<google::cloud::storage::v1::ObjectMetadata> (google::cloud::storage::v1::internal::RawClient::*)(google::cloud::storage::v1::internal::InsertObjectMediaRequest const&)>(google::cloud::v0::internal::RetryPolicy<google::cloud::v0::Status, google::cloud::storage::v1::internal::StatusTraits>&, google::cloud::v0::internal::BackoffPolicy&, bool, google::cloud::storage::v1::internal::RawClient&, google::cloud::v0::StatusOr<google::cloud::storage::v1::ObjectMetadata> (google::cloud::storage::v1::internal::RawClient::*)(google::cloud::storage::v1::internal::InsertObjectMediaRequest const&), google::cloud::storage::v1::internal::raw_client_wrapper_utils::Signature<google::cloud::v0::StatusOr<google::cloud::storage::v1::ObjectMetadata> (google::cloud::storage::v1::internal::RawClient::*)(google::cloud::storage::v1::internal::InsertObjectMediaRequest const&)>::RequestType const&, char const*) [clone .constprop.250] () from target:/nix/store/hyrakycckmgndvw0fgwf05cb28429vxl-google-cloud-cpp-0.11.0/lib/libstorage_client.so.1
#11 0x00007fa4a3d876cc in google::cloud::storage::v1::internal::RetryClient::InsertObjectMedia(google::cloud::storage::v1::internal::InsertObjectMediaRequest const&) () from target:/nix/store/hyrakycckmgndvw0fgwf05cb28429vxl-google-cloud-cpp-0.11.0/lib/libstorage_client.so.1
#12 0x00007fa4a501ae04 in nix::GCSBinaryCacheStore::uploadFile(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) () from target:/nix/store/qzlfkw6zl1ndrsd1i1jpy6sbjy4gchc1-nix-2.3pre6779_324a5dc9/lib/libnixstore.so
#13 0x00007fa4a501c8bf in nix::GCSBinaryCacheStore::upsertFile(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) () from target:/nix/store/qzlfkw6zl1ndrsd1i1jpy6sbjy4gchc1-nix-2.3pre6779_324a5dc9/lib/libnixstore.so
#14 0x00007fa4a4f784e0 in nix::BinaryCacheStore::addToStore(nix::ValidPathInfo const&, nix::ref<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > const&, nix::RepairFlag, nix::CheckSigsFlag, std::shared_ptr<nix::FSAccessor>) () from target:/nix/store/qzlfkw6zl1ndrsd1i1jpy6sbjy4gchc1-nix-2.3pre6779_324a5dc9/lib/libnixstore.so
#15 0x00007fa4a509358a in nix::Store::addToStore(nix::ValidPathInfo const&, nix::Source&, nix::RepairFlag, nix::CheckSigsFlag, std::shared_ptr<nix::FSAccessor>) () from target:/nix/store/qzlfkw6zl1ndrsd1i1jpy6sbjy4gchc1-nix-2.3pre6779_324a5dc9/lib/libnixstore.so
#16 0x00007fa4a509d1cf in nix::copyStorePath(nix::ref<nix::Store>, nix::ref<nix::Store>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, nix::RepairFlag, nix::CheckSigsFlag) () from target:/nix/store/qzlfkw6zl1ndrsd1i1jpy6sbjy4gchc1-nix-2.3pre6779_324a5dc9/lib/libnixstore.so
#17 0x00007fa4a509df41 in nix::copyPaths(nix::ref<nix::Store>, nix::ref<nix::Store>, std::set<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag)::{lambda(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)#3}::operator()(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const () from target:/nix/store/qzlfkw6zl1ndrsd1i1jpy6sbjy4gchc1-nix-2.3pre6779_324a5dc9/lib/libnixstore.so
#18 0x00007fa4a50a206f in nix::processGraph<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(nix::ThreadPool&, std::set<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&, std::function<std::set<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > (std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)>, std::function<void (std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)>)::{lambda(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)#1}::operator()(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const () from target:/nix/store/qzlfkw6zl1ndrsd1i1jpy6sbjy4gchc1-nix-2.3pre6779_324a5dc9/lib/libnixstore.so
#19 0x00007fa4a4eb1173 in nix::ThreadPool::doWork(bool) () from target:/nix/store/qzlfkw6zl1ndrsd1i1jpy6sbjy4gchc1-nix-2.3pre6779_324a5dc9/lib/libnixutil.so
#20 0x00007fa4a4d72d7f in ?? () from target:/nix/store/pjx3f50x0qziyivs7rbg5s12p99nn2np-gcc-7.4.0-lib/lib/libstdc++.so.6
#21 0x00007fa4a48eaef7 in start_thread () from target:/nix/store/iykxb0bmfjmi7s53kfg6pjbfpd8jmza6-glibc-2.27/lib/libpthread.so.0
#22 0x00007fa4a482022f in clone () from target:/nix/store/iykxb0bmfjmi7s53kfg6pjbfpd8jmza6-glibc-2.27/lib/libc.so.6

Thread 14 (Thread 0x7fa486e21700 (LWP 24179)):
#0  0x00007fa4a48f0ee2 in pthread_cond_wait@@GLIBC_2.3.2 () from target:/nix/store/iykxb0bmfjmi7s53kfg6pjbfpd8jmza6-glibc-2.27/lib/libpthread.so.0
#1  0x00007fa4a4d6d0cc in std::condition_variable::wait(std::unique_lock<std::mutex>&) () from target:/nix/store/pjx3f50x0qziyivs7rbg5s12p99nn2np-gcc-7.4.0-lib/lib/libstdc++.so.6
#2  0x00007fa4a4eb0fc0 in nix::ThreadPool::doWork(bool) () from target:/nix/store/qzlfkw6zl1ndrsd1i1jpy6sbjy4gchc1-nix-2.3pre6779_324a5dc9/lib/libnixutil.so
#3  0x00007fa4a4d72d7f in ?? () from target:/nix/store/pjx3f50x0qziyivs7rbg5s12p99nn2np-gcc-7.4.0-lib/lib/libstdc++.so.6
#4  0x00007fa4a48eaef7 in start_thread () from target:/nix/store/iykxb0bmfjmi7s53kfg6pjbfpd8jmza6-glibc-2.27/lib/libpthread.so.0
#5  0x00007fa4a482022f in clone () from target:/nix/store/iykxb0bmfjmi7s53kfg6pjbfpd8jmza6-glibc-2.27/lib/libc.so.6

Thread 13 (Thread 0x7fa48561e700 (LWP 24178)):
#0  0x00007fa4a48f0ee2 in pthread_cond_wait@@GLIBC_2.3.2 () from target:/nix/store/iykxb0bmfjmi7s53kfg6pjbfpd8jmza6-glibc-2.27/lib/libpthread.so.0
#1  0x00007fa4a4d6d0cc in std::condition_variable::wait(std::unique_lock<std::mutex>&) () from target:/nix/store/pjx3f50x0qziyivs7rbg5s12p99nn2np-gcc-7.4.0-lib/lib/libstdc++.so.6
#2  0x00007fa4a4eb0fc0 in nix::ThreadPool::doWork(bool) () from target:/nix/store/qzlfkw6zl1ndrsd1i1jpy6sbjy4gchc1-nix-2.3pre6779_324a5dc9/lib/libnixutil.so
#3  0x00007fa4a4d72d7f in ?? () from target:/nix/store/pjx3f50x0qziyivs7rbg5s12p99nn2np-gcc-7.4.0-lib/lib/libstdc++.so.6
#4  0x00007fa4a48eaef7 in start_thread () from target:/nix/store/iykxb0bmfjmi7s53kfg6pjbfpd8jmza6-glibc-2.27/lib/libpthread.so.0
#5  0x00007fa4a482022f in clone () from target:/nix/store/iykxb0bmfjmi7s53kfg6pjbfpd8jmza6-glibc-2.27/lib/libc.so.6

Thread 12 (Thread 0x7fa484e1d700 (LWP 24177)):
#0  0x00007fa4a48f0ee2 in pthread_cond_wait@@GLIBC_2.3.2 () from target:/nix/store/iykxb0bmfjmi7s53kfg6pjbfpd8jmza6-glibc-2.27/lib/libpthread.so.0
#1  0x00007fa4a4d6d0cc in std::condition_variable::wait(std::unique_lock<std::mutex>&) () from target:/nix/store/pjx3f50x0qziyivs7rbg5s12p99nn2np-gcc-7.4.0-lib/lib/libstdc++.so.6
#2  0x00007fa4a4eb0fc0 in nix::ThreadPool::doWork(bool) () from target:/nix/store/qzlfkw6zl1ndrsd1i1jpy6sbjy4gchc1-nix-2.3pre6779_324a5dc9/lib/libnixutil.so
#3  0x00007fa4a4d72d7f in ?? () from target:/nix/store/pjx3f50x0qziyivs7rbg5s12p99nn2np-gcc-7.4.0-lib/lib/libstdc++.so.6
#4  0x00007fa4a48eaef7 in start_thread () from target:/nix/store/iykxb0bmfjmi7s53kfg6pjbfpd8jmza6-glibc-2.27/lib/libpthread.so.0
#5  0x00007fa4a482022f in clone () from target:/nix/store/iykxb0bmfjmi7s53kfg6pjbfpd8jmza6-glibc-2.27/lib/libc.so.6

Thread 11 (Thread 0x7fa477fff700 (LWP 24176)):
#0  0x00007fa4a48f0ee2 in pthread_cond_wait@@GLIBC_2.3.2 () from target:/nix/store/iykxb0bmfjmi7s53kfg6pjbfpd8jmza6-glibc-2.27/lib/libpthread.so.0
#1  0x00007fa4a4d6d0cc in std::condition_variable::wait(std::unique_lock<std::mutex>&) () from target:/nix/store/pjx3f50x0qziyivs7rbg5s12p99nn2np-gcc-7.4.0-lib/lib/libstdc++.so.6
#2  0x00007fa4a4eb0fc0 in nix::ThreadPool::doWork(bool) () from target:/nix/store/qzlfkw6zl1ndrsd1i1jpy6sbjy4gchc1-nix-2.3pre6779_324a5dc9/lib/libnixutil.so
#3  0x00007fa4a4d72d7f in ?? () from target:/nix/store/pjx3f50x0qziyivs7rbg5s12p99nn2np-gcc-7.4.0-lib/lib/libstdc++.so.6
#4  0x00007fa4a48eaef7 in start_thread () from target:/nix/store/iykxb0bmfjmi7s53kfg6pjbfpd8jmza6-glibc-2.27/lib/libpthread.so.0
#5  0x00007fa4a482022f in clone () from target:/nix/store/iykxb0bmfjmi7s53kfg6pjbfpd8jmza6-glibc-2.27/lib/libc.so.6

Thread 10 (Thread 0x7fa4777fe700 (LWP 24175)):
#0  0x00007fa4a48f0ee2 in pthread_cond_wait@@GLIBC_2.3.2 () from target:/nix/store/iykxb0bmfjmi7s53kfg6pjbfpd8jmza6-glibc-2.27/lib/libpthread.so.0
#1  0x00007fa4a4d6d0cc in std::condition_variable::wait(std::unique_lock<std::mutex>&) () from target:/nix/store/pjx3f50x0qziyivs7rbg5s12p99nn2np-gcc-7.4.0-lib/lib/libstdc++.so.6
#2  0x00007fa4a4eb0fc0 in nix::ThreadPool::doWork(bool) () from target:/nix/store/qzlfkw6zl1ndrsd1i1jpy6sbjy4gchc1-nix-2.3pre6779_324a5dc9/lib/libnixutil.so
#3  0x00007fa4a4d72d7f in ?? () from target:/nix/store/pjx3f50x0qziyivs7rbg5s12p99nn2np-gcc-7.4.0-lib/lib/libstdc++.so.6
#4  0x00007fa4a48eaef7 in start_thread () from target:/nix/store/iykxb0bmfjmi7s53kfg6pjbfpd8jmza6-glibc-2.27/lib/libpthread.so.0
#5  0x00007fa4a482022f in clone () from target:/nix/store/iykxb0bmfjmi7s53kfg6pjbfpd8jmza6-glibc-2.27/lib/libc.so.6

Thread 9 (Thread 0x7fa49fe70700 (LWP 24104)):
#0  0x00007fa4a48f0ee2 in pthread_cond_wait@@GLIBC_2.3.2 () from target:/nix/store/iykxb0bmfjmi7s53kfg6pjbfpd8jmza6-glibc-2.27/lib/libpthread.so.0
#1  0x00007fa4a5164187 in GC_wait_marker () from target:/nix/store/p6y0fw99xrsma97h209ci70dq0amwck0-boehm-gc-8.0.4/lib/libgc.so.1
#2  0x00007fa4a516464a in GC_help_marker () from target:/nix/store/p6y0fw99xrsma97h209ci70dq0amwck0-boehm-gc-8.0.4/lib/libgc.so.1
#3  0x00007fa4a516472f in GC_mark_thread () from target:/nix/store/p6y0fw99xrsma97h209ci70dq0amwck0-boehm-gc-8.0.4/lib/libgc.so.1
#4  0x00007fa4a48eaef7 in start_thread () from target:/nix/store/iykxb0bmfjmi7s53kfg6pjbfpd8jmza6-glibc-2.27/lib/libpthread.so.0
#5  0x00007fa4a482022f in clone () from target:/nix/store/iykxb0bmfjmi7s53kfg6pjbfpd8jmza6-glibc-2.27/lib/libc.so.6

Thread 8 (Thread 0x7fa4a0671700 (LWP 24103)):
#0  0x00007fa4a48f0ee2 in pthread_cond_wait@@GLIBC_2.3.2 () from target:/nix/store/iykxb0bmfjmi7s53kfg6pjbfpd8jmza6-glibc-2.27/lib/libpthread.so.0
#1  0x00007fa4a5164187 in GC_wait_marker () from target:/nix/store/p6y0fw99xrsma97h209ci70dq0amwck0-boehm-gc-8.0.4/lib/libgc.so.1
#2  0x00007fa4a516464a in GC_help_marker () from target:/nix/store/p6y0fw99xrsma97h209ci70dq0amwck0-boehm-gc-8.0.4/lib/libgc.so.1
#3  0x00007fa4a516472f in GC_mark_thread () from target:/nix/store/p6y0fw99xrsma97h209ci70dq0amwck0-boehm-gc-8.0.4/lib/libgc.so.1
#4  0x00007fa4a48eaef7 in start_thread () from target:/nix/store/iykxb0bmfjmi7s53kfg6pjbfpd8jmza6-glibc-2.27/lib/libpthread.so.0
#5  0x00007fa4a482022f in clone () from target:/nix/store/iykxb0bmfjmi7s53kfg6pjbfpd8jmza6-glibc-2.27/lib/libc.so.6

Thread 7 (Thread 0x7fa4a0e72700 (LWP 24102)):
#0  0x00007fa4a48f0ee2 in pthread_cond_wait@@GLIBC_2.3.2 () from target:/nix/store/iykxb0bmfjmi7s53kfg6pjbfpd8jmza6-glibc-2.27/lib/libpthread.so.0
#1  0x00007fa4a5164187 in GC_wait_marker () from target:/nix/store/p6y0fw99xrsma97h209ci70dq0amwck0-boehm-gc-8.0.4/lib/libgc.so.1
#2  0x00007fa4a516464a in GC_help_marker () from target:/nix/store/p6y0fw99xrsma97h209ci70dq0amwck0-boehm-gc-8.0.4/lib/libgc.so.1
#3  0x00007fa4a516472f in GC_mark_thread () from target:/nix/store/p6y0fw99xrsma97h209ci70dq0amwck0-boehm-gc-8.0.4/lib/libgc.so.1
#4  0x00007fa4a48eaef7 in start_thread () from target:/nix/store/iykxb0bmfjmi7s53kfg6pjbfpd8jmza6-glibc-2.27/lib/libpthread.so.0
#5  0x00007fa4a482022f in clone () from target:/nix/store/iykxb0bmfjmi7s53kfg6pjbfpd8jmza6-glibc-2.27/lib/libc.so.6

Thread 6 (Thread 0x7fa4a1673700 (LWP 24101)):
#0  0x00007fa4a48f0ee2 in pthread_cond_wait@@GLIBC_2.3.2 () from target:/nix/store/iykxb0bmfjmi7s53kfg6pjbfpd8jmza6-glibc-2.27/lib/libpthread.so.0
#1  0x00007fa4a5164187 in GC_wait_marker () from target:/nix/store/p6y0fw99xrsma97h209ci70dq0amwck0-boehm-gc-8.0.4/lib/libgc.so.1
#2  0x00007fa4a516464a in GC_help_marker () from target:/nix/store/p6y0fw99xrsma97h209ci70dq0amwck0-boehm-gc-8.0.4/lib/libgc.so.1
#3  0x00007fa4a516472f in GC_mark_thread () from target:/nix/store/p6y0fw99xrsma97h209ci70dq0amwck0-boehm-gc-8.0.4/lib/libgc.so.1
#4  0x00007fa4a48eaef7 in start_thread () from target:/nix/store/iykxb0bmfjmi7s53kfg6pjbfpd8jmza6-glibc-2.27/lib/libpthread.so.0
#5  0x00007fa4a482022f in clone () from target:/nix/store/iykxb0bmfjmi7s53kfg6pjbfpd8jmza6-glibc-2.27/lib/libc.so.6

Thread 5 (Thread 0x7fa4a1e74700 (LWP 24100)):
#0  0x00007fa4a48f0ee2 in pthread_cond_wait@@GLIBC_2.3.2 () from target:/nix/store/iykxb0bmfjmi7s53kfg6pjbfpd8jmza6-glibc-2.27/lib/libpthread.so.0
#1  0x00007fa4a5164187 in GC_wait_marker () from target:/nix/store/p6y0fw99xrsma97h209ci70dq0amwck0-boehm-gc-8.0.4/lib/libgc.so.1
#2  0x00007fa4a516464a in GC_help_marker () from target:/nix/store/p6y0fw99xrsma97h209ci70dq0amwck0-boehm-gc-8.0.4/lib/libgc.so.1
#3  0x00007fa4a516472f in GC_mark_thread () from target:/nix/store/p6y0fw99xrsma97h209ci70dq0amwck0-boehm-gc-8.0.4/lib/libgc.so.1
#4  0x00007fa4a48eaef7 in start_thread () from target:/nix/store/iykxb0bmfjmi7s53kfg6pjbfpd8jmza6-glibc-2.27/lib/libpthread.so.0
#5  0x00007fa4a482022f in clone () from target:/nix/store/iykxb0bmfjmi7s53kfg6pjbfpd8jmza6-glibc-2.27/lib/libc.so.6

Thread 4 (Thread 0x7fa4a2675700 (LWP 24099)):
#0  0x00007fa4a48f0ee2 in pthread_cond_wait@@GLIBC_2.3.2 () from target:/nix/store/iykxb0bmfjmi7s53kfg6pjbfpd8jmza6-glibc-2.27/lib/libpthread.so.0
#1  0x00007fa4a5164187 in GC_wait_marker () from target:/nix/store/p6y0fw99xrsma97h209ci70dq0amwck0-boehm-gc-8.0.4/lib/libgc.so.1
#2  0x00007fa4a516464a in GC_help_marker () from target:/nix/store/p6y0fw99xrsma97h209ci70dq0amwck0-boehm-gc-8.0.4/lib/libgc.so.1
#3  0x00007fa4a516472f in GC_mark_thread () from target:/nix/store/p6y0fw99xrsma97h209ci70dq0amwck0-boehm-gc-8.0.4/lib/libgc.so.1
#4  0x00007fa4a48eaef7 in start_thread () from target:/nix/store/iykxb0bmfjmi7s53kfg6pjbfpd8jmza6-glibc-2.27/lib/libpthread.so.0
#5  0x00007fa4a482022f in clone () from target:/nix/store/iykxb0bmfjmi7s53kfg6pjbfpd8jmza6-glibc-2.27/lib/libc.so.6

Thread 3 (Thread 0x7fa4a2e76700 (LWP 24098)):
#0  0x00007fa4a48f0ee2 in pthread_cond_wait@@GLIBC_2.3.2 () from target:/nix/store/iykxb0bmfjmi7s53kfg6pjbfpd8jmza6-glibc-2.27/lib/libpthread.so.0
#1  0x00007fa4a5164187 in GC_wait_marker () from target:/nix/store/p6y0fw99xrsma97h209ci70dq0amwck0-boehm-gc-8.0.4/lib/libgc.so.1
#2  0x00007fa4a516464a in GC_help_marker () from target:/nix/store/p6y0fw99xrsma97h209ci70dq0amwck0-boehm-gc-8.0.4/lib/libgc.so.1
#3  0x00007fa4a516472f in GC_mark_thread () from target:/nix/store/p6y0fw99xrsma97h209ci70dq0amwck0-boehm-gc-8.0.4/lib/libgc.so.1
#4  0x00007fa4a48eaef7 in start_thread () from target:/nix/store/iykxb0bmfjmi7s53kfg6pjbfpd8jmza6-glibc-2.27/lib/libpthread.so.0
#5  0x00007fa4a482022f in clone () from target:/nix/store/iykxb0bmfjmi7s53kfg6pjbfpd8jmza6-glibc-2.27/lib/libc.so.6

Thread 2 (Thread 0x7fa4a37f7700 (LWP 24096)):
#0  0x00007fa4a47638dc in sigtimedwait () from target:/nix/store/iykxb0bmfjmi7s53kfg6pjbfpd8jmza6-glibc-2.27/lib/libc.so.6
#1  0x00007fa4a48f5434 in sigwait () from target:/nix/store/iykxb0bmfjmi7s53kfg6pjbfpd8jmza6-glibc-2.27/lib/libpthread.so.0
#2  0x00007fa4a4eb8225 in nix::signalHandlerThread(__sigset_t) () from target:/nix/store/qzlfkw6zl1ndrsd1i1jpy6sbjy4gchc1-nix-2.3pre6779_324a5dc9/lib/libnixutil.so
#3  0x00007fa4a4ebe83d in std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (*)(__sigset_t), __sigset_t> > >::_M_run() () from target:/nix/store/qzlfkw6zl1ndrsd1i1jpy6sbjy4gchc1-nix-2.3pre6779_324a5dc9/lib/libnixutil.so
#4  0x00007fa4a4d72d7f in ?? () from target:/nix/store/pjx3f50x0qziyivs7rbg5s12p99nn2np-gcc-7.4.0-lib/lib/libstdc++.so.6
#5  0x00007fa4a48eaef7 in start_thread () from target:/nix/store/iykxb0bmfjmi7s53kfg6pjbfpd8jmza6-glibc-2.27/lib/libpthread.so.0
#6  0x00007fa4a482022f in clone () from target:/nix/store/iykxb0bmfjmi7s53kfg6pjbfpd8jmza6-glibc-2.27/lib/libc.so.6

Thread 1 (Thread 0x7fa4a3832a00 (LWP 24088)):
#0  0x00007fa4a48f0ee2 in pthread_cond_wait@@GLIBC_2.3.2 () from target:/nix/store/iykxb0bmfjmi7s53kfg6pjbfpd8jmza6-glibc-2.27/lib/libpthread.so.0
#1  0x00007fa4a4d6d0cc in std::condition_variable::wait(std::unique_lock<std::mutex>&) () from target:/nix/store/pjx3f50x0qziyivs7rbg5s12p99nn2np-gcc-7.4.0-lib/lib/libstdc++.so.6
#2  0x00007fa4a4eb0fc0 in nix::ThreadPool::doWork(bool) () from target:/nix/store/qzlfkw6zl1ndrsd1i1jpy6sbjy4gchc1-nix-2.3pre6779_324a5dc9/lib/libnixutil.so
#3  0x00007fa4a4eb325b in nix::ThreadPool::process() () from target:/nix/store/qzlfkw6zl1ndrsd1i1jpy6sbjy4gchc1-nix-2.3pre6779_324a5dc9/lib/libnixutil.so
#4  0x00007fa4a50a150c in void nix::processGraph<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(nix::ThreadPool&, std::set<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&, std::function<std::set<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > (std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)>, std::function<void (std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)>) () from target:/nix/store/qzlfkw6zl1ndrsd1i1jpy6sbjy4gchc1-nix-2.3pre6779_324a5dc9/lib/libnixstore.so
#5  0x00007fa4a509e82c in nix::copyPaths(nix::ref<nix::Store>, nix::ref<nix::Store>, std::set<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) () from target:/nix/store/qzlfkw6zl1ndrsd1i1jpy6sbjy4gchc1-nix-2.3pre6779_324a5dc9/lib/libnixstore.so
#6  0x00000000004b34f7 in CmdCopy::run(nix::ref<nix::Store>, std::__cxx11::list<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >) ()
#7  0x00000000004af2cc in nix::StorePathsCommand::run(nix::ref<nix::Store>) ()
#8  0x00000000004adab9 in nix::StoreCommand::run() ()
#9  0x00000000004cbbb5 in nix::mainWrapped(int, char**) ()
#10 0x00007fa4a5139ebc in nix::handleExceptions(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::function<void ()>) () from target:/nix/store/qzlfkw6zl1ndrsd1i1jpy6sbjy4gchc1-nix-2.3pre6779_324a5dc9/lib/libnixmain.so
#11 0x00000000004315db in main ()

@flokli
Copy link
Contributor

flokli commented Feb 27, 2020

With #2733 fixed by bumping to curl 7.68.0, this might be worth another try.

@flokli
Copy link
Contributor

flokli commented May 26, 2020

I propose closing this - this has bitrotten a bit, isn't actively being worked on, and @edolstra mentioned both the S3 and GCS support should eventually be moved into separate plugins.

@edolstra
Copy link
Member

Yes, though I think it would make sense to keep them in the nix repository, just built as separate derivations.

@flokli
Copy link
Contributor

flokli commented Nov 11, 2020

@edolstra can this be closed?

flokli added a commit to NixOS/nixpkgs that referenced this pull request Nov 11, 2020
This was only to enable NixOS/nix#3021, which
has bitrotted sufficiently in the meantime.
@andir andir closed this Nov 12, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants