The Pale Moon Project - Custom-built and optimized Firefox browsers for Windows Operating Systems

[ <-- Back ]

PR bug 20110406 [reopened-devonly]

Crash condition on certain pages when trying to print or print preview.

Reporters: Kevin Lubick, Guy Simmons, Stephen Cohen

Affects the following:

Functions: File -> Print, File -> Print preview.
Builds: All 4.0 dev builds except x64. Released builds don't have this crash condition (trial&error).

Cause: Compiler issue when using PGO combined with SSE2. Also possibly related to Bug 647792

The linking phase when combining PGO with SSE2 causes memory access errors in certain conditions. This is (yet another) compiler bug in MSVC :/ -- and it seems to be rather persistent and random, some builds are successful, hit-and-miss.
As a result, specific conditions present in collecting the page data to prepare for printing results in an invalid memory access (usually in protected system memory), crashing the browser or closing it to desktop silently.

Re-build, disabling SSE2 specifically for affected modules.
The consequence will be a performance hit for the functions with SSE2 instructions disabled. On the whole, this should not be significant; vector calculations are usually not needed for printing.

1) Find the affected modules.
Progress: ruled out so far: JS, jemalloc, mozalloc
Likely candidates: embedding/components/printinggui and /layout/printing/* (next up)
2) Edit makefile with CXXFLAGS := $(CXXFLAGS:arch:SSE2=arch:SSE) or even filter-out if SSE is a problem as well.

[ <-- Back ]

Site and contents © 2009-2017 Moonchild Productions - All rights reserved
Pale Moon is subject to the following licensing.
Policies: Cookies - User Content - Privacy.