Bug#1067232: limit diffoscope recursions on packages where diffoscope runs into a timeout

2024-03-20 Thread Holger Levsen
On Wed, Mar 20, 2024 at 04:31:22PM +, James Addison wrote:
> > or maybe even simpler: first run diffoscope normally, then if that runs 
> > into a timeout,
> > run with --max-container-depth=3 (or 5). 

It also occured to me that we then could diffoscope with a (way) lower timeout,
eg 60min instead of 155min, because hardly never diffoscope runs longer than
30min, and if it does, it usually runs 155min until it gets killed.

I'm not sure we're collecting data on this, so far this is just an educated 
guess. :)


-- 
cheers,
Holger

 ⢀⣴⠾⠻⢶⣦⠀
 ⣾⠁⢠⠒⠀⣿⡁  holger@(debian|reproducible-builds|layer-acht).org
 ⢿⡄⠘⠷⠚⠋⠀  OpenPGP: B8BF54137B09D35CF026FE9D 091AB856069AAA1C
 ⠈⠳⣄

Stop saying that we are all in the same boat.
We’re all in the same storm. But we’re not all in the same boat.


signature.asc
Description: PGP signature


Bug#1067232: limit diffoscope recursions on packages where diffoscope runs into a timeout

2024-03-20 Thread Holger Levsen
On Wed, Mar 20, 2024 at 04:31:22PM +, James Addison wrote:
> Package: jenkins.debian.org
> X-Debbugs-Cc: hol...@layer-acht.org

no need for that cc:, i'm subscribed to the package.
 
> That seems like a straightforward way to get started, and without adding much
> complexity.

indeed.
 
> In reproducible_build.sh it looks like there are some IRC notifications: it
> could make sense to suppress the retried-diffoscope-results, or emit a
> noticably different message for those to distinguish them from the initial
> attempt?

yes. (and I apologize to your eyes for having seen that IRC notification
"logic"... I've looked at it yesterday for too long and only came up with
a small improvement while that whole thing could use an overhaul.)


-- 
cheers,
Holger

 ⢀⣴⠾⠻⢶⣦⠀
 ⣾⠁⢠⠒⠀⣿⡁  holger@(debian|reproducible-builds|layer-acht).org
 ⢿⡄⠘⠷⠚⠋⠀  OpenPGP: B8BF54137B09D35CF026FE9D 091AB856069AAA1C
 ⠈⠳⣄

All data, over time, approaches deleted, or public. (@quinnnorton)


signature.asc
Description: PGP signature


Bug#1067232: limit diffoscope recursions on packages where diffoscope runs into a timeout

2024-03-20 Thread James Addison
Package: jenkins.debian.org
Followup-For: Bug #1067232
X-Debbugs-Cc: hol...@layer-acht.org

On Wed, 20 Mar 2024 16:05:30 +, Holger wrote:
> or maybe even simpler: first run diffoscope normally, then if that runs into 
> a timeout,
> run with --max-container-depth=3 (or 5). I think this would be acceptable with
> only 286 suite/arch/package combinations currently which run into a timeout.

That seems like a straightforward way to get started, and without adding much
complexity.

In reproducible_build.sh it looks like there are some IRC notifications: it
could make sense to suppress the retried-diffoscope-results, or emit a
noticably different message for those to distinguish them from the initial
attempt?



Bug#1067232: limit diffoscope recursions on packages where diffoscope runs into a timeout

2024-03-20 Thread Holger Levsen
package: jenkins.debian.org
severity: wishlist

hi,

in https://salsa.debian.org/qa/jenkins.debian.net/-/merge_requests/163
James Addison suggested to use --max-container-depth=3 (or 5) for
when diffscope runs into a timeout on a package. (or rather not then,
but always, which why this MR wasnt accepted.)

However this lead to the following discussion on irc:

 jayaddison: thanks for closing MR163!
 no probs!  thought it might confuse/distract someone later 
otherwise :)
 jayaddison: thinking about it, we could probably run diffoscope with 
the reduced depth option on those packages we know diffoscope timeouts, eg all 
packages listed more than 4 times on 
https://tests.reproducible-builds.org/debian/index_breakages.html
 the breakage job could generated that list, and then 
reproducible_build.sh could consume it and act accordingly
 interesting idea.  that was going to be my next question (how to 
maintain the list of relevant packages)
 I'm slightly averse to adaptive testing because it becomes a 
maintenance/debug challenge over time, but am thinking about it
 what's the effect of a diffoscope timeout at the moment?  no 
output at all?
< h01ger> thinking about it, this could cause an interesting jojo effect: 
git-annex is tested, diffoscope runs into a timeout. this happens more than 4 
times -> git-annex is put on the list of packages which diffoscope is run on 
with reduced depth. thus, (hopefullly! now) diffoscope doesnt run into a 
timeout 
  anymore. this happens so often that git-annex appears less than 4 
times on the breakages page -> 
 git-annex is tested without a timeout again, rinse repeat, until 
diffoscope or git-annex is improved
 yes, its basically empty, see eg 
https://tests.reproducible-builds.org/debian/rb-pkg/unstable/amd64/diffoscope-results/git-annex.html
 basically true for any link on 
https://tests.reproducible-builds.org/debian/index_breakages.html
 ok.  I guess 'in theory' it'd be nice for diffoscope to diff to 
depth 1, then write output, then proceed to depth 2, rewrite output, etc.
 nah, depth 3/4/5 should be fine, i hope
 first few levels are generally .deb, data/xz or something, and... 
I forget.  but fast/inexpensive compute-wise
 yeah
 if we could write output after each layer, there should always be 
'something' to show on the results page even if it later fails at depth 8 or 
whatever
 s/fails/times-out
 i'd just go with layer X for a start, i doubt its useful to make this 
more sophisticated, esp from the start. also its sophisticated enough to only 
invoke this for a few timeouting packages

or maybe even simpler: first run diffoscope normally, then if that runs into a 
timeout,
run with --max-container-depth=3 (or 5). I think this would be acceptable with
only 286 suite/arch/package combinations currently which run into a timeout.

I'd still like to store/record somewhere (for later reading, eg to then 
semiautomatically
add this information to notes.git) that diffoscope ran into a timeout on this 
package,
but for the moment I don't have a plan how to that exactly.


-- 
cheers,
Holger

 ⢀⣴⠾⠻⢶⣦⠀
 ⣾⠁⢠⠒⠀⣿⡁  holger@(debian|reproducible-builds|layer-acht).org
 ⢿⡄⠘⠷⠚⠋⠀  OpenPGP: B8BF54137B09D35CF026FE9D 091AB856069AAA1C
 ⠈⠳⣄

Deutschland ist so rechts, es wird sogar diskutiert ob die Nazis links waren.
(@elhotzo, 20220206)


signature.asc
Description: PGP signature