Closed Bug 1137609 Opened 5 years ago Closed 5 years ago

The Procedure entry point GetLogicalProcessorInformation could not be located in the dynamic link library Kernel32.dll for XP users after update to Firefox 36

Categories

(Firefox Build System :: General, defect, major)

36 Branch
x86
Windows XP
defect
Not set
major

Tracking

(firefox36+ fixed, firefox37 fixed, firefox38 fixed, firefox39 fixed)

RESOLVED FIXED
mozilla39
Tracking Status
firefox36 + fixed
firefox37 --- fixed
firefox38 --- fixed
firefox39 --- fixed

People

(Reporter: philipp, Assigned: dmajor)

References

Details

Attachments

(1 file, 1 obsolete file)

a small number of windows xp users (sp2 & sp3 as well) are reporting that they cannot launch firefox after the update to version 36 as it only produces an error message on startup:

firefox.exe - entry point not found 
The Procedure entry point GetLogicalProcessorInformation could not be located in the dynamic link library Kernel32.dll

in conversation on irc it was asked that the users produce a crash report from their affected system - this is one from a user who followed up on it: 
https://crash-stats.mozilla.com/report/index/6384bb2a-2428-4332-9e33-6f9ee2150227

for reference, those are the threads in sumo about this issue: http://mzl.la/1DxMxT8
[Tracking Requested - why for this release]:

[Tracking Requested - why for this release]: this might be a regression from Bug 1023941 with major impact for affected users since they cannot start firefox anymore.
Flags: needinfo?(dmajor)
So, for that particular person on that particular crash:
- The system version is claimed to be SP3
- Most libraries are version 5.1.2600.2180, which is SP2.

IOW, their system is a mixbag of SP2 and SP3.

The code added in bug 1023941 applies the patch for GetLogicalProcessorInformation if the detected system is SP2, not SP3...

So I guess we should check the kernel32.dll version instead...
Ironically, the VerifyVersionInfo function that is being used for the version check, comes from kernel32.dll... but it must be asking the actual kernel, not relying on its own version.
Note that this means we can tell at least some of these people that they should re-apply the service pack.
It would be good to get a crash report from one of the persons saying they are using SP2, because this surely should be working on SP2. Maybe Firefox sees those as SP3 too.
Important issue, tracking.

FYI, there is also bug 1136775 about Windows XP SP2.
Status: NEW → RESOLVED
Closed: 5 years ago
Resolution: --- → DUPLICATE
Duplicate of bug: 1136775
It's *not* the same issue.
Status: RESOLVED → REOPENED
Resolution: DUPLICATE → ---
Status: REOPENED → NEW
Yes, sorry, that was a typo (initially, I though it was the same bug but noticed it was different but didn't remove the duplicate operation). Sorry.
Apparently bug 1023941 fails to patch the CRT somehow.
Blocks: 1023941
Robert, could you help on this?
Flags: needinfo?(robert.strong.bugs)
only could obtain one crash report from another affected user on xp sp3 which shows the same picture:
https://crash-stats.mozilla.com/report/index/5032294c-3b1e-4a50-a805-afb552150228
(In reply to philipp from comment #11)
> only could obtain one crash report from another affected user on xp sp3
> which shows the same picture:
> https://crash-stats.mozilla.com/report/index/5032294c-3b1e-4a50-a805-
> afb552150228

Yep, it's claiming to be SP3 but has a SP2 kernel32.dll.
The easy way forward here would be to apply the crt patch for all XP versions. A more involved way forward is to check the kernel32.dll version instead of the XP version.

Either way, if for the people claiming to be on SP2, Firefox sees SP2, there is another problem, but we'd need a crash report to know for sure.
(In reply to Mike Hommey [:glandium] from comment #13)
> The easy way forward here would be to apply the crt patch for all XP
> versions.

It might bring some other bugs (such as bug 1136775 or bug 1138070) into genuine XP SP3 environments.
(In reply to Sylvestre Ledru [:sylvestre] from comment #10)
> Robert, could you help on this?
My plate is full and this would be better owned by dmajor etc.
Flags: needinfo?(robert.strong.bugs)
I don't think we'll get the right answers from the kernel32 version. Looking through random crash reports I see some "SP2" kernel32.dll's at 5.1.2600.6293 and some "SP3" kernel32.dll's at 5.1.2600.5781. Looks like a fully-patched SP2 might actually be higher version than an old SP3 (but from a different code branch), and I don't trust that they'd both have GetLogicalProcessorInformation.

I am leaning towards installing the hook on all XP's.

(In reply to Masatoshi Kimura [:emk] from comment #14)
> It might bring some other bugs (such as bug 1136775 or bug 1138070) into
> genuine XP SP3 environments.

I really doubt it was the hook code that caused those issues.
Flags: needinfo?(dmajor)
(In reply to David Major [:dmajor] (UTC+13) from comment #16)
> I don't think we'll get the right answers from the kernel32 version. Looking
> through random crash reports I see some "SP2" kernel32.dll's at
> 5.1.2600.6293 and some "SP3" kernel32.dll's at 5.1.2600.5781. Looks like a
> fully-patched SP2 might actually be higher version than an old SP3 (but from
> a different code branch), and I don't trust that they'd both have
> GetLogicalProcessorInformation.

Presumably, we can get the symbols for all these kernel32.dll versions and check. Probably not worth the effort, though.
Attached patch Use the hook on all XP versions (obsolete) — Splinter Review
Assignee: nobody → dmajor
Attachment #8571748 - Flags: review?(mh+mozilla)
Attachment #8571748 - Flags: review?(mh+mozilla) → review+
And backed out because I have a better idea. Let's test GetProcAddress.
https://hg.mozilla.org/integration/mozilla-inbound/rev/b7cdf1cf0939
(I would not normally check the result of that GetModuleHandle, but if this may go to m-r, let's be paranoid)
Attachment #8571748 - Attachment is obsolete: true
Attachment #8571773 - Flags: review?(mh+mozilla)
Attachment #8571773 - Flags: review?(mh+mozilla) → review+
https://hg.mozilla.org/integration/mozilla-inbound/rev/b429cedbba79
I stepped through the code on machines with and without the export.
David, if that is ok with you, could you fill the uplift request so that we are ready? Thanks
Flags: needinfo?(dmajor)
(In reply to David Major [:dmajor] (UTC+13) from comment #16)
> (In reply to Masatoshi Kimura [:emk] from comment #14)
> > It might bring some other bugs (such as bug 1136775 or bug 1138070) into
> > genuine XP SP3 environments.
> 
> I really doubt it was the hook code that caused those issues.

Actually it was. See bug 1138070 comment #9.
> > I really doubt it was the hook code that caused those issues.
> Actually it was. See bug 1138070 comment #9.

Indeed it was; I stand corrected. We'll want to uplift bug 1138070 also.
Flags: needinfo?(dmajor)
Comment on attachment 8571773 [details] [diff] [review]
Test for the missing export because we can't trust the version

Please note, we'll also need to take bug 1138070 to make this fix complete.

Approval Request Comment
[Feature/regressing bug #]: bug 1023941
[User impact if declined]: Can't load FF on franken-installs of Windows XP that claim to be SP3 but have SP2 binaries
[Describe test coverage new/current, TreeHerder]: 
[Risks and why]: This change itself should be low risk as it is scoped to just the installs that need it. However, for IME users, this change will take them from "can't load FF" to "can load, but can't use IME". To get those users all the way to "fixed" we will need bug 1138070.
[String/UUID change made/needed]: none
Attachment #8571773 - Flags: approval-mozilla-release?
Attachment #8571773 - Flags: approval-mozilla-beta?
Attachment #8571773 - Flags: approval-mozilla-aurora?
https://hg.mozilla.org/mozilla-central/rev/b429cedbba79
Status: NEW → RESOLVED
Closed: 5 years ago5 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla39
Attachment #8571773 - Flags: approval-mozilla-release?
Attachment #8571773 - Flags: approval-mozilla-release+
Attachment #8571773 - Flags: approval-mozilla-beta?
Attachment #8571773 - Flags: approval-mozilla-beta+
Attachment #8571773 - Flags: approval-mozilla-aurora?
Attachment #8571773 - Flags: approval-mozilla-aurora+
Product: Core → Firefox Build System
You need to log in before you can comment on or make changes to this bug.