Distfile caching on failed fetch stage #1138
Unanswered
tomalexander
asked this question in
Q&A
Replies: 1 comment
-
I don't know why this failure to download the patches happens, but you could download the files manually into |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
I think the current behavior for poudriere is that it does not save any dist files when the fetch stage fails, which is leaving me stuck unable to build
graphics/librsvg2-rust
.For a while now I've had
graphics/librsvg2-rust
stuck as a failed build in my poudriere instance. I've attached 3 log files of my failed build of that port. Looking at the logs, it is downloading a bunch of crates, alternating between two distinct behaviors:First, 3-4 crates successfully download from
crates.io
:Then, there is a block of crates that fail to download from
crates.io
withConnection reset by peer
, so they pull fromdistcache.FreeBSD.org
:Then the downloads from
crates.io
start working again briefly.So looking at this pattern, I think I'm getting rate-limited by
crates.io
. This doesn't cause problems when the crates also exist indistcache.FreeBSD.org
but not all the crates exist there.There are two interesting bits from this:
distcache.FreeBSD.org
. So if I'm lucky, my non-rate-limited requests happen to be the crates missing fromdistcache.FreeBSD.org
./usr/ports/distfiles/rust/crates/
. For example, in3.log
(attached), the build fails oncolor_quant-1.1.0.crate
but in both my earlier builds of1.log
and2.log
that crate successfully downloaded.Running
find / -type f -name '*color_quant*crate*'
turns up no files, nor doesfind /usr/ports/distfiles/rust/crates/ | grep -i quant
. Butls -l /usr/ports/distfiles/rust/crates | wc -l
shows I have 541 crates cached.So what I suspect is happening is poudriere only moves the downloaded distfiles into
/usr/ports/distfiles
if it succeeds in fetching ALL of the crates. Is this statement correct?And assuming that is correct, this presents a problem because if each individual successfully downloaded crate ended up cached in
/usr/ports/distfiles
then over a series of builds, the rate-limiting RNG gods would slowly grant me a couple new crates each build which would eventually let me buildgraphics/librsvg2-rust
.So I've posted this as a discussion instead of filing a bug report because I don't know if my assumptions on poudriere's behavior are correct. I'm hoping someone here can confirm?
Logs:
1.log
2.log
3.log
Beta Was this translation helpful? Give feedback.
All reactions