Closed Bug 1466603 Opened 7 years ago Closed 5 years ago

vagrant dev environment flakiness awareness: "/vagrant/scripts/js-analyze.js:1221:1 Error: can't read /vagrant/sax/sax.js: short read"

Categories

(Webtools :: Searchfox, defect)

defect
Not set
normal

Tracking

(Not tracked)

RESOLVED WORKSFORME

People

(Reporter: asuth, Unassigned)

Details

I've started experiencing errors like the following on an indexer-run.sh pass on a vagrant 2.0.2+dfsg-2ubuntu8 VM on Ubuntu 18.04 LTS that's been up for a while: ``` /vagrant/scripts/js-analyze.js:1221:1 Error: can't read /vagrant/sax/sax.js: short read Stack: @/vagrant/scripts/js-analyze.js:1221:1 ``` Which is at the line `run(mozSearchRoot + "/sax/sax.js");` I believe this is the logic (or at least replicated idiom) in the JS shell runtime that's sad which is basically fseek(SEEK_END), ftell(), fseek(0), fread(file length): https://searchfox.org/mozilla-central/rev/292d295d6b084b43b70de26a42e68513bb7b36a3/js/src/shell/js.cpp#2134 The man page for fread(3) says: ``` If an error occurs, or the end of the file is reached, the return value is a short item count (or zero). fread() does not distinguish between end-of-file and error, and callers must use feof(3) and ferror(3) to determine which occurred. ``` So it appears the issue is vagrant's /vagrant mount-point being flaky and returning intermittent errors that break the higher level fread semantics. I don't think it makes sense to try and fix this in the JS shell or otherwise; spurious FS errors are a problem not worth trying to paper over. I'm just logging this bug for search visibility in case others run into this in the future and am NI-ing myself now to resolve WFM in the near future once I upgrade to the current official Vagrant 2.1.1 build and run for a few days.
Flags: needinfo?(bugmail)
At first glance, it looks like my recent upgrade to Ubuntu 18.04 probably made the VirtualBox "Guest Additions" version mismatch a problem. With the problem happening reliably, I was at: default: Guest Additions Version: 5.1.14 default: VirtualBox Version: 5.2 Since upgrading inside the VM via "apt install virtualbox-guest-dkms" the JS analyze issues are past and my mismatch is now as follows: default: Guest Additions Version: 5.1.34 default: VirtualBox Version: 5.2 On Ubuntu 18.04, my VirtualBox version is identified as 5.2.10-dfsg-6.

Gonna resolve this as WFM given that bug 1601451 makes it possible to use libvirt instead of virtualbox, plus I updated the docs to describe a magic mechanism that autoupdates the guest additions for virtualbox users.

Status: NEW → RESOLVED
Closed: 5 years ago
Flags: needinfo?(bugmail)
Resolution: --- → WORKSFORME
You need to log in before you can comment on or make changes to this bug.