Closed Bug 1496610 Opened Last year Closed Last year

Windows build fails shell_split in toolchain.configure

Categories

(Firefox Build System :: General, defect)

defect
Not set

Tracking

(firefox64 fixed)

RESOLVED FIXED
mozilla64
Tracking Status
firefox64 --- fixed

People

(Reporter: handyman, Assigned: agashlin)

Details

Attachments

(2 files)

I've attached the console output from a failed build.  console.log doesn't look useful as its about things that are already passed (console.log ends failing to find posix_fallocate, as the console output suggests).

Syncing to a close parent of bug 1397263 [1] restores my ability to build so there's a decent chance it's responsible.

I logged the value of cmd[0] that was causing shell_split to fail (its in the attached output).  It dies on:

C:/PROGRA~2/MICROS~2/2017/COMMUN~1/VC/Tools/MSVC/1412~1.258/bin/HostX64/x64/ml64.exe

Every other call had something more like this:

clang-cl.exe -Xclang -std=gnu99 -fms-compatibility-version=19.15.26726

----

[1] https://hg.mozilla.org/mozilla-central/rev/c778ebc41ca7
NI to :froydnj since I suspect bug 1397263 -- specifically "move AS checks to toolchain.configure"
Flags: needinfo?(nfroyd)
This seems to be related to bug 1418596. I'm attaching a patch that removes special treatment from ~, don't know if this is a permanent solution but it works for me.
Assignee: nobody → agashlin
Assignee: agashlin → nobody
Redirecting temporarily to glandium, since he's awake and I soon won't be, and he had comments on bug 1418596.  If he doesn't respond, I'll look at this tomorrow.
Flags: needinfo?(nfroyd) → needinfo?(mh+mozilla)
Comment on attachment 9014634 [details] [diff] [review]
Don't treat ~ as special

Review of attachment 9014634 [details] [diff] [review]:
-----------------------------------------------------------------

Tilde being a character we pretty much expect to be in paths on windows, we should at least handle it. And as I noted in bug 1418596, it's not a problem to remove it here. I've never spent the time to carefully consider the other characters, so we can keep 1418596 alive for those, and fix this one here.
Attachment #9014634 - Flags: review+
Pushed by agashlin@mozilla.com:
https://hg.mozilla.org/integration/mozilla-inbound/rev/874a07fdb045
Don't treat ~ (tilde) in paths as special. r=glandium
Oops, I just noticed this a few lines below:

# This regexp contains the same characters as all those listed in
# UNQUOTED_TOKENS_RE. Please keep in sync.
SHELL_QUOTE_RE = re.compile(r'[\\\t\r\n \'\"#<>&|`~(){}$;\*\?]')

It doesn't do any direct harm to have removed ~ from UNQUOTED_TOKENS, but it does mean somewhere we're supposed to be quoting, and I'd like to restore this to sync.

It didn't make sense that this would have worked before when doing MSVC builds from Program Files, so I'd rather look more closely at the symptom here.

I think the issue might be that there was a special case for Windows paths in compiler [1], but there is nothing similar for the new assembler processing. Does that make sense?
https://hg.mozilla.org/mozilla-central/rev/874a07fdb045
Status: NEW → RESOLVED
Closed: Last year
Resolution: --- → FIXED
Target Milestone: --- → mozilla64
I think the asymmetry is fine, although now the comment is not entirely accurate.
Flags: needinfo?(mh+mozilla)
Assignee: nobody → agashlin
You need to log in before you can comment on or make changes to this bug.