samueldr has joined joined #nixos-dev
<> changed the topic of #nixos-dev to: Topic for #nixos-dev is "NixOS Development | Blockers for 17.09: https://github.com/NixOS/nixpkgs/projects/4 | https://registration.nixcon2017.org/ | https://hydra.nixos.org/jobset/nixos/trunk-combined | https://channels.nix.gsc.io/graph.html"
<> changed the topic of #nixos-dev to: Topic set by fpletz!~fpletz@unaffiliated/fpletz on 2017-08-28 21:18:18 UTC
<> changed the topic of #nixos-dev to: Channel #nixos-dev created on 2017-08-02 14:29:18 UTC
<globin> niksnut: your urllib3 split just put nix-support into the dev output killing all propagatedBuildInputs which broke the python path for everything using it
phreedom has quit [(Ping timeout: 246 seconds)]
mguex_ is now known as mguex
phreedom has joined joined #nixos-dev
<copumpkin> yeah, the whole nix-support thing is kinda odd with multiple outputs
<niksnut> iirc, the .dev outputs of a buildInput will be included automatically
<copumpkin> niksnut: seeing "error: cannot add '/nix/store/lcimg5dqxgax1vfawjn67dpy0h9nan12-wrapped-buildbot-0.9.11' to the binary cache because the reference '/nix/store/02wvl8xc26w6hwj1201smqyxpcg83361-python2.7-packaging-16.8' is not valid" from `nix copy`, any idea why?
<copumpkin> invocation is roughly `nix copy --to ... $(nix-build -A foo bar baz)`
<globin> niksnut: is hydra dead?
<niksnut> doesn't look like it...
<niksnut> copumpkin: try nix copy -r
<copumpkin> yeah trying that now, realized it's probably what I want
<copumpkin> what's the use case for a non-recursive nix copy?
<niksnut> can't think of any
<copumpkin> maybe if you already have some sort of closure dump from exportReferencesGraph
<copumpkin> and you don't want it to do extra work copying recursively each time
* copumpkin shrugs
<niksnut> yes, the copy at the end of a remote build only copies the output paths
pxc1 has joined joined #nixos-dev
<copumpkin> niksnut: thinking more about that retry flag, I'm wondering if it wouldn't make more sense for me to just have a "retry-on-all-download-errors" catch-all rather than trying to play whac-a-mole with individual error codes. From what I've been able to gather from the AWS SDK, that's pretty much all they do
<copumpkin> so for those of us hitting flaky S3 HTTP endpoints, we'd just enable that option
<copumpkin> whereas everyone else retains the more precise retry conditions
pxc1 has quit [(Ping timeout: 248 seconds)]
pvgoran has joined joined #nixos-dev
<copumpkin> niksnut: basically thinking of https://github.com/NixOS/nix/blob/master/src/libstore/download.cc#L297 containing a `|| settings.treatMiscDownloadFailuresAsTransient.get()` at the end
<globin> niksnut: could you look at the last comment in https://github.com/NixOS/nixpkgs/issues/4825
<globin> niksnut: could it be that this is fixed in nixops already?
goibhniu has quit [(Ping timeout: 240 seconds)]
<niksnut> copumpkin: even retry 404?
<copumpkin> niksnut: it's more about s/Misc/Transient if the option is enabled
<niksnut> anyway I don't like that strategy, we have that in NixOps and it sucks
<copumpkin> your explicit cases for Forbidden near the top
<niksnut> for example, you'll see NixOps happily retrying requests that get an InvalidParameter response from AWS
<copumpkin> would catch 404 and 403 and other obvious stupid client behavior
<copumpkin> it seems like we shouldn't retry anything in the 4** range
<niksnut> so you to wait a few minutes even though it's clear it's never going to succeeed
<copumpkin> but everything else is up for grabs
<copumpkin> agree
<copumpkin> so I don't want that either
<copumpkin> but I basically want to say "don't retry on 4xx, do retry on a bunch of other mysterious errors from curl"
<copumpkin> or alternately
<copumpkin> an option in config for which curl error codes (numeric) I want to retry on? :P
<copumpkin> I'm only going down this route because I'm occasionally seeing curl error 7s fail unnecessarily too
<copumpkin> "the cloud" is a nightmare for this sort of logic
<copumpkin> so my open PR adding support for 28 isn't even enough :P fixing 28 then makes 7 start to show up
<gchristensen> The Cloud is built on a background of retries, copumpkin :)
<copumpkin> that's what I'm saying!
<copumpkin> the issue is just that sensible retries might vary on who you're talking to
<copumpkin> I think S3 is a bit unusual for HTTP services
<copumpkin> and fails in more ways than I'd ever imagined before pointing Nix at it
<niksnut> copumpkin: yeah, I guess retrying all errors except a certain set of known non-retriable errors makes sense
<copumpkin> niksnut: okay I can make a quick PR for that, but there's a big issue: wtf to call that option :)
<niksnut> option?
<copumpkin> based on my `settings.treatMiscDownloadFailuresAsTransient.get()` I think you can see I suck at naming
<copumpkin> oh
<niksnut> I wouldn't make it an option
<copumpkin> you're saying do that in general? I was wary of changing the default behavior
<niksnut> just change it from listing transient errors to listing non-transient errors
<copumpkin> fair enough!
<copumpkin> timeout-flavored errors still might need some thinking
<niksnut> yes, it depends on whether curl (or the kernel) already internally retries
<niksnut> e.g. if the kernel already retries TCP connects, then it doesn't make sense for us to retry
<copumpkin> yeah
<copumpkin> niksnut: any reason you distinguish between Forbidden/Transient/Misc? does something outside of the downloader track those?
<niksnut> HttpBinaryCacheStore uses Forbidden (to handle 403s from S3)
<copumpkin> oh I see
phreedom has quit [(Ping timeout: 248 seconds)]
pxc1 has joined joined #nixos-dev
<domenkozar> niksnut: do you happen to build nixops deployments on hydra?
<gchristensen> oh cool
pxc1 has quit [(Read error: Connection reset by peer)]
pxc1 has joined joined #nixos-dev
taktoa has quit [(Remote host closed the connection)]
<globin> Dezgeg: https://github.com/NixOS/nixpkgs/pull/29827 should this be merged and go in 17.09? does this fix anything or would it just be an improvement in consistency?
<globin> Does anyone have ideas on how to fix GDM restarting when systemd-logind gets restarted? https://github.com/NixOS/nixpkgs/issues/29579
<globin> niksnut, zimbatm, Mic92 ^
<zimbatm> I don't think we have a choice, systemd-logind has to be market to not be restarted on change
<Mic92> globin: do you have the code somewhere that generates this?
<Mic92> I can look it up myself
<globin> Mic92: enabling GDM on 17.09 and restarting systemd-logind should be enough
<Mic92> globin: I mean is this generated from libsystemd or gdm itself
<globin> Mic92: I don't know
<Mic92> this looks like xorg stuff
<Mic92> it is not comming from GDM or systemd
<globin> niksnut: your postgres changes break pg_config completely for 9.6
<Mic92> ah that was the same commit from the systemd news file
<Mic92> there multiple instances, where we had to s/postgres/postgres.dev/
<globin> niksnut: multiple paths are wrong
<globin> Mic92: no not that
<globin> Mic92: the paths reported by pg_config are wrong
<globin> niksnut: for older postgres, too: e.g. BINDIR = /nix/store/csiq6zkn2c994kkdjln461jvgbka4yb1-postgresql-9.5.9-dev/bin
<globin> niksnut: we cannot use multiple outputs there without patching pg_config completely
<globin> niksnut: their code there is broken for our case
<fpletz> that change should be reverted everywhere IMHO
<globin> niksnut: I'm reverting this for now this needs far more work than simply splitting this
<niksnut> postgres works for me
<globin> everything using pg_config breaks with this
<globin> that means extensions and other stuff depending on postgresql
<fpletz> also postgresql96 has a dependency cycle and is not building currently (there are references to PGXS in the dev output in some postgresql binaries)
JosW has quit [(Quit: Konversation terminated!)]
<Mic92> globin: are also going to revert all patches, we applied to fix the new location pg_config or does this still work?
<globin> Mic92: I have done this, it's all squashed into one large revert
<Mic92> globin: ah ok. I did not look at the actual revert
<globin> Mic92: the commit message contains a longer explanation of the issue including example outputs of pg_config
phreedom has joined joined #nixos-dev
<globin> Mic92: wrt to GDM/systemd-logind could you commit your patch and backport it to 17.09?
Jackneill has quit [(Ping timeout: 252 seconds)]
aminechikhaoui has quit [(Ping timeout: 255 seconds)]
aminechikhaoui has joined joined #nixos-dev
aminechikhaoui has quit [(Ping timeout: 240 seconds)]
aminechikhaoui has joined joined #nixos-dev
pxc1 has quit [(Ping timeout: 252 seconds)]