Closed Bug 1237463 Opened 5 years ago Closed 5 years ago

LSPAnnotator enhancements and bug fixes

Categories

(Core :: Widget: Win32, defect)

Unspecified
Windows
defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla47
Tracking Status
firefox46 --- affected
firefox47 --- fixed

People

(Reporter: aklotz, Assigned: aklotz)

Details

Attachments

(1 file, 1 obsolete file)

When investigating an LSP crash, I noticed that we are missing some very useful information from the LSP annotations.
Version: 43 Branch → Trunk
Attached patch Patch (obsolete) — Splinter Review
This patch adds the following additional data for each protocol entry:

- Address family;
- Protocol;
- Service flags;
- Provider flags;
- Category flags (if available);
- Provider GUID (if the provider is a base or layer provider, not a chain)

The output always includes the separators for the optional fields even if they're not populated in order to make the annotation easier to parse.

I also fixed a bug where we would sometimes fail to retrieve the path to the LSP binary.
Attachment #8704876 - Flags: review?(jmathies)
Comment on attachment 8704876 [details] [diff] [review]
Patch

Review of attachment 8704876 [details] [diff] [review]:
-----------------------------------------------------------------

::: widget/windows/LSPAnnotator.cpp
@@ +116,5 @@
> +    // Windows as to which order to chain the providers.
> +    nsModuleHandle ws2_32(LoadLibraryW(L"ws2_32.dll"));
> +    if (ws2_32) {
> +      WSCGetProviderInfoFnPtr pWSCGetProviderInfo = (WSCGetProviderInfoFnPtr)
> +        GetProcAddress(ws2_32, "WSCGetProviderInfo");

How about using decltype here, something like -

decltype(WSCGetProviderInfo)* pWSCGetProviderInfo = (decltype(WSCGetProviderInfo)*) GetProcAddress(ws2_32, "WSCGetProviderInfo");

and then you can get rid of the typedef up above.
Attachment #8704876 - Flags: review?(jmathies) → review+
Attached patch Patch (r2)Splinter Review
Revised with jimm's suggestions. Carrying forward r+.
Attachment #8704876 - Attachment is obsolete: true
Attachment #8705485 - Flags: review+
https://hg.mozilla.org/mozilla-central/rev/e5a4787cccce
Status: ASSIGNED → RESOLVED
Closed: 5 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla46
I had to back this out in https://hg.mozilla.org/mozilla-central/rev/0f363ae95dc9 because it apparently caused a huge spike in Win8 debug Cpp test failures.

The failures are all hitting different tests, but they all seem to end in "test failed with return code 2147483651"
Status: RESOLVED → REOPENED
Flags: needinfo?(aklotz)
Resolution: FIXED → ---
Target Milestone: mozilla46 → ---
This was caused by bug 1204784.
Flags: needinfo?(aklotz)
https://hg.mozilla.org/mozilla-central/rev/8fdeee3bdee6
Status: REOPENED → RESOLVED
Closed: 5 years ago5 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla46
Target Milestone: mozilla46 → mozilla47
You need to log in before you can comment on or make changes to this bug.