Closed Bug 1505139 Opened 6 years ago Closed 6 years ago

Tolerate getenv races in JPEG library initialization

Categories

(Core Graveyard :: Web Replay, enhancement)

enhancement
Not set
normal

Tracking

(firefox65 fixed)

RESOLVED FIXED
mozilla65
Tracking Status
firefox65 --- fixed

People

(Reporter: bhackett1024, Assigned: bhackett1024)

References

Details

Attachments

(1 file)

Attached patch patchSplinter Review
JPEG library initialization can race when multiple threads compete to perform the initialization --- see the 'FIXME: This code is racy under a multi-threaded environment' comment in media/libjpeg/simd/i386/jsimd.c. While these races are benign, when recording/replaying them we can get calls to getenv on unpredictable threads, leading to mismatches with the recording and crashes. Since these races are benign, a proper solution here would be to tolerate getenv calls happening unpredictably during replay. Technically that is tricky, and for now it seems better to special case this behavior. The attached patch watches for getenv calls on the environment variables checked during JPEG initialization (which turn features on or off, for testing I guess), and forces those getenv calls to return null without accessing the recording.
Attachment #9023061 - Flags: review?(lsmyth)
Attachment #9023061 - Flags: review?(lsmyth) → review+
Pushed by bhackett@mozilla.com: https://hg.mozilla.org/integration/mozilla-inbound/rev/218da4526e22 Tolerate getenv races in JPEG library initialization, r=lsmyth.
Status: NEW → RESOLVED
Closed: 6 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla65
Product: Core → Core Graveyard
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: