Crash on startup when compiled with '--enable-optimize="-O2 -GA -favor:INTEL64"'

RESOLVED WONTFIX

Status

()

Core
XUL
RESOLVED WONTFIX
11 months ago
11 months ago

People

(Reporter: Alfred Peters, Unassigned)

Tracking

({regression})

52 Branch
Unspecified
Windows
regression
Points:
---

Firefox Tracking Flags

(firefox51 unaffected, firefox52 affected, firefox53 affected, firefox54 affected)

Details

(Reporter)

Description

11 months ago
User Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:54.0) Gecko/20100101 Firefox/54.0
Build ID: 20170225172546

Steps to reproduce:

I compile FF and TB with --enable-optimize="-O2 -GA -favor:INTEL64" for a long time.

(MSVS2015 on Windows 10)


Actual results:

But since a few days the programs do crash at the startup.
No crash report is generated.

If I remove the switch -GA, it works.

-GA stands for 'optimize for Windows-Application'
(Reporter)

Comment 1

11 months ago
With a debug build I get in the console the messages:

| [6192] ###!!! ASSERTION: missing ordering entry: 'proposed', file s:\Output\ff-deb\dist\include\mozilla/DeadlockDetector.h, line 235
| [6192] ###!!! ASSERTION: missing ordering entry: 'current', file s:\Output\ff-deb\dist\include\mozilla/DeadlockDetector.h, line 238

then the Dialog:
| Unhandled exception thrown: read access violation.
| aItem was 0x10.

and the stacktrace:
>	xul.dll!nsTArray_Impl<mozilla::BlockingResourceBase const * __ptr64,nsTArrayInfallibleAllocator>::AppendElement<mozilla::BlockingResourceBase const * __ptr64 & __ptr64,nsTArrayInfallibleAllocator>(const mozilla::BlockingResourceBase * & aItem) Line 2239	C++
 	xul.dll!mozilla::DeadlockDetector<mozilla::BlockingResourceBase>::CheckAcquisition(const mozilla::BlockingResourceBase * aLast=0x000001d2ecb094a0, const mozilla::BlockingResourceBase * aProposed=0x000001d2ecb09540) Line 250	C++
 	xul.dll!mozilla::BlockingResourceBase::CheckAcquire() Line 278	C++
 	xul.dll!mozilla::OffTheBooksMutex::Lock() Line 382	C++
 	xul.dll!ThreadSelected(const char * aThreadName=0x000001d2ecb03290) Line 1467	C++
 	xul.dll!RegisterCurrentThread(const char * aName=0x00007fff17854948, PseudoStack * aPseudoStack=0x000001d2ecb5f000, bool aIsMainThread, void * stackTop=0x0000000bc6fff518) Line 1521	C++
 	xul.dll!profiler_init(void * stackTop=0x0000000bc6fff518) Line 1574	C++
 	xul.dll!XREMain::XRE_main(int argc=1, char * * argv=0x000001d2ecb03040, const mozilla::BootstrapConfig & aConfig={...}) Line 4541	C++
 	xul.dll!XRE_main(int argc=1, char * * argv=0x000001d2ecb03040, const mozilla::BootstrapConfig & aConfig={...}) Line 4745	C++
 	firefox.exe!do_main(int argc=1, char * * argv=0x000001d2ecb03040, char * * envp=0x000001d2ec75d1b0) Line 238	C++
 	firefox.exe!NS_internal_main(int argc=1, char * * argv=0x000001d2ecb03040, char * * envp=0x000001d2ec75d1b0) Line 310	C++
 	firefox.exe!wmain(int argc, wchar_t * * argv=0xffffffffffc53540) Line 118	C++
 	[External Code]
Component: Untriaged → XUL
OS: Unspecified → Windows
Product: Firefox → Core
(Reporter)

Comment 2

11 months ago
My last good is BuildID=20170214182005 CET
Rev: Mozilla-Central:fc9f6f7e8e86

After that, I had to install Rust, which I have just done.

Updated

11 months ago
status-firefox51: --- → unaffected
status-firefox52: --- → unaffected
status-firefox53: --- → unaffected
status-firefox54: --- → affected
tracking-firefox54: --- → ?
Keywords: regression

Comment 3

11 months ago
Alfred, do you have the rev number of the first bad build, it would help to get a regression pushlog from mmozilla-central?
Flags: needinfo?(infofrommozilla)
(Reporter)

Comment 4

11 months ago
Not really. My first build after 10 days was with the
Rev: be661bae6cb9
Flags: needinfo?(infofrommozilla)
(Reporter)

Comment 5

11 months ago
(In reply to Loic from comment #3)
> Alfred, do you have the rev number of the first bad build, it would help to
> get a regression pushlog from mmozilla-central?

Ok, here it is:

last good: 343409 (466565fa382a)
first bad: 343410 (debb1b927f6a)

Bug 1324130 - use __declspec(thread) instead of Tls calls in pixman on Windows.
https://hg.mozilla.org/mozilla-central/rev/debb1b927f6a
Blocks: 1324130
Has Regression Range: --- → yes

Updated

11 months ago
Status: UNCONFIRMED → NEW
status-firefox52: unaffected → affected
status-firefox53: unaffected → affected
tracking-firefox52: --- → ?
tracking-firefox53: --- → ?
Ever confirmed: true
Flags: needinfo?(lsalzman)
Version: Trunk → 52 Branch

Comment 6

11 months ago
MSDN is quite clear that using -GA with a DLL is not going to work: "Using /GA for a DLL can result in bad code generation."

https://msdn.microsoft.com/en-us/library/yetwazx6.aspx

Don't use this flag when building.
Status: NEW → RESOLVED
Last Resolved: 11 months ago
Flags: needinfo?(lsalzman)
Resolution: --- → WONTFIX

Comment 7

11 months ago
Flags removed.
tracking-firefox52: ? → ---
tracking-firefox53: ? → ---
tracking-firefox54: ? → ---
You need to log in before you can comment on or make changes to this bug.