Closed Bug 1628628 Opened 4 years ago Closed 4 years ago

Perma Windows asan tier-3 TestDllBlocklist.NoOpEntryPoint | Value of: !!hDll

Categories

(Firefox :: Launcher Process, defect, P5)

defect

Tracking

()

RESOLVED FIXED
Firefox 77
Tracking Status
firefox74 --- unaffected
firefox75 --- unaffected
firefox76 --- unaffected
firefox77 --- fixed

People

(Reporter: intermittent-bug-filer, Assigned: toshi)

References

(Regression)

Details

(Keywords: intermittent-failure, regression)

Attachments

(1 file)

Filed by: archaeopteryx [at] coole-files.de
Parsed log: https://treeherder.mozilla.org/logviewer.html#?job_id=296845006&repo=autoland
Full log: https://firefox-ci-tc.services.mozilla.com/api/queue/v1/task/PkJMu4bbQ0OOVyrE-xCNcA/runs/0/artifacts/public/logs/live_backing.log


Started with bug 1603974's patches.

[task 2020-04-08T21:27:59.518Z] 21:27:59 INFO - TEST-START | TestDllBlocklist.NoOpEntryPoint
[task 2020-04-08T21:27:59.518Z] 21:27:59 INFO - LdrLoadDll: Blocking load of 'testdllblocklist_noopentrypoint.dll' -- see http://www.mozilla.com/en-US/blocklist/
[task 2020-04-08T21:27:59.519Z] 21:27:59 WARNING - TEST-UNEXPECTED-FAIL | TestDllBlocklist.NoOpEntryPoint | Value of: !!hDll
[task 2020-04-08T21:27:59.519Z] 21:27:59 INFO - Actual: false
[task 2020-04-08T21:27:59.519Z] 21:27:59 INFO - Expected: true @ z:/build/build/src/mozglue/tests/gtest/TestDLLBlocklist.cpp:82
[task 2020-04-08T21:27:59.519Z] 21:27:59 WARNING - TEST-UNEXPECTED-FAIL | TestDllBlocklist.NoOpEntryPoint | Value of: !!::GetModuleHandleW(kLeafName.get())
[task 2020-04-08T21:27:59.519Z] 21:27:59 INFO - Actual: false
[task 2020-04-08T21:27:59.519Z] 21:27:59 INFO - Expected: true @ z:/build/build/src/mozglue/tests/gtest/TestDLLBlocklist.cpp:83
[task 2020-04-08T21:27:59.519Z] 21:27:59 WARNING - TEST-UNEXPECTED-FAIL | TestDllBlocklist.NoOpEntryPoint | test completed (time: 2ms)

Has Regression Range: --- → yes
Keywords: regression

With ASAN, TestDllBlocklist uses mozglue!patched_LdrLoadDll, where RedirectToNoOpEntryPoint behaves the same as DllBlocklistEntry, thus LoadLibrary returned nullptr. Given that the old blocklist cannot block a module in a process's early stage, I think this behavior is ok. We need to adjust the test.

Flags: needinfo?(tkikuchi)

With ASAN, GTest uses the old blocklist implemented in mozglue, where
the new blocklist type RedirectToNoOpEntryPoint behaves the same as
DllBlocklistEntry. The test needs to expect LoadLibrary to fail.

Assignee: nobody → tkikuchi
Status: NEW → ASSIGNED
Pushed by ncsoregi@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/b2cf7e6e5a35
RedirectToNoOpEntryPoint is expected to block a module with ASAN.  r=mhowell

The reason why ASAN build picks the old blocklist is this; we purposely make InitializeDllBlocklistOOP no-op in ASAN build.

Status: ASSIGNED → RESOLVED
Closed: 4 years ago
Resolution: --- → FIXED
Target Milestone: --- → Firefox 77
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: