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
-
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