Closed Bug 698529 Opened 13 years ago Closed 7 years ago

PyMake doesn't handle shell invocation failures gracefully

Categories

(Firefox Build System :: General, defect)

defect
Not set
normal

Tracking

(Not tracked)

RESOLVED WONTFIX

People

(Reporter: gps, Unassigned)

Details

When running PyMake on Windows outside the mozilla-build environment (e.g. in a regular command prompt), it appears that anytime PyMake tries to evaluate something containing a $(shell) or something calling out to the shell, it completely blows up in non-pleasant ways. Obviously a failure should occur. However, the current behavior is not very graceful.

In my Git bash shell (powered by MinGW), when PyMake encounters an error calling out to the shell, the process appears to die, however control is not yielded back to the terminal. When I CTRL+C, I see a shell prompt, but the shell state is completely corrupted. If I hit Enter, I get a couple of "The process tried to write to a nonexistent pipe" errors. The shell is unusable and I have to close it and start a new one.

I haven't dug into things, but I'm guessing an error in the multiprocessing Python module isn't being caught.

The problem can be worked around by invoking PyMake from a proper environment.
I know for a fact that pymake has only really been tested in cmd.exe and the MozillaBuild MSYS shell. It may be we just wind up doing something really stupid in that environment.
Mass close of pymake-related bugs.
Status: NEW → RESOLVED
Closed: 7 years ago
Resolution: --- → WONTFIX
Product: Core → Firefox Build System
You need to log in before you can comment on or make changes to this bug.