[socket process] Enable xpcshell tests for socket process
Categories
(Core :: Networking, task, P2)
Tracking
()
Tracking | Status | |
---|---|---|
firefox78 | --- | fixed |
People
(Reporter: kershaw, Assigned: kershaw)
References
(Blocks 1 open bug)
Details
(Whiteboard: [necko-triaged])
Attachments
(6 files, 4 obsolete files)
Currently, the socket process is disabled when e10s is not enabled.
This means that we are unable to run all unit tests in netwerk/test/unit/ for socket process.
Assignee | ||
Updated•5 years ago
|
Assignee | ||
Updated•5 years ago
|
Assignee | ||
Updated•5 years ago
|
Comment 1•5 years ago
|
||
(In reply to Kershaw Chang [:kershaw] from comment #0)
Currently, the socket process is disabled when e10s is not enabled.
This means that we are unable to run all unit tests in netwerk/test/unit/ for socket process.
So, does it work when e10s is enabled? Because if so, that would mean that tests in netwerk/test/unit_ipc/
are run, which normally just wrap the ones in netwerk/test/unit/
- I assume the problem is that we want to test main process things as with the regular unit tests, but exercise the codepaths of the socket process?
Assignee | ||
Comment 2•5 years ago
|
||
(In reply to Valentin Gosu [:valentin] (he/him) [PTO until Jan 6th] from comment #1)
(In reply to Kershaw Chang [:kershaw] from comment #0)
Currently, the socket process is disabled when e10s is not enabled.
This means that we are unable to run all unit tests in netwerk/test/unit/ for socket process.So, does it work when e10s is enabled? Because if so, that would mean that tests in
netwerk/test/unit_ipc/
are run, which normally just wrap the ones innetwerk/test/unit/
- I assume the problem is that we want to test main process things as with the regular unit tests, but exercise the codepaths of the socket process?
Yes, I think running regulat unit tests with socket process is really important. Tests in netwerk/test/unit_ipc/
are not enough.
Byron, could you remind me again why you added the code here?
Assignee | ||
Comment 3•5 years ago
|
||
Assignee | ||
Comment 4•5 years ago
|
||
Comment 5•5 years ago
|
||
(In reply to Kershaw Chang [:kershaw] from comment #2)
(In reply to Valentin Gosu [:valentin] (he/him) [PTO until Jan 6th] from comment #1)
(In reply to Kershaw Chang [:kershaw] from comment #0)
Currently, the socket process is disabled when e10s is not enabled.
This means that we are unable to run all unit tests in netwerk/test/unit/ for socket process.So, does it work when e10s is enabled? Because if so, that would mean that tests in
netwerk/test/unit_ipc/
are run, which normally just wrap the ones innetwerk/test/unit/
- I assume the problem is that we want to test main process things as with the regular unit tests, but exercise the codepaths of the socket process?Yes, I think running regulat unit tests with socket process is really important. Tests in
netwerk/test/unit_ipc/
are not enough.Byron, could you remind me again why you added the code here?
I think it was because none of the IPC interfaces worked when the parent process was calling API on the socket process. All of that API was written to be exposed to a content process.
Assignee | ||
Comment 6•5 years ago
|
||
(In reply to Byron Campen [:bwc] from comment #5)
(In reply to Kershaw Chang [:kershaw] from comment #2)
(In reply to Valentin Gosu [:valentin] (he/him) [PTO until Jan 6th] from comment #1)
(In reply to Kershaw Chang [:kershaw] from comment #0)
Currently, the socket process is disabled when e10s is not enabled.
This means that we are unable to run all unit tests in netwerk/test/unit/ for socket process.So, does it work when e10s is enabled? Because if so, that would mean that tests in
netwerk/test/unit_ipc/
are run, which normally just wrap the ones innetwerk/test/unit/
- I assume the problem is that we want to test main process things as with the regular unit tests, but exercise the codepaths of the socket process?Yes, I think running regulat unit tests with socket process is really important. Tests in
netwerk/test/unit_ipc/
are not enough.Byron, could you remind me again why you added the code here?
I think it was because none of the IPC interfaces worked when the parent process was calling API on the socket process. All of that API was written to be exposed to a content process.
I'm not sure which API is exposed to content process only. Maybe you can give me an example?
Comment 7•5 years ago
|
||
Everything in here:
https://searchfox.org/mozilla-central/source/dom/media/webrtc/PMediaTransport.ipdl
Note that all of the "parent" API runs on the socket process. If the parent process wanted to use that API, it would need to use it as a child, which I don't think works.
Assignee | ||
Comment 8•5 years ago
|
||
I'll come back to this when bug 1512471 is completed.
Updated•5 years ago
|
Assignee | ||
Comment 9•5 years ago
|
||
Comment 10•5 years ago
|
||
Comment 11•5 years ago
|
||
Backed out 3 changesets (bug 1602832) for assertion failing on IOInterposer.cpp
Backout link: https://hg.mozilla.org/integration/autoland/rev/b7b401010ae84a441fd15b800e26e1932a4fc462
Failure log: https://treeherder.mozilla.org/logviewer.html#/jobs?job_id=294032309&repo=autoland&lineNumber=338628
[task 2020-03-20T11:42:16.481Z] 11:42:16 INFO - TEST-START | SrtpParamInit/TransportSrtpParameterTest.TestSrtpCiphersMismatchCombinations/1
[task 2020-03-20T11:42:16.481Z] 11:42:16 INFO - Checking cipher: 8
[task 2020-03-20T11:42:16.481Z] 11:42:16 INFO - TEST-PASS | SrtpParamInit/TransportSrtpParameterTest.TestSrtpCiphersMismatchCombinations/1 | test completed (time: 224ms)
[task 2020-03-20T11:42:16.481Z] 11:42:16 INFO - TEST-START | SrtpParamInit/TransportSrtpParameterTest.TestSrtpCiphersMismatchCombinations/2
[task 2020-03-20T11:42:16.481Z] 11:42:16 INFO - Checking cipher: 1
[task 2020-03-20T11:42:16.481Z] 11:42:16 INFO - TEST-PASS | SrtpParamInit/TransportSrtpParameterTest.TestSrtpCiphersMismatchCombinations/2 | test completed (time: 399ms)
[task 2020-03-20T11:42:16.481Z] 11:42:16 INFO - TEST-PASS | GTest unit test: passed
[task 2020-03-20T11:42:16.481Z] 11:42:16 INFO - Passed: 4452
[task 2020-03-20T11:42:16.481Z] 11:42:16 INFO - Failed: 0
[task 2020-03-20T11:42:16.481Z] 11:42:16 INFO - [1706, Main Thread] WARNING: NS_ENSURE_SUCCESS_VOID(rv) failed with result 0x80070057: file /builds/worker/checkouts/gecko/extensions/permissions/nsPermissionManager.cpp, line 1664
[task 2020-03-20T11:42:16.481Z] 11:42:16 INFO - [1706, Main Thread] WARNING: '!gBaseDirPath', file /builds/worker/checkouts/gecko/dom/quota/ActorsParent.cpp, line 3188
[task 2020-03-20T11:42:16.481Z] 11:42:16 INFO - [1706, Main Thread] WARNING: profile-do-change must precede profile-before-change-qm!: file /builds/worker/checkouts/gecko/dom/quota/ActorsParent.cpp, line 3189
[task 2020-03-20T11:42:16.481Z] 11:42:16 INFO - Assertion failure: curThreadData, at /builds/worker/checkouts/gecko/xpcom/build/IOInterposer.cpp:516
[task 2020-03-20T11:42:43.284Z] 11:42:43 INFO - #01: nsThread::ThreadFunc(void*) [xpcom/threads/nsThread.cpp:491]
[task 2020-03-20T11:42:43.678Z] 11:42:43 INFO - #02: _pt_root [nsprpub/pr/src/pthreads/ptthread.c:204]
[task 2020-03-20T11:42:43.678Z] 11:42:43 INFO - #03: libsystem_pthread.dylib + 0x32eb
[task 2020-03-20T11:42:43.678Z] 11:42:43 INFO - #04: libsystem_pthread.dylib + 0x6249
[task 2020-03-20T11:42:43.679Z] 11:42:43 INFO - Finished running GTest tests.
Comment 12•5 years ago
|
||
Also seeing linux gtest crashes starting with the backed out chages:
https://treeherder.mozilla.org/#/jobs?repo=autoland&searchStr=gtest&tochange=1c9eb89172abbf4668dd27026053bc629fa90c15&fromchange=d70d390ee53c8cf38d305d999f3155fc56e5cc01&selectedJob=294062020
https://treeherder.mozilla.org/logviewer.html#/jobs?job_id=294062020&repo=autoland&lineNumber=340093
[task 2020-03-20T14:21:07.647Z] 14:21:07 INFO - TEST-START | SrtpParamInit/TransportSrtpParameterTest.TestSrtpCiphersMismatchCombinations/2
[task 2020-03-20T14:21:07.651Z] 14:21:07 INFO - Checking cipher: 1
[task 2020-03-20T14:21:07.868Z] 14:21:07 INFO - TEST-PASS | SrtpParamInit/TransportSrtpParameterTest.TestSrtpCiphersMismatchCombinations/2 | test completed (time: 213ms)
[task 2020-03-20T14:21:07.868Z] 14:21:07 INFO - TEST-PASS | GTest unit test: passed
[task 2020-03-20T14:21:07.868Z] 14:21:07 INFO - Passed: 4555
[task 2020-03-20T14:21:07.868Z] 14:21:07 INFO - Failed: 0
[task 2020-03-20T14:21:07.912Z] 14:21:07 INFO - Finished running GTest tests.
[task 2020-03-20T14:21:07.988Z] 14:21:07 INFO - gtest INFO | gtest | process wait complete, returncode=0
[task 2020-03-20T14:21:07.988Z] 14:21:07 INFO - mozcrash INFO | Downloading symbols from: https://firefox-ci-tc.services.mozilla.com/api/queue/v1/task/JgXBhfxrSQCXSegwavZRcg/artifacts/public/build/target.crashreporter-symbols.zip
[task 2020-03-20T14:21:12.228Z] 14:21:12 INFO - mozcrash INFO | Copy/paste: /builds/worker/fetches/minidump_stackwalk/minidump_stackwalk /builds/worker/workspace/build/tests/gtest/309a772e-f2db-4c09-99b2-8b34bee70951.dmp /tmp/tmpx2X2PS
[task 2020-03-20T14:21:17.130Z] 14:21:17 INFO - mozcrash INFO | Saved minidump as /builds/worker/workspace/build/blobber_upload_dir/309a772e-f2db-4c09-99b2-8b34bee70951.dmp
[task 2020-03-20T14:21:17.131Z] 14:21:17 INFO - mozcrash INFO | Saved app info as /builds/worker/workspace/build/blobber_upload_dir/309a772e-f2db-4c09-99b2-8b34bee70951.extra
[task 2020-03-20T14:21:17.131Z] 14:21:17 WARNING - PROCESS-CRASH | gtest | application crashed [@ mozilla::SetSocketProcessSandbox(int)]
[task 2020-03-20T14:21:17.131Z] 14:21:17 INFO - Crash dump filename: /builds/worker/workspace/build/tests/gtest/309a772e-f2db-4c09-99b2-8b34bee70951.dmp
[task 2020-03-20T14:21:17.131Z] 14:21:17 INFO - Operating system: Linux
[task 2020-03-20T14:21:17.131Z] 14:21:17 INFO - 0.0.0 Linux 4.4.0-1014-aws #14taskcluster1-Ubuntu SMP Tue Apr 3 10:27:00 UTC 2018 x86_64
[task 2020-03-20T14:21:17.133Z] 14:21:17 INFO - CPU: amd64
[task 2020-03-20T14:21:17.133Z] 14:21:17 INFO - family 6 model 62 stepping 4
[task 2020-03-20T14:21:17.134Z] 14:21:17 INFO - 8 CPUs
[task 2020-03-20T14:21:17.134Z] 14:21:17 INFO - GPU: UNKNOWN
[task 2020-03-20T14:21:17.134Z] 14:21:17 INFO - Crash reason: SIGSEGV /SEGV_MAPERR
[task 2020-03-20T14:21:17.134Z] 14:21:17 INFO - Crash address: 0x0
[task 2020-03-20T14:21:17.135Z] 14:21:17 INFO - Process uptime: not available
[task 2020-03-20T14:21:17.135Z] 14:21:17 INFO - Thread 0 (crashed)
[task 2020-03-20T14:21:17.135Z] 14:21:17 INFO - 0 libmozsandbox.so!mozilla::SetSocketProcessSandbox(int) [Sandbox.cpp:9123faab0d42f8b61512f9f79cb7c332ead0d3a3 : 688 + 0x0]
[task 2020-03-20T14:21:17.135Z] 14:21:17 INFO - rax = 0x0000000000000000 rdx = 0x00007fcfd6165710
[task 2020-03-20T14:21:17.135Z] 14:21:17 INFO - rcx = 0x0000000000000003 rbx = 0x0000000000000013
[task 2020-03-20T14:21:17.136Z] 14:21:17 INFO - rsi = 0x0000000000000000 rdi = 0x00007fcfd6165710
[task 2020-03-20T14:21:17.136Z] 14:21:17 INFO - rbp = 0x00007ffe3b1186b0 rsp = 0x00007ffe3b118690
[task 2020-03-20T14:21:17.136Z] 14:21:17 INFO - r8 = 0x0000000000000000 r9 = 0x0000000000000003
[task 2020-03-20T14:21:17.136Z] 14:21:17 INFO - r10 = 0x00007fcfd648d1c0 r11 = 0x0000000000000009
[task 2020-03-20T14:21:17.136Z] 14:21:17 INFO - r12 = 0x00007fcfd615eb38 r13 = 0x0000000000000001
[task 2020-03-20T14:21:17.137Z] 14:21:17 INFO - r14 = 0x00007fcfc1f8c5a8 r15 = 0x00007fcfd6183820
[task 2020-03-20T14:21:17.137Z] 14:21:17 INFO - rip = 0x00007fcfd77d021b
[task 2020-03-20T14:21:17.137Z] 14:21:17 INFO - Found by: given as instruction pointer in context
[task 2020-03-20T14:21:17.137Z] 14:21:17 INFO - 1 libxul.so!mozilla::net::SocketProcessChild::RecvInitLinuxSandbox(mozilla::Maybe<mozilla::ipc::FileDescriptor> const&) [SocketProcessChild.cpp:9123faab0d42f8b61512f9f79cb7c332ead0d3a3 : 187 + 0x7]
[task 2020-03-20T14:21:17.138Z] 14:21:17 INFO - rbx = 0x0000000000000013 rbp = 0x00007ffe3b1186f0
[task 2020-03-20T14:21:17.138Z] 14:21:17 INFO - rsp = 0x00007ffe3b1186c0 r12 = 0x00007fcfd615eb38
[task 2020-03-20T14:21:17.138Z] 14:21:17 INFO - r13 = 0x0000000000000001 r14 = 0x00007ffe3b1186c8
[task 2020-03-20T14:21:17.138Z] 14:21:17 INFO - r15 = 0x00007fcfd6183820 rip = 0x00007fcfc409e3ff
[task 2020-03-20T14:21:17.138Z] 14:21:17 INFO - Found by: call frame info
[task 2020-03-20T14:21:17.139Z] 14:21:17 INFO - 2 libxul.so!mozilla::net::PSocketProcessChild::OnMessageReceived(IPC::Message const&) [PSocketProcessChild.cpp: : 1566 + 0x8]
[task 2020-03-20T14:21:17.139Z] 14:21:17 INFO - rbx = 0x00007ffe3b118740 rbp = 0x00007ffe3b118830
[task 2020-03-20T14:21:17.139Z] 14:21:17 INFO - rsp = 0x00007ffe3b118700 r12 = 0x00007fcfd615eb38
[task 2020-03-20T14:21:17.139Z] 14:21:17 INFO - r13 = 0x0000000000000001 r14 = 0x00007fcfd615eb40
[task 2020-03-20T14:21:17.139Z] 14:21:17 INFO - r15 = 0x00007fcfd6183820 rip = 0x00007fcfc42b685a
[task 2020-03-20T14:21:17.140Z] 14:21:17 INFO - Found by: call frame info
[task 2020-03-20T14:21:17.140Z] 14:21:17 INFO - 3 libxul.so!mozilla::ipc::MessageChannel::DispatchMessage(IPC::Message&&) [MessageChannel.cpp:9123faab0d42f8b61512f9f79cb7c332ead0d3a3 : 2187 + 0xd]
[task 2020-03-20T14:21:17.140Z] 14:21:17 INFO - rbx = 0x0000000000000001 rbp = 0x00007ffe3b118b00
[task 2020-03-20T14:21:17.140Z] 14:21:17 INFO - rsp = 0x00007ffe3b118840 r12 = 0x0000000000000000
[task 2020-03-20T14:21:17.140Z] 14:21:17 INFO - r13 = 0x00007fcfd615eb00 r14 = 0x00007fcfc20fd860
[task 2020-03-20T14:21:17.140Z] 14:21:17 INFO - r15 = 0x00007fcfd6183910 rip = 0x00007fcfc7904b2b
[task 2020-03-20T14:21:17.141Z] 14:21:17 INFO - Found by: call frame info
[task 2020-03-20T14:21:17.141Z] 14:21:17 INFO - 4 libxul.so!mozilla::ipc::MessageChannel::MessageTask::Run() [MessageChannel.cpp:9123faab0d42f8b61512f9f79cb7c332ead0d3a3 : 1990 + 0xdf]
[task 2020-03-20T14:21:17.141Z] 14:21:17 INFO - rbx = 0x00007fcfd615eb38 rbp = 0x00007ffe3b118b50
[task 2020-03-20T14:21:17.141Z] 14:21:17 INFO - rsp = 0x00007ffe3b118b10 r12 = 0x00007fcfd615eae0
[task 2020-03-20T14:21:17.141Z] 14:21:17 INFO - r13 = 0x00007fcfd611c5e0 r14 = 0x00007fcfc1f25890
[task 2020-03-20T14:21:17.142Z] 14:21:17 INFO - r15 = 0x00007fcfd6183910 rip = 0x00007fcfc7905c59
[task 2020-03-20T14:21:17.142Z] 14:21:17 INFO - Found by: call frame info
[task 2020-03-20T14:21:17.142Z] 14:21:17 INFO - 5 libxul.so!nsThread::ProcessNextEvent(bool, bool*) [nsThread.cpp:9123faab0d42f8b61512f9f79cb7c332ead0d3a3 : 1220 + 0x6]
[task 2020-03-20T14:21:17.142Z] 14:21:17 INFO - rbx = 0x0000000000000000 rbp = 0x00007ffe3b119070
[task 2020-03-20T14:21:17.142Z] 14:21:17 INFO - rsp = 0x00007ffe3b118b60 r12 = 0x0000000000000000
[task 2020-03-20T14:21:17.142Z] 14:21:17 INFO - r13 = 0x00007fcfd61a6800 r14 = 0x0000000000000000
[task 2020-03-20T14:21:17.143Z] 14:21:17 INFO - r15 = 0x00000000ffffffff rip = 0x00007fcfc78d1919
[task 2020-03-20T14:21:17.143Z] 14:21:17 INFO - Found by: call frame info
[task 2020-03-20T14:21:17.143Z] 14:21:17 INFO - 6 libxul.so!mozilla::ipc::MessagePump::Run(base::MessagePump::Delegate*) [MessagePump.cpp:9123faab0d42f8b61512f9f79cb7c332ead0d3a3 : 109 + 0x27]
[task 2020-03-20T14:21:17.143Z] 14:21:17 INFO - rbx = 0x00007ffe3b1191a8 rbp = 0x00007ffe3b1190c0
[task 2020-03-20T14:21:17.143Z] 14:21:17 INFO - rsp = 0x00007ffe3b119080 r12 = 0x0000000080004000
[task 2020-03-20T14:21:17.144Z] 14:21:17 INFO - r13 = 0x0000000000000000 r14 = 0x00007fcfc20f1a60
[task 2020-03-20T14:21:17.144Z] 14:21:17 INFO - r15 = 0x00007fcfd61a6800 rip = 0x00007fcfc79060e0
[task 2020-03-20T14:21:17.144Z] 14:21:17 INFO - Found by: call frame info
[task 2020-03-20T14:21:17.144Z] 14:21:17 INFO - 7 libxul.so!MessageLoop::Run() [message_loop.cc:9123faab0d42f8b61512f9f79cb7c332ead0d3a3 : 290 + 0xc]
[task 2020-03-20T14:21:17.144Z] 14:21:17 INFO - rbx = 0x00007fcfc1f11f40 rbp = 0x00007ffe3b1190f0
[task 2020-03-20T14:21:17.145Z] 14:21:17 INFO - rsp = 0x00007ffe3b1190d0 r12 = 0x0000000080004005
[task 2020-03-20T14:21:17.145Z] 14:21:17 INFO - r13 = 0x00007ffe3b11a568 r14 = 0x00007fcfd61a6800
[task 2020-03-20T14:21:17.145Z] 14:21:17 INFO - r15 = 0x0000000000000499 rip = 0x00007fcfc8d2603f
[task 2020-03-20T14:21:17.145Z] 14:21:17 INFO - Found by: call frame info
[task 2020-03-20T14:21:17.145Z] 14:21:17 INFO - 8 libxul.so!nsBaseAppShell::Run() [nsBaseAppShell.cpp:9123faab0d42f8b61512f9f79cb7c332ead0d3a3 : 137 + 0x18]
[task 2020-03-20T14:21:17.145Z] 14:21:17 INFO - rbx = 0x00007fcfc1f11f40 rbp = 0x00007ffe3b119110
[task 2020-03-20T14:21:17.146Z] 14:21:17 INFO - rsp = 0x00007ffe3b119100 r12 = 0x0000000080004005
[task 2020-03-20T14:21:17.146Z] 14:21:17 INFO - r13 = 0x00007ffe3b11a568 r14 = 0x00007fcfd61a6800
[task 2020-03-20T14:21:17.146Z] 14:21:17 INFO - r15 = 0x0000000000000499 rip = 0x00007fcfc94c1794
[task 2020-03-20T14:21:17.146Z] 14:21:17 INFO - Found by: call frame info
[task 2020-03-20T14:21:17.146Z] 14:21:17 INFO - 9 libxul.so!XRE_RunAppShell() [nsEmbedFunctions.cpp:9123faab0d42f8b61512f9f79cb7c332ead0d3a3 : 911 + 0x6]
[task 2020-03-20T14:21:17.147Z] 14:21:17 INFO - rbx = 0x00007fcfd6183800 rbp = 0x00007ffe3b119140
[task 2020-03-20T14:21:17.147Z] 14:21:17 INFO - rsp = 0x00007ffe3b119120 r12 = 0x0000000080004005
[task 2020-03-20T14:21:17.147Z] 14:21:17 INFO - r13 = 0x00007ffe3b11a568 r14 = 0x000000000000000a
[task 2020-03-20T14:21:17.147Z] 14:21:17 INFO - r15 = 0x0000000000000499 rip = 0x00007fcfc9a10354
[task 2020-03-20T14:21:17.147Z] 14:21:17 INFO - Found by: call frame info
[task 2020-03-20T14:21:17.148Z] 14:21:17 INFO - 10 libxul.so!MessageLoop::Run() [message_loop.cc:9123faab0d42f8b61512f9f79cb7c332ead0d3a3 : 290 + 0xc]
[task 2020-03-20T14:21:17.148Z] 14:21:17 INFO - rbx = 0x00007fcfd6183800 rbp = 0x00007ffe3b119170
[task 2020-03-20T14:21:17.148Z] 14:21:17 INFO - rsp = 0x00007ffe3b119150 r12 = 0x0000000080004005
[task 2020-03-20T14:21:17.148Z] 14:21:17 INFO - r13 = 0x00007ffe3b11a568 r14 = 0x000000000000000a
[task 2020-03-20T14:21:17.148Z] 14:21:17 INFO - r15 = 0x0000000000000499 rip = 0x00007fcfc8d2603f
[task 2020-03-20T14:21:17.149Z] 14:21:17 INFO - Found by: call frame info
[task 2020-03-20T14:21:17.149Z] 14:21:17 INFO - 11 libxul.so!XRE_InitChildProcess(int, char**, XREChildData const*) [nsEmbedFunctions.cpp:9123faab0d42f8b61512f9f79cb7c332ead0d3a3 : 742 + 0x5]
[task 2020-03-20T14:21:17.149Z] 14:21:17 INFO - rbx = 0x00007fcfd6183800 rbp = 0x00007ffe3b119400
[task 2020-03-20T14:21:17.149Z] 14:21:17 INFO - rsp = 0x00007ffe3b119180 r12 = 0x0000000080004005
[task 2020-03-20T14:21:17.150Z] 14:21:17 INFO - r13 = 0x00007ffe3b11a568 r14 = 0x000000000000000a
[task 2020-03-20T14:21:17.150Z] 14:21:17 INFO - r15 = 0x0000000000000499 rip = 0x00007fcfc9a0ffe2
[task 2020-03-20T14:21:17.150Z] 14:21:17 INFO - Found by: call frame info
[task 2020-03-20T14:21:17.150Z] 14:21:17 INFO - 12 firefox-bin!main [nsBrowserApp.cpp:9123faab0d42f8b61512f9f79cb7c332ead0d3a3 : 303 + 0x28]
[task 2020-03-20T14:21:17.150Z] 14:21:17 INFO - rbx = 0x00007fcfd6102f90 rbp = 0x00007ffe3b11a480
[task 2020-03-20T14:21:17.151Z] 14:21:17 INFO - rsp = 0x00007ffe3b119410 r12 = 0x00007ffe3b11a5d8
[task 2020-03-20T14:21:17.151Z] 14:21:17 INFO - r13 = 0x00007ffe3b11a560 r14 = 0x000000000000000c
[task 2020-03-20T14:21:17.151Z] 14:21:17 INFO - r15 = 0x00007ffe3b11a568 rip = 0x000055d44cafc519
[task 2020-03-20T14:21:17.151Z] 14:21:17 INFO - Found by: call frame info
task 2020-03-20T14:21:17.151Z] 14:21:17 INFO - 13 libc.so.6 + 0x21b97
[task 2020-03-20T14:21:17.152Z] 14:21:17 INFO - rbx = 0x0000000000000000 rbp = 0x000055d44cb0fe40
[task 2020-03-20T14:21:17.152Z] 14:21:17 INFO - rsp = 0x00007ffe3b11a490 r12 = 0x000055d44cafc288
[task 2020-03-20T14:21:17.152Z] 14:21:17 INFO - r13 = 0x00007ffe3b11a560 r14 = 0x0000000000000000
[task 2020-03-20T14:21:17.152Z] 14:21:17 INFO - r15 = 0x0000000000000000 rip = 0x00007fcfd6328b97
[task 2020-03-20T14:21:17.153Z] 14:21:17 INFO - Found by: call frame info
[task 2020-03-20T14:21:17.153Z] 14:21:17 INFO - 14 firefox-bin!frame_dummy + 0x10
[task 2020-03-20T14:21:17.153Z] 14:21:17 INFO - rsp = 0x00007ffe3b11a4b0 rip = 0x000055d44cafc3b0
[task 2020-03-20T14:21:17.153Z] 14:21:17 INFO - Found by: stack scanning
[task 2020-03-20T14:21:17.153Z] 14:21:17 INFO - 15 firefox-bin!double_conversion::FastDtoa(double, double_conversion::FastDtoaMode, int, double_conversion::Vector<char>, int*, int*) [fast-dtoa.cc:9123faab0d42f8b61512f9f79cb7c332ead0d3a3 : 652 + 0x1e]
[task 2020-03-20T14:21:17.154Z] 14:21:17 INFO - rsp = 0x00007ffe3b11a4c8 rip = 0x000055d44cafc288
[task 2020-03-20T14:21:17.154Z] 14:21:17 INFO - Found by: stack scanning
[task 2020-03-20T14:21:17.154Z] 14:21:17 INFO - 16 ld-linux-x86-64.so.2 + 0x10733
[task 2020-03-20T14:21:17.154Z] 14:21:17 INFO - rsp = 0x00007ffe3b11a510 rip = 0x00007fcfd7672733
[task 2020-03-20T14:21:17.154Z] 14:21:17 INFO - Found by: stack scanning
[task 2020-03-20T14:21:17.154Z] 14:21:17 INFO - 17 libdl.so.2 + 0x202d80
[task 2020-03-20T14:21:17.155Z] 14:21:17 INFO - rsp = 0x00007ffe3b11a518 rip = 0x00007fcfd7441d80
[task 2020-03-20T14:21:17.155Z] 14:21:17 INFO - Found by: stack scanning
[task 2020-03-20T14:21:17.155Z] 14:21:17 INFO - 18 libpthread.so.0 + 0x219bb0
[task 2020-03-20T14:21:17.155Z] 14:21:17 INFO - rsp = 0x00007ffe3b11a520 rip = 0x00007fcfd765cbb0
[task 2020-03-20T14:21:17.155Z] 14:21:17 INFO - Found by: stack scanning
[task 2020-03-20T14:21:17.155Z] 14:21:17 INFO - 19 firefox-bin!double_conversion::FastDtoa(double, double_conversion::FastDtoaMode, int, double_conversion::Vector<char>, int*, int*) [fast-dtoa.cc:9123faab0d42f8b61512f9f79cb7c332ead0d3a3 : 652 + 0x1e]
[task 2020-03-20T14:21:17.156Z] 14:21:17 INFO - rsp = 0x00007ffe3b11a540 rip = 0x000055d44cafc288
[task 2020-03-20T14:21:17.156Z] 14:21:17 INFO - Found by: stack scanning
[task 2020-03-20T14:21:17.156Z] 14:21:17 INFO - 20 firefox-bin!_start + 0x29
[task 2020-03-20T14:21:17.156Z] 14:21:17 INFO - rsp = 0x00007ffe3b11a550 rip = 0x000055d44cafc2b1
[task 2020-03-20T14:21:17.156Z] 14:21:17 INFO - Found by: stack scanning
...
Assignee | ||
Comment 13•5 years ago
|
||
(In reply to Bogdan Tara[:bogdan_tara | bogdant] from comment #11)
Backed out 3 changesets (bug 1602832) for assertion failing on IOInterposer.cpp
Backout link: https://hg.mozilla.org/integration/autoland/rev/b7b401010ae84a441fd15b800e26e1932a4fc462
Failure log: https://treeherder.mozilla.org/logviewer.html#/jobs?job_id=294032309&repo=autoland&lineNumber=338628
[task 2020-03-20T11:42:16.481Z] 11:42:16 INFO - TEST-START | SrtpParamInit/TransportSrtpParameterTest.TestSrtpCiphersMismatchCombinations/1 [task 2020-03-20T11:42:16.481Z] 11:42:16 INFO - Checking cipher: 8 [task 2020-03-20T11:42:16.481Z] 11:42:16 INFO - TEST-PASS | SrtpParamInit/TransportSrtpParameterTest.TestSrtpCiphersMismatchCombinations/1 | test completed (time: 224ms) [task 2020-03-20T11:42:16.481Z] 11:42:16 INFO - TEST-START | SrtpParamInit/TransportSrtpParameterTest.TestSrtpCiphersMismatchCombinations/2 [task 2020-03-20T11:42:16.481Z] 11:42:16 INFO - Checking cipher: 1 [task 2020-03-20T11:42:16.481Z] 11:42:16 INFO - TEST-PASS | SrtpParamInit/TransportSrtpParameterTest.TestSrtpCiphersMismatchCombinations/2 | test completed (time: 399ms) [task 2020-03-20T11:42:16.481Z] 11:42:16 INFO - TEST-PASS | GTest unit test: passed [task 2020-03-20T11:42:16.481Z] 11:42:16 INFO - Passed: 4452 [task 2020-03-20T11:42:16.481Z] 11:42:16 INFO - Failed: 0 [task 2020-03-20T11:42:16.481Z] 11:42:16 INFO - [1706, Main Thread] WARNING: NS_ENSURE_SUCCESS_VOID(rv) failed with result 0x80070057: file /builds/worker/checkouts/gecko/extensions/permissions/nsPermissionManager.cpp, line 1664 [task 2020-03-20T11:42:16.481Z] 11:42:16 INFO - [1706, Main Thread] WARNING: '!gBaseDirPath', file /builds/worker/checkouts/gecko/dom/quota/ActorsParent.cpp, line 3188 [task 2020-03-20T11:42:16.481Z] 11:42:16 INFO - [1706, Main Thread] WARNING: profile-do-change must precede profile-before-change-qm!: file /builds/worker/checkouts/gecko/dom/quota/ActorsParent.cpp, line 3189 [task 2020-03-20T11:42:16.481Z] 11:42:16 INFO - Assertion failure: curThreadData, at /builds/worker/checkouts/gecko/xpcom/build/IOInterposer.cpp:516 [task 2020-03-20T11:42:43.284Z] 11:42:43 INFO - #01: nsThread::ThreadFunc(void*) [xpcom/threads/nsThread.cpp:491] [task 2020-03-20T11:42:43.678Z] 11:42:43 INFO - #02: _pt_root [nsprpub/pr/src/pthreads/ptthread.c:204] [task 2020-03-20T11:42:43.678Z] 11:42:43 INFO - #03: libsystem_pthread.dylib + 0x32eb [task 2020-03-20T11:42:43.678Z] 11:42:43 INFO - #04: libsystem_pthread.dylib + 0x6249 [task 2020-03-20T11:42:43.679Z] 11:42:43 INFO - Finished running GTest tests.
I think I've figured out the reason of this.
- In patch 1, socket process is launched in
nsHttpHandler::Init
. - Socket process is launched by gtest
TestCookie.TestCookieMain
. ProfilerChild
thread is created andIOInterposer::RegisterCurrentThread
is called.IOInterposer::Init
is not called on socket process, soIOInterposer::RegisterCurrentThread
early returns at here.- Then,
IOInterposer::Init
is called by gtestGeckoProfiler.FeaturesAndParams
andsThreadLocalDataInitialized
is set to true. - When socket process is going to be destroyed,
IOInterposer::UnregisterCurrentThread
is called. We hit this assertion, sincecurThreadData
was not set inIOInterposer::RegisterCurrentThread
.
I am not sure how to fix this. It seems that we should call IOInterposer::Init
on socket process, but other child processes (e.g. GPU
and RDD
) don't do this. Or should we just remove the assertion in ``IOInterposer::UnregisterCurrentThread`?
Nathan, I think you probably know IOInterposer
better. Could you shed some light on this problem?
Thanks.
Assignee | ||
Comment 14•5 years ago
|
||
Hi Aaron,
I think you implemented IOInterposer
before.
Could you take a look at comment #13 and suggest me what to do?
Thanks.
Comment 15•5 years ago
|
||
I assume that the GPU process and RDD don't use the particular facilities of xpcom etc. that would trigger things like IOInterposer::RegisterCurrentThread
being called. So we should call IOInterposer::Init
in socket processes.
Assignee | ||
Comment 16•5 years ago
|
||
(In reply to Nathan Froyd [:froydnj] from comment #15)
I assume that the GPU process and RDD don't use the particular facilities of xpcom etc. that would trigger things like
IOInterposer::RegisterCurrentThread
being called. So we should callIOInterposer::Init
in socket processes.
Thanks.
But that mean we need to call IOInterposer::Init
really in XRE_InitChildProcess
, since IOInterposer::Init
needs to called before the first thread, which is this one. This also means that IOInterposer::Init
will be called for every child process.
Assignee | ||
Comment 17•5 years ago
|
||
(In reply to Kershaw Chang [:kershaw] from comment #16)
(In reply to Nathan Froyd [:froydnj] from comment #15)
I assume that the GPU process and RDD don't use the particular facilities of xpcom etc. that would trigger things like
IOInterposer::RegisterCurrentThread
being called. So we should callIOInterposer::Init
in socket processes.Thanks.
But that mean we need to callIOInterposer::Init
really inXRE_InitChildProcess
, sinceIOInterposer::Init
needs to called before the first thread, which is this one. This also means thatIOInterposer::Init
will be called for every child process.
I was wrong about this. We just need to call IOInterposer::Init();
before SocketProcessImpl
is constructed.
Assignee | ||
Comment 18•5 years ago
|
||
Assignee | ||
Comment 19•5 years ago
|
||
Assignee | ||
Comment 20•5 years ago
|
||
Depends on D72134
Assignee | ||
Comment 21•5 years ago
|
||
Depends on D72135
Updated•5 years ago
|
Updated•5 years ago
|
Updated•5 years ago
|
Comment 22•5 years ago
|
||
Comment 23•5 years ago
|
||
Backed out 4 changesets (bug 1602832) for causing multiple xpcshell failures
Backout revision https://hg.mozilla.org/integration/autoland/rev/fafc5b65980a1c9f2e834041a78e19a5c67a145c
Failures logs https://treeherder.mozilla.org/logviewer.html#?job_id=299017394&repo=autoland
https://treeherder.mozilla.org/logviewer.html#?job_id=299017414&repo=autoland
https://treeherder.mozilla.org/logviewer.html#?job_id=299017413&repo=autoland
https://treeherder.mozilla.org/logviewer.html#?job_id=299017400&repo=autoland
Kershaw can you please take a look?
Assignee | ||
Comment 24•5 years ago
|
||
Depends on D68895
Assignee | ||
Updated•5 years ago
|
Comment 25•5 years ago
|
||
Comment 26•5 years ago
|
||
Backed out 5 changesets (bug 1602832) for browser-chrome failures at toolkit/mozapps/extensions/test/xpinstall/browser_doorhanger_installs.js and xpcshell failures at obj-build/dist/include/mozilla/dom/BindingUtils.h
Backout: https://hg.mozilla.org/integration/autoland/rev/1a1682d487cd5e38dae94afb9c9a6a8cb9ce9327
Failure push: https://treeherder.mozilla.org/#/jobs?repo=autoland&revision=059a7f44d1a94fa83b081b12e59a6704eae9600b
Failure logs:
X2: https://treeherder.mozilla.org/logviewer.html#/jobs?job_id=302972292&repo=autoland&lineNumber=2577
bc: https://treeherder.mozilla.org/logviewer.html#/jobs?job_id=302967394&repo=autoland&lineNumber=20972
Updated•5 years ago
|
Assignee | ||
Comment 27•5 years ago
|
||
Assignee | ||
Comment 28•5 years ago
|
||
Comment 29•5 years ago
|
||
Comment 30•5 years ago
|
||
Backed out for causing perma failure at test_trr_case_sensitivity.js
Log: https://treeherder.mozilla.org/logviewer.html#/jobs?job_id=303737578&repo=autoland&lineNumber=3494
Backout: https://hg.mozilla.org/integration/autoland/rev/f88891dab444530bc3071325b63d499c12b4ce5a
Assignee | ||
Comment 31•5 years ago
|
||
Sorry about this.
https://treeherder.mozilla.org/#/jobs?repo=try&revision=3f42b070b8ca0cc64a2599eb2d4deed5e092dcbf&group_state=expanded
https://treeherder.mozilla.org/#/jobs?repo=try&revision=24612a05d0b8fcc526e0315c0a732e0ea75c505a&selectedTaskRun=cZ8c0Oy-S42zQvBGxXsetA-0
Comment 32•5 years ago
|
||
Comment 33•5 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/e251c2af1161
https://hg.mozilla.org/mozilla-central/rev/cb68b5b991be
https://hg.mozilla.org/mozilla-central/rev/71525d5fea41
https://hg.mozilla.org/mozilla-central/rev/55f83d3a5819
https://hg.mozilla.org/mozilla-central/rev/69e1e0497cb7
https://hg.mozilla.org/mozilla-central/rev/ad211af10bf2
Comment 34•5 years ago
|
||
Updated•5 years ago
|
Description
•