Closed Bug 773724 Opened 12 years ago Closed 12 years ago

XPCOM preloads delay load modules on Windows

Categories

(Core :: Widget: Win32, defect)

x86_64
Windows 8.1
defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla17

People

(Reporter: jimm, Assigned: glandium)

Details

(Whiteboard: completed-elm)

Attachments

(1 file, 2 obsolete files)

Really weird behavior now that we include vccorlib110 in our distribution. This doesn't get in the way of running the app, but it does generate an error that you can dismiss. There are some hackish ways around this but I'd like to try and understand why windows is temporarily loading a delay load module when it shouldn't.

'firefox.exe' (Win32): Loaded 'C:\Users\jim\Desktop\firefox\msvcp110.dll'.
'firefox.exe' (Win32): Loaded 'C:\Users\jim\Desktop\firefox\gkmedias.dll'.
'firefox.exe' (Win32): Loaded 'C:\Windows\SysWOW64\msdmo.dll'. Symbols loaded.
'firefox.exe' (Win32): Loaded 'C:\Windows\SysWOW64\msimg32.dll'. Symbols loaded.
'firefox.exe' (Win32): Loaded 'C:\Users\jim\Desktop\firefox\vccorlib110.dll'.
'firefox.exe' (Win32): Unloaded 'C:\Users\jim\Desktop\firefox\vccorlib110.dll'
'firefox.exe' (Win32): Loaded 'C:\Users\jim\Desktop\firefox\xul.dll'.
'firefox.exe' (Win32): Loaded 'C:\Windows\SysWOW64\version.dll'. Symbols loaded.
'firefox.exe' (Win32): Loaded 'C:\Windows\SysWOW64\IPHLPAPI.DLL'. Symbols loaded.
'firefox.exe' (Win32): Loaded 'C:\Windows\SysWOW64\winnsi.dll'. Symbols loaded.
'firefox.exe' (Win32): Loaded 'C:\Windows\SysWOW64\uxtheme.dll'. Symbols loaded.
'firefox.exe' (Win32): Loaded 'C:\Windows\SysWOW64\setupapi.dll'. Symbols loaded.
'firefox.exe' (Win32): Loaded 'C:\Windows\SysWOW64\cfgmgr32.dll'. Symbols loaded.
'firefox.exe' (Win32): Loaded 'C:\Windows\SysWOW64\devobj.dll'. Symbols loaded.
'firefox.exe' (Win32): Loaded 'C:\Users\jim\Desktop\firefox\dummyvccorlib.dll'.
Attached patch patch (obsolete) — Splinter Review
Turns out this isn't Windows, it's our preloading logic in xpcomglue which loads a list of dependency libs on startup, including vccorlib110.dll.
Assignee: nobody → jmathies
Attached patch patch (obsolete) — Splinter Review
w/needed make logic
Attachment #642702 - Attachment is obsolete: true
https://hg.mozilla.org/projects/elm/rev/bf5acae0c984

testing this on elm first to be sure it's working as expected.
Whiteboard: completed-elm
Comment on attachment 642712 [details] [diff] [review]
patch

Slight enhancement to dependentlibs.py which allows callers to filter certain libs out of the resulting list. We use this on Win8 to avoid loading a delay load module which will fail to load on os < Win8.
Attachment #642712 - Flags: review?(mh+mozilla)
Jim, can you test this?
Attachment #642888 - Flags: review?(ted.mielczarek)
Assignee: jmathies → mh+mozilla
Comment on attachment 642712 [details] [diff] [review]
patch

Better not to rely on manual work when the required data is already there in the dlls.
Attachment #642712 - Flags: review?(mh+mozilla) → review-
Comment on attachment 642712 [details] [diff] [review]
patch

Yes, that seems to do the trick.
Attachment #642712 - Attachment is obsolete: true
Attachment #642888 - Flags: review?(ted.mielczarek) → review+
Summary: Windows loader still loads vccorlib110 if it's present on Win7 → XPCOM preloads delay load modules on Windows
https://hg.mozilla.org/mozilla-central/rev/41f7e82c794c
Status: NEW → RESOLVED
Closed: 12 years ago
Resolution: --- → FIXED
OS: Windows 8 Metro → Windows 8.1
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: