Add a test for the startup/shutdown of the JobScheduler

RESOLVED FIXED in Firefox 46

Status

()

Core
Graphics
RESOLVED FIXED
3 years ago
7 months ago

People

(Reporter: nical, Assigned: nical)

Tracking

(Blocks: 1 bug)

unspecified
mozilla46
Points:
---

Firefox Tracking Flags

(firefox46 fixed)

Details

Attachments

(2 attachments)

(Assignee)

Description

3 years ago
A lot of the issues I have encountered while implementing the scheduler are shutdown-related so it's worth having a specific test for that.
(Assignee)

Comment 1

3 years ago
Created attachment 8707405 [details] [diff] [review]
add a test that just starts up and shuts down the scheduler a few thousand times
Assignee: nobody → nical.bugzilla
Attachment #8707405 - Flags: review?(jmuizelaar)
(Assignee)

Updated

3 years ago
Blocks: 1239292
Backed out for GTest bustage: https://hg.mozilla.org/integration/mozilla-inbound/rev/61925243d224

05:49:10     INFO -  TEST-START | Moz2D.JobScheduler_Shutdown
05:49:12     INFO -  mozcrash INFO | Downloading symbols from: https://queue.taskcluster.net/v1/task/eV-m9LjuTrOJYXwxDLpNdA/artifacts/public/build/firefox-46.0a1.en-US.win32.crashreporter-symbols.zip
05:49:17     INFO -  mozcrash INFO | Copy/paste: C:\slave\test\build\win32-minidump_stackwalk.exe C:\slave\test\build\tests\gtest\39e28d7a-85e8-4c63-a455-2aa0b90805b9.dmp c:\users\cltbld\appdata\local\temp\tmpmcvrzl
05:49:19     INFO -  mozcrash INFO | Saved minidump as C:\slave\test\build\blobber_upload_dir\39e28d7a-85e8-4c63-a455-2aa0b90805b9.dmp
05:49:19     INFO -  mozcrash INFO | Saved app info as C:\slave\test\build\blobber_upload_dir\39e28d7a-85e8-4c63-a455-2aa0b90805b9.extra
05:49:19  WARNING -  PROCESS-CRASH | gtest | application crashed [@ RtlpNotOwnerCriticalSection + 0xb8]
05:49:19     INFO -  Crash dump filename: C:\slave\test\build\tests\gtest\39e28d7a-85e8-4c63-a455-2aa0b90805b9.dmp
05:49:19     INFO -  Operating system: Windows NT
05:49:19     INFO -                    6.1.7601 Service Pack 1
05:49:19     INFO -  CPU: x86
05:49:19     INFO -       GenuineIntel family 6 model 30 stepping 5
05:49:19     INFO -       8 CPUs
05:49:19     INFO -  Crash reason:  0xc0000264 / 0x00000001
05:49:19     INFO -  Crash address: 0x77a216ea
05:49:19     INFO -  Process uptime: 134 seconds
05:49:19     INFO -  Thread 26 (crashed)
05:49:19     INFO -   0  ntdll.dll!RtlpNotOwnerCriticalSection + 0xb8
05:49:19     INFO -      eip = 0x77a216ea   esp = 0x0cc2fa7c   ebp = 0x0cc2faa4   ebx = 0xe5e5e5e6
05:49:19     INFO -      esi = 0x08ded6a8   edi = 0x08ded6ac   eax = 0x7657ed38   ecx = 0x0cc2fa19
05:49:19     INFO -      edx = 0x779c70b4   efl = 0x00000202
05:49:19     INFO -      Found by: given as instruction pointer in context
05:49:19     INFO -   1  ntdll.dll!zzz_AsmCodeRange_Begin + 0x50eb
05:49:19     INFO -      eip = 0x77a01f2b   esp = 0x0cc2faac   ebp = 0x0cc2faa4   ebx = 0xe5e5e5e6
05:49:19     INFO -      Found by: call frame info
05:49:19     INFO -  Thread 0
05:49:19     INFO -   0  ntdll.dll!KiFastSystemCallRet + 0x0
05:49:19     INFO -      eip = 0x779c70b4   esp = 0x0041f5cc   ebp = 0x0041f638   ebx = 0x00000000
05:49:19     INFO -      esi = 0x000004e8   edi = 0x00000000   eax = 0x08ded70c   ecx = 0x08ded700
05:49:19     INFO -      edx = 0x00000002   efl = 0x00000246
05:49:19     INFO -      Found by: given as instruction pointer in context
05:49:19     INFO -   1  ntdll.dll!NtWaitForSingleObject + 0xc
05:49:19     INFO -      eip = 0x779c6a24   esp = 0x0041f5d0   ebp = 0x0041f638
05:49:19     INFO -      Found by: call frame info
05:49:19     INFO -   2  KERNELBASE.dll!WaitForSingleObjectEx + 0x6c
05:49:19     INFO -      eip = 0x75d2179c   esp = 0x0041f5d4   ebp = 0x0041f638
05:49:19     INFO -      Found by: call frame info
05:49:19     INFO -   3  kernel32.dll!WaitForSingleObjectExImplementation + 0x43
05:49:19     INFO -      eip = 0x7656baf3   esp = 0x0041f640   ebp = 0x0041f650
05:49:19     INFO -      Found by: call frame info
05:49:19     INFO -   4  kernel32.dll!WaitForSingleObject + 0x12
05:49:19     INFO -      eip = 0x7656baa2   esp = 0x0041f658   ebp = 0x0041f664
05:49:19     INFO -      Found by: call frame info
05:49:19     INFO -   5  xul.dll + 0x672242
05:49:19     INFO -      eip = 0x64022242   esp = 0x0041f66c   ebp = 0x0041f680
05:49:19     INFO -      Found by: call frame info
05:49:19     INFO -   6  xul.dll + 0x6a292f
05:49:19     INFO -      eip = 0x6405292f   esp = 0x0041f688   ebp = 0x0041f69c
05:49:19     INFO -      Found by: previous frame's frame pointer
05:49:19     INFO -   7  xul.dll + 0x113057
05:49:19     INFO -      eip = 0x63ac3057   esp = 0x0041f6a4   ebp = 0x0041f6dc
05:49:19     INFO -      Found by: previous frame's frame pointer
05:49:19     INFO -   8  xul.dll + 0xe0f9e
05:49:19     INFO -      eip = 0x63a90f9e   esp = 0x0041f6e4   ebp = 0x0041f714
05:49:19     INFO -      Found by: previous frame's frame pointer
05:49:19     INFO -   9  xul.dll + 0xe1047
05:49:19     INFO -      eip = 0x63a91047   esp = 0x0041f71c   ebp = 0x0041f734
05:49:19     INFO -      Found by: previous frame's frame pointer
05:49:19     INFO -  10  xul.dll + 0xe1360
05:49:19     INFO -      eip = 0x63a91360   esp = 0x0041f73c   ebp = 0x0041f760
05:49:19     INFO -      Found by: previous frame's frame pointer
05:49:19     INFO -  11  xul.dll + 0xd9daa
05:49:19     INFO -      eip = 0x63a89daa   esp = 0x0041f768   ebp = 0x0041f794
05:49:19     INFO -      Found by: previous frame's frame pointer
05:49:19     INFO -  12  xul.dll + 0xe11bd
05:49:19     INFO -      eip = 0x63a911bd   esp = 0x0041f79c   ebp = 0x0041f7e4
05:49:19     INFO -      Found by: previous frame's frame pointer
05:49:19     INFO -  13  xul.dll + 0x15861de
05:49:19     INFO -      eip = 0x64f361de   esp = 0x0041f7ec   ebp = 0x0041f888
05:49:19     INFO -      Found by: previous frame's frame pointer
05:49:19     INFO -  14  xul.dll + 0x15848a9
05:49:19     INFO -      eip = 0x64f348a9   esp = 0x0041f890   ebp = 0x0041f8a8
05:49:19     INFO -      Found by: previous frame's frame pointer
05:49:19     INFO -  15  xul.dll + 0x1586992
05:49:19     INFO -      eip = 0x64f36992   esp = 0x0041f8b0   ebp = 0x0041f9bc
05:49:19     INFO -      Found by: previous frame's frame pointer
05:49:19     INFO -  16  firefox.exe!do_main [nsBrowserApp.cpp:a6a59129ac7c : 212 + 0x1c]
05:49:19     INFO -      eip = 0x001821d5   esp = 0x0041f9c4   ebp = 0x0041fb58
05:49:19     INFO -      Found by: previous frame's frame pointer
05:49:19     INFO -  17  firefox.exe!NS_internal_main(int,char * *) [nsBrowserApp.cpp:a6a59129ac7c : 352 + 0xc]
05:49:19     INFO -      eip = 0x00181c5a   esp = 0x0041fb60   ebp = 0x0041fbfc
05:49:19     INFO -      Found by: call frame info
05:49:19     INFO -  18  firefox.exe!wmain [nsWindowsWMain.cpp:a6a59129ac7c : 131 + 0x7]
05:49:19     INFO -      eip = 0x001824b6   esp = 0x0041fc04   ebp = 0x0041fc30
05:49:19     INFO -      Found by: call frame info
05:49:19     INFO -  19  firefox.exe!__tmainCRTStartup [crt0.c : 255 + 0x12]
05:49:19     INFO -      eip = 0x00182f9f   esp = 0x0041fc38   ebp = 0x0041fc78
05:49:19     INFO -      Found by: call frame info
05:49:19     INFO -  20  kernel32.dll!BaseThreadInitThunk + 0x12
05:49:19     INFO -      eip = 0x76573c45   esp = 0x0041fc80   ebp = 0x0041fc84
05:49:19     INFO -      Found by: call frame info
05:49:19     INFO -  21  ntdll.dll!__RtlUserThreadStart + 0x27
05:49:19     INFO -      eip = 0x779e37f5   esp = 0x0041fc8c   ebp = 0x0041fcc4
05:49:19     INFO -      Found by: call frame info
05:49:19     INFO -  22  ntdll.dll!_RtlUserThreadStart + 0x1b
05:49:19     INFO -      eip = 0x779e37c8   esp = 0x0041fccc   ebp = 0x0041fcdc
05:49:19     INFO -      Found by: call frame info
Flags: needinfo?(nical.bugzilla)
(Assignee)

Comment 4

3 years ago
Created attachment 8708329 [details] [diff] [review]
Don't touch mSection after setting mShutdownEvent

RAII made this a bit too easy to overlook, but once mShutdownEvent is set the queue can get deleted concurrently at any time on the main thread so we have to make sure members like mSection aren't touched past that point.
Flags: needinfo?(nical.bugzilla)
Attachment #8708329 - Flags: review?(jmuizelaar)

Comment 6

3 years ago
bugherder
https://hg.mozilla.org/mozilla-central/rev/f17ebbb06ea1
https://hg.mozilla.org/mozilla-central/rev/9bb1872a676c
Status: NEW → RESOLVED
Last Resolved: 3 years ago
status-firefox46: --- → fixed
Resolution: --- → FIXED
Target Milestone: --- → mozilla46
See Also: → bug 1418255
You need to log in before you can comment on or make changes to this bug.