snapcraft prime takes considerably more time on unpacking stage packages than before

Bug #1767119 reported by Konstantin Pavlov
18
This bug affects 3 people
Affects Status Importance Assigned to Milestone
Snapcraft
Fix Released
High
Sergio Schvezov

Bug Description

Since the upgrade to version 2.40 in xenial, snapcraft prime takes considerably more time (in our case, from ~35 minutes to ~65 minutes on average) to build packages.

Most of the time is spent on seemingly unpacking packages, with builds get "stuck" on "Preparing to build vlc", with snapcraft process using 100% CPU for minutes, apparently reading every file there is.

I've tried upgrading to 2.41 per IRC discussion, which didnt help. The version that did not exhibit the problem (builds were faster) is 2.39.3+really2.35.

We have around ~400 stage packages.

The IRC discussion followed:

17:15 < sergiusens> seb128: the only potential change we have is we went from calling dpkg-deb to using a python implementationdebian.arfile
17:15 < sergiusens> thresh: ^
17:16 < sergiusens> I will run some numbers against that, but I cannot do that today
17:16 < thresh> I do see python proccess doing a lot of read/write under strace, yes
17:16 < seb128> the python thing might be much slower than dpkg-deb?
17:17 < sergiusens> seb128: we do not have a need for that feature anymore given the last PR I am working on, so we could potentially move back to dpkg-deb without much thought

Changed in snapcraft:
milestone: none → 2.43
assignee: nobody → Sergio Schvezov (sergiusens)
Changed in snapcraft:
importance: Undecided → High
status: New → Triaged
Revision history for this message
Sergio Schvezov (sergiusens) wrote :
Changed in snapcraft:
status: Triaged → In Progress
Kyle Fazzari (kyrofa)
Changed in snapcraft:
status: In Progress → Fix Committed
Changed in snapcraft:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.