PyMake doesn't handle shell invocation failures gracefully

RESOLVED WONTFIX

Status

Firefox Build System
General
RESOLVED WONTFIX
7 years ago
4 months ago

People

(Reporter: gps, Unassigned)

Tracking

Firefox Tracking Flags

(Not tracked)

Details

(Reporter)

Description

7 years ago
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
Last Resolved: a year ago
Resolution: --- → WONTFIX

Updated

4 months ago
Product: Core → Firefox Build System
You need to log in before you can comment on or make changes to this bug.