Unhandled File Not Found error in some vivid builds.

Bug #1387819 reported by Robert Bruce Park
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
CI Train [cu2d]
Fix Released
Undecided
Robert Bruce Park
Ubuntu Landing Team
Fix Released
Undecided
Unassigned

Bug Description

I've seen this a couple times now:

https://ci-train.ubuntu.com/job/ubuntu-landing-026-1-build/12/console

It's very mysterious to me as if you search for the filename that is erroring, there's lots of messages that clearly indicate this file is created, signed, uploaded correctly, then all of a sudden at the very end it's mysteriously missing. I've even gone so far as to poke around on the jenkins server and discovered that the file is indeed still there after the job is done running, so it's not a case of the file getting deleted at some point during the build.

It only happens in vivid builds as far as I can tell.

Related branches

Revision history for this message
Łukasz Zemczak (sil2100) wrote :

I have seen something vaguely similar in the past which I fixed - in the case of binary syncs. But it this case it doesn't seem that there was some older package version available. Maybe the case here is that because of some invalid chdir() calls (as CI Train seems to do those often) we end up in the wrong directory at the moment watch_ppa is used? This would make sense why the file was there during debugging. Just a hunch.

Revision history for this message
Robert Bruce Park (robru) wrote :

Ah the chdir mess, yes that seems likely... although that doesn't explain why this only happens in vivid.

I'll poke at this code some more today, see if I can't convert that particular piece of code to use an absolute path to the file instead of a relative one, then it won't matter where the code has chdir'd itself to.

Changed in cupstream2distro:
assignee: nobody → ♫ Robert Bruce Park ♫ (robru)
status: New → In Progress
Revision history for this message
Robert Bruce Park (robru) wrote :

https://ci-train.ubuntu.com/job/ubuntu-landing-007-1-build/82/console Here's another case of this for reference.

Traceback (most recent call last):
  File "/var/lib/jenkins/citrain/citrain/build.py", line 909, in <module>
    sys.exit(main())
  File "/var/lib/jenkins/citrain/citrain/build.py", line 896, in main
    if watch_ppa.main() != 0:
  File "/var/lib/jenkins/citrain/citrain/watch_ppa.py", line 114, in main
    archs_to_unconditionally_ignore))
  File "/var/lib/jenkins/citrain/cupstream2distro/packageinppa.py", line 52, in __init__
    for line in open(dsc_filename):
IOError: [Errno 2] No such file or directory: 'qtubuntu-sensors_0.6+14.10.20141020~rtm-0ubuntu1.dsc'
Build step 'Execute shell' marked build as failure
Finished: FAILURE

Revision history for this message
Robert Bruce Park (robru) wrote :

Actually a viable workaround is just to do a WATCH_ONLY build after seeing this failure, so presumably that means the WATCH_ONLY build isn't chdir'ing into the wrong place like the regular build does, which seems to support this theory.

Revision history for this message
Robert Bruce Park (robru) wrote :

Ok, in this one particular case, I was able to follow the traceback down, find the relative path, switch it to an absolute path, and it looks like it worked in preprod.

I'm very tempted to simply delete all calls to os.chdir() and then iterate slowly in preprod as *everything explodes* and convert them all to absolute paths one by one...

Changed in cupstream2distro:
status: In Progress → Fix Committed
Changed in ubuntu-lt:
status: New → Fix Committed
Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :

Fix committed into lp:cupstream2distro at revision None, scheduled for release in cupstream2distro, milestone Unknown

Changed in cupstream2distro:
status: Fix Committed → Fix Released
Changed in ubuntu-lt:
status: Fix Committed → Fix Released
Revision history for this message
Robert Bruce Park (robru) wrote :

My fix landed in production and looks successful:

https://ci-train.ubuntu.com/job/ubuntu-landing-024-1-build/15/console

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

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