Closed Bug 1909125 Opened 1 year ago Closed 1 year ago

Assertion failure: result.isOk() in SharedPrefMap.cpp with dom.ipc.forkserver.enable=true, fuzzing build and running with --debugger

Categories

(Core :: IPC, defect, P2)

defect

Tracking

()

RESOLVED FIXED
131 Branch
Tracking Status
firefox-esr115 --- unaffected
firefox-esr128 --- unaffected
firefox128 --- unaffected
firefox129 --- unaffected
firefox130 --- disabled
firefox131 --- fixed

People

(Reporter: karlt, Assigned: gerard-majax)

References

(Regression)

Details

(Keywords: pernosco, regression)

Attachments

(2 files)

mmap for reading the pref map fails with ENODEV in
https://pernos.co/debug/i1lw0opmVYeXStIn7oVG7A/index.html#f{m[beA,Gsg_,t[nQ,JJ0R_,f{e[beA,Gq8_,s{af8CGCcAA,bUQ,ukA,oPAQ,f[1pSYBA,ayuFKQ____,v[{wiLg,v[{f'list',q'stdouterr',p{_,xTiA_,{f'container',q'stack',p{_,xnEA_,{f'notebook',q'notebook',p.,xs9o_,{f'list',q'alerts',p{_,xAYag___,{w/eg,v[{f'source',q'source',p{_,xAjRy_,{f'list',q'callees',p{_,x9aw_,{f'list',q'execution',p{'symbol''mozilla:3A%3Aipc%3A%3ASharedPreferenceSerializer%3A%3ASerializeToSharedMemory'_,xAQNM_,{f'list',q'execution',p{'symbol''mozilla:3A%3Aipc%3A%3ASharedPreferenceDeserializer%3A%3ADeserializeFromSharedMemory'_,x6Kk_,{f'list',q'execution',p{'symbol''mozilla:3A%3Aipc%3A%3ASharedPreferenceSerializer%3A%3AAddSharedPrefCmdLineArgs'_,xAYag_,{f'container',q'current-tasks',p{_,xAYag____/
and EACCES in
https://pernos.co/debug/qbUhkdUpJxNKVqw7bHbwpA/index.html#f{m[j/Q,GrI_,t[nw,JD+T_,f{e[j/Q,Gqw_,s{af+ZDIJAA,bUg,ukA,oPAQ,f[1pSYBA,ayuFKQ____,v[{wiLg,v[{f'list',q'stdouterr',p{_,xAYag_,{f'container',q'stack',p{_,xAYag_,{f'list',q'alerts',p{_,xAYag_,{f'notebook',q'notebook',p.,xAYag_,{f'list',q'explainer',p{'explainFocus'{'data'{'producer'{'dwarfVariable'{'addressSpace'{'execs'AA,'task'{'serial'nw,'tid'JD+T__,'function'{'addressSpaceUid'{'execs'AA,'task'{'serial'nw,'tid'JD+T__,'anyMoment'{'event'j/Q,'instr'GrI_,'entryMoment'{'event'j/Q,'instr'Gqw_,'returnMoment'{'event'j/c,'instr'yA_,'subprogram'{'baseAddress'f+ZDIJAA,'binary'Ug,'subprogram'{f{d[1pSYBA,ayuFKQ__,oPAQ_,'unit'kA_,'taskUid'{'serial'nw,'tid'JD+T__,'task'{'serial'nw,'tid'JD+T_,'variable'{'baseAddress'f+ZDIJAA,'binary'Ug,'unit'kA,'variable'{f{d[1pSYBA,ayuFKQ__,oPCM____,'renderer'{'dwarfType'{'deref'{'level'AA_,'type_'{'baseAddress'f+ZDIJAA,'binary'Ug,'type'{f{d[1pSYBA,ayuFKQ__,oBIo_,'unit'kA____,'frame'{'addressSpaceUid'{'execs'AA,'task'{'serial'nw,'tid'JD+T__,'anyMoment'{'event'j/Q,'instr'GrI_,'entryMoment'{'event'j/Q,'instr'Gqw_,'returnMoment'{'event'j/c,'instr'yA_,'subprogram'{'baseAddress'f+ZDIJAA,'binary'Ug,'subprogram'{f{d[1pSYBA,ayuFKQ__,oPAQ_,'unit'kA_,'taskUid'{'serial'nw,'tid'JD+T__,'moment'{'event'j/Q,'instr'GrI_,'node'AQ,'tuid'{'serial'nw,'tid'JD+T___,xAYag___,{w/eg,v[{f'source',q'source',p{_,xAYag_,{f'list',q'callees',p{_,xAYag____/

:gcp, since you are the author of the regressor, bug 1874689, could you take a look? Also, could you set the severity field?

For more information, please visit BugBot documentation.

Flags: needinfo?(gpascutto)
Assignee: nobody → lissyx+mozillians
Flags: needinfo?(gpascutto)

This no longer reproduces after rebuilding without --enable-fuzzing.

unassigning for now

Assignee: lissyx+mozillians → nobody

MOZ_LOG=timestamp,ForkService:5 ./mach wpt --setpref dom.ipc.forkserver.enable=true --no-pause-after-test testing/web-platform/tests/media-source/URL-createObjectURL.html

--enable-fuzzing + rr: https://pernos.co/debug/EJRnF2xQWlLVvNBRNUq4HQ/index.html

00:51:15.538784 UTC - [(null) 2973046: Main Thread]: V/ForkService fds mapping:
00:51:15.539104 UTC - [(null) 2973046: Main Thread]: V/ForkService      24 => 8
00:51:15.539463 UTC - [(null) 2973046: Main Thread]: V/ForkService      25 => 9
00:51:15.539829 UTC - [(null) 2973046: Main Thread]: V/ForkService      26 => 11
00:51:15.540144 UTC - [(null) 2973046: Main Thread]: V/ForkService      27 => 5
00:51:15.540492 UTC - [(null) 2973046: Main Thread]: V/ForkService      28 => 3
00:51:15.624690 UTC - [(null) 2973183: Main Thread]: V/ForkService Fork a new content process
Assertion failure: result.isOk(), at /home/karl/moz/dev/modules/libpref/SharedPrefMap.cpp:29

--enable-fuzzing without rr

01:02:40.098581 UTC - [(null) 2976720: Main Thread]: V/ForkService fds mapping:
01:02:40.098607 UTC - [(null) 2976720: Main Thread]: V/ForkService      26 => 8
01:02:40.098616 UTC - [(null) 2976720: Main Thread]: V/ForkService      27 => 9
01:02:40.098625 UTC - [(null) 2976720: Main Thread]: V/ForkService      28 => 11
01:02:40.098632 UTC - [(null) 2976720: Main Thread]: V/ForkService      29 => 5
01:02:40.098640 UTC - [(null) 2976720: Main Thread]: V/ForkService      30 => 3
01:02:40.098647 UTC - [(null) 2976720: Main Thread]: V/ForkService      31 => 4
01:02:40.103247 UTC - [(null) 2976749: Main Thread]: V/ForkService Fork a new content process
01:52:28.646037 UTC - [(null) 2996314: Main Thread]: V/ForkService fds mapping:
01:52:28.646064 UTC - [(null) 2996314: Main Thread]: V/ForkService      26 => 8
01:52:28.646075 UTC - [(null) 2996314: Main Thread]: V/ForkService      27 => 9
01:52:28.646083 UTC - [(null) 2996314: Main Thread]: V/ForkService      28 => 11
01:52:28.646090 UTC - [(null) 2996314: Main Thread]: V/ForkService      29 => 5
01:52:28.646098 UTC - [(null) 2996314: Main Thread]: V/ForkService      30 => 3
01:52:28.646105 UTC - [(null) 2996314: Main Thread]: V/ForkService      31 => 4
01:52:28.650303 UTC - [(null) 2996378: Main Thread]: V/ForkService Fork a new content process

--disable-fuzzing --disable-debug + rr: https://pernos.co/debug/aChLWvM8Db7sAUirLuIhtw/index.html

01:49:46.271871 UTC - [(null) 2994551: Main Thread]: V/ForkService fds mapping:
01:49:46.272191 UTC - [(null) 2994551: Main Thread]: V/ForkService      23 => 8
01:49:46.272527 UTC - [(null) 2994551: Main Thread]: V/ForkService      24 => 9
01:49:46.272888 UTC - [(null) 2994551: Main Thread]: V/ForkService      25 => 11
01:49:46.273186 UTC - [(null) 2994551: Main Thread]: V/ForkService      26 => 5
01:49:46.273490 UTC - [(null) 2994551: Main Thread]: V/ForkService      27 => 3
01:49:46.331410 UTC - [(null) 2994593: Main Thread]: V/ForkService Fork a new content process
01:49:47.498873 UTC - [(null) 2994551: Main Thread]: V/ForkService fds mapping:
01:49:47.499162 UTC - [(null) 2994551: Main Thread]: V/ForkService      23 => 8
01:49:47.499486 UTC - [(null) 2994551: Main Thread]: V/ForkService      24 => 9
01:49:47.499816 UTC - [(null) 2994551: Main Thread]: V/ForkService      25 => 11
01:49:47.500146 UTC - [(null) 2994551: Main Thread]: V/ForkService      26 => 5
01:49:47.500426 UTC - [(null) 2994551: Main Thread]: V/ForkService      27 => 3
01:49:47.570387 UTC - [(null) 2994645: Main Thread]: V/ForkService Fork a new content process

--disable-fuzzing --disable-debug without rr

01:55:57.522463 UTC - [(null) 2997446: Main Thread]: V/ForkService fds mapping:
01:55:57.522486 UTC - [(null) 2997446: Main Thread]: V/ForkService      23 => 8
01:55:57.522493 UTC - [(null) 2997446: Main Thread]: V/ForkService      24 => 9
01:55:57.522499 UTC - [(null) 2997446: Main Thread]: V/ForkService      25 => 11
01:55:57.522506 UTC - [(null) 2997446: Main Thread]: V/ForkService      26 => 5
01:55:57.522515 UTC - [(null) 2997446: Main Thread]: V/ForkService      27 => 3
01:55:57.525844 UTC - [(null) 2997451: Main Thread]: V/ForkService Fork a new content process
01:55:57.713094 UTC - [(null) 2997446: Main Thread]: V/ForkService fds mapping:
01:55:57.713119 UTC - [(null) 2997446: Main Thread]: V/ForkService      23 => 8
01:55:57.713127 UTC - [(null) 2997446: Main Thread]: V/ForkService      24 => 9
01:55:57.713134 UTC - [(null) 2997446: Main Thread]: V/ForkService      25 => 11
01:55:57.713143 UTC - [(null) 2997446: Main Thread]: V/ForkService      26 => 5
01:55:57.713150 UTC - [(null) 2997446: Main Thread]: V/ForkService      27 => 3
01:55:57.716476 UTC - [(null) 2997482: Main Thread]: V/ForkService Fork a new content process
Blocks: 1874689

NS_ERROR_FAILURE from https://searchfox.org/mozilla-central/rev/0dd776599d18cfc207a44dea24e8595f79a74755/js/xpconnect/loader/AutoMemMap.cpp#89 with:

(pernosco) print fdmap 
$2 = {<std::__pair_base<int, int>> = {<No data fields>}, first = 23, second = 8}
(pernosco) cont 
Continuing.

Breakpoint 3, mozilla::ipc::PrepareFdsRemap (aOptions=0x7ffc7fe645a0, aFdsRemap=...) at /home/karl/moz/dev/ipc/glue/ForkServer.cpp:128
(pernosco) print fdmap 
$3 = {<std::__pair_base<int, int>> = {<No data fields>}, first = 24, second = 9}

so we got fd 9, and when in AutoMemMap, we end up dup() to 14:

(pernosco) print file.mHandle.mTuple.mFirstA.mHandle 
$48 = 9
(pernosco) print handle 
$52 = {mTuple = {<mozilla::detail::CompactPairHelper<mozilla::detail::FileHandleHelper, mozilla::detail::FileHandleDeleter, (mozilla::detail::StorageType)1, (mozilla::detail::StorageType)0>> = {<mozilla::detail::FileHandleDeleter> = {<No data fields>}, mFirstA = {mHandle = 14}}, <No data fields>}}

later the failing ENODEV mmap() is on fd 14. it seems fuzzing code does things around the dup() step?

Summary: Assertion failure: result.isOk() in SharedPrefMap.cpp with dom.ipc.forkserver.enable true and rr record → Assertion failure: result.isOk() in SharedPrefMap.cpp with dom.ipc.forkserver.enable=true, fuzzing build and recording with rr
Severity: -- → S2
Priority: -- → P2

I could reproduce the EACCES locally with ... strace:

$ PATH=$HOME/Documents/codaz/Mozilla/MiscWork/rr-install/bin/:$PATH MOZ_PROCESS_LOG=1 MOZ_LOG=timestamp,ForkService:5 BUILD_FUZZING=1 BUILD_DEBUG=1 ./mach mochitest --debugger strace --debugger-args="-ff --output=fd_strace.log" --headless --setpref dom.ipc.forkserver.enable=true dom/media/mediasource/test/test_AVC3_mp4.html 2>&1 | tee fd_log_debug_strace.log

This produced ...

    98  0:01.88 INFO Application command: /usr/bin/strace -ff --output=fd_strace.log /home/alexandre/Documents/codaz/Mozilla/MiscWork/mozilla-source/mozilla-unified/obj-browser-dbg-fuzzing/dist/bin/firefox -marionette -foreground -profile /tmp/tmpzaknn6an.mozrunner
    99  0:01.89 INFO runtests.py | Application pid: 3151296
   100  0:01.89 Started process `GECKO(3151296)`
   101  0:01.97 GECKO(3151296) [3151301, Unnamed thread 7f1a0c1323a0] WARNING: XPCOM object Mutex constructed from static ctor/dtor: file /home/alexandre/Documents/codaz/Mozilla/MiscWork/mozilla-source/mozilla-unified/xpcom/base/nsTraceRefcnt.cpp:216
   102  0:01.97 GECKO(3151296) ### XPCOM_MEM_BLOAT_LOG defined -- logging bloat/leaks to /tmp/tmpzaknn6an.mozrunner/runtests_leaks.log
   103  0:01.97 GECKO(3151296) [3151301, Unnamed thread 7f1a0c1323a0] WARNING: XPCOM object nsDequeBase constructed from static ctor/dtor: file /home/alexandre/Documents/codaz/Mozilla/MiscWork/mozilla-source/mozilla-unified/xpcom/base/nsTraceRefcnt.cpp:216
   104  0:01.97 GECKO(3151296) [3151301, Unnamed thread 7f1a0c1323a0] WARNING: XPCOM object nsDeque constructed from static ctor/dtor: file /home/alexandre/Documents/codaz/Mozilla/MiscWork/mozilla-source/mozilla-unified/xpcom/base/nsTraceRefcnt.cpp:216
   105  0:01.97 GECKO(3151296) *** You are running in headless mode.
   106  0:02.23 GECKO(3151296) [3151344, Unnamed thread 7f55bb23a280] WARNING: XPCOM object Mutex constructed from static ctor/dtor: file /home/alexandre/Documents/codaz/Mozilla/MiscWork/mozilla-source/mozilla-unified/xpcom/base/nsTraceRefcnt.cpp:216
   107  0:02.23 GECKO(3151296) ### XPCOM_MEM_BLOAT_LOG defined -- logging bloat/leaks to /tmp/tmpzaknn6an.mozrunner/runtests_leaks_socket_pid3151344.log
   108  0:02.23 GECKO(3151296) [3151344, Unnamed thread 7f55bb23a280] WARNING: XPCOM object nsDequeBase constructed from static ctor/dtor: file /home/alexandre/Documents/codaz/Mozilla/MiscWork/mozilla-source/mozilla-unified/xpcom/base/nsTraceRefcnt.cpp:216
   109  0:02.23 GECKO(3151296) [3151344, Unnamed thread 7f55bb23a280] WARNING: XPCOM object nsDeque constructed from static ctor/dtor: file /home/alexandre/Documents/codaz/Mozilla/MiscWork/mozilla-source/mozilla-unified/xpcom/base/nsTraceRefcnt.cpp:216
   110  0:02.23 GECKO(3151296) RefCounted objects addrefed/released (static ctor?) total: 4, last type: StringBuffer
   111  0:02.23 GECKO(3151296) [3151344:mozilla::SharedPrefMap::SharedPrefMap(const FileDescriptor &, size_t)] Status=initWithHandle
   112  0:02.23 GECKO(3151296) [3151344:mozilla::SharedPrefMap::SharedPrefMap(const FileDescriptor &, size_t)] Status=Assert
   113  0:02.23 GECKO(3151296) [3151344:mozilla::SharedPrefMap::SharedPrefMap(const FileDescriptor &, size_t)] Status=OK
   114  0:03.15 GECKO(3151296) [WARN  rkv::backend::impl_safe::environment] `load_ratio()` is irrelevant for this storage backend.
   115  0:03.53 GECKO(3151296) Crash Annotation GraphicsCriticalError: |[0][GFX1-]: glxtest: Unable to open a connection to the X server (t=1.63375) [GFX1-]: glxtest: Unable to open a connection to the X server
   116  0:03.53 GECKO(3151296) [Parent 3151301, Main Thread] WARNING: Failed to parse GL version!: file /home/alexandre/Documents/codaz/Mozilla/MiscWork/mozilla-source/mozilla-unified/widget/gtk/GfxInfo.cpp:350
   117  0:03.53 GECKO(3151296) [Parent 3151301, Main Thread] WARNING: Failed to detect GL vendor!: file /home/alexandre/Documents/codaz/Mozilla/MiscWork/mozilla-source/mozilla-unified/widget/gtk/GfxInfo.cpp:424
   118  0:04.29 GECKO(3151296) console.error: "Warning: unrecognized command line flag" "-foreground"
   119  0:04.36 GECKO(3151296) [3151404, Unnamed thread 7fdee85343a0] WARNING: XPCOM object Mutex constructed from static ctor/dtor: file /home/alexandre/Documents/codaz/Mozilla/MiscWork/mozilla-source/mozilla-unified/xpcom/base/nsTraceRefcnt.cpp:216
   120  0:04.36 GECKO(3151296) ### XPCOM_MEM_BLOAT_LOG defined -- logging bloat/leaks to /tmp/tmpzaknn6an.mozrunner/runtests_leaks.log
   121  0:04.36 GECKO(3151296) [3151404, Unnamed thread 7fdee85343a0] WARNING: XPCOM object nsDequeBase constructed from static ctor/dtor: file /home/alexandre/Documents/codaz/Mozilla/MiscWork/mozilla-source/mozilla-unified/xpcom/base/nsTraceRefcnt.cpp:216
   122  0:04.36 GECKO(3151296) [3151404, Unnamed thread 7fdee85343a0] WARNING: XPCOM object nsDeque constructed from static ctor/dtor: file /home/alexandre/Documents/codaz/Mozilla/MiscWork/mozilla-source/mozilla-unified/xpcom/base/nsTraceRefcnt.cpp:216
   123  0:04.36 GECKO(3151296) 2024-07-29 12:25:42.072406 UTC - [(null) 3151404: Main Thread]: V/ForkService Start a fork server
   124  0:04.85 GECKO(3151296) [WARN  rkv::backend::impl_safe::environment] `load_ratio()` is irrelevant for this storage backend.
   125  0:05.47 GECKO(3151296) [WARN  rkv::backend::impl_safe::environment] `load_ratio()` is irrelevant for this storage backend.
   126  0:05.90 GECKO(3151296) 2024-07-29 12:25:43.611546 UTC - [(null) 3151404: Main Thread]: V/ForkService fds mapping:
   127  0:05.90 GECKO(3151296) 2024-07-29 12:25:43.611711 UTC - [(null) 3151404: Main Thread]: V/ForkService   24 => 8
   128  0:05.90 GECKO(3151296) 2024-07-29 12:25:43.611856 UTC - [(null) 3151404: Main Thread]: V/ForkService   25 => 9
   129  0:05.90 GECKO(3151296) 2024-07-29 12:25:43.611999 UTC - [(null) 3151404: Main Thread]: V/ForkService   26 => 11
   130  0:05.90 GECKO(3151296) 2024-07-29 12:25:43.612141 UTC - [(null) 3151404: Main Thread]: V/ForkService   27 => 5
   131  0:05.90 GECKO(3151296) 2024-07-29 12:25:43.612283 UTC - [(null) 3151404: Main Thread]: V/ForkService   28 => 3
   132  0:05.92 GECKO(3151296) [Parent 3151301, GMPThread] WARNING: Failed to delete GMP storage directory: file /home/alexandre/Documents/codaz/Mozilla/MiscWork/mozilla-source/mozilla-unified/dom/media/gmp/GMPServiceParent.cpp:1909
   133  0:05.92 GECKO(3151296) 2024-07-29 12:25:43.629774 UTC - [(null) 3151431: Main Thread]: V/ForkService Fork a new content process
   134  0:05.92 GECKO(3151296) ### XPCOM_MEM_BLOAT_LOG defined -- logging bloat/leaks to /tmp/tmpzaknn6an.mozrunner/runtests_leaks_tab_pid3151431.log
   135  0:05.93 GECKO(3151296) [3151431:mozilla::SharedPrefMap::SharedPrefMap(const FileDescriptor &, size_t)] Status=initWithHandle
   136  0:05.93 GECKO(3151296) [3151431] [void *_MD_MemMap(PRFileMap *, PRInt64, PRUint32)] mmap(22) failed: errno=13
   137  0:05.93 GECKO(3151296) [3151431:mozilla::SharedPrefMap::SharedPrefMap(const FileDescriptor &, size_t)] Status=Assert
   138  0:05.93 GECKO(3151296) [3151431] Assertion failure: result.isOk(), at /home/alexandre/Documents/codaz/Mozilla/MiscWork/mozilla-source/mozilla-unified/modules/libpref/SharedPrefMap.cpp:31
   139 Initializing stack-fixing for the first stack frame, this may take a while...
   140  0:23.14 GECKO(3151296) #01: mozilla::SharedPrefMap::SharedPrefMap(mozilla::ipc::FileDescriptor const&, unsigned long) (/home/alexandre/Documents/codaz/Mozilla/MiscWork/mozilla-source/mozilla-unified/modules/libpref/SharedPrefMap.cpp:31)
   141  0:23.14 GECKO(3151296) #02: mozilla::Preferences::InitSnapshot(mozilla::ipc::FileDescriptor const&, unsigned long) (/home/alexandre/Documents/codaz/Mozilla/MiscWork/mozilla-source/mozilla-unified/modules/libpref/Preferences.cpp:3914)
   142  0:23.14 GECKO(3151296) #03: mozilla::ipc::SharedPreferenceDeserializer::DeserializeFromSharedMemory(unsigned long, unsigned long, unsigned long, unsigned long) (/home/alexandre/Documents/codaz/Mozilla/MiscWork/mozilla-source/mozilla-unified/ipc/glue/ProcessUtils_common.cpp:170)
   143  0:23.15 GECKO(3151296) #04: mozilla::ipc::ProcessChild::InitPrefs(int, char**) (/home/alexandre/Documents/codaz/Mozilla/MiscWork/mozilla-source/mozilla-unified/ipc/glue/ProcessChild.cpp:76)
   144  0:23.15 GECKO(3151296) #05: mozilla::dom::ContentProcess::Init(int, char**) (/home/alexandre/Documents/codaz/Mozilla/MiscWork/mozilla-source/mozilla-unified/dom/ipc/ContentProcess.cpp:130)
   145  0:23.16 GECKO(3151296) #06: XRE_InitChildProcess(int, char**, XREChildData const*) (/home/alexandre/Documents/codaz/Mozilla/MiscWork/mozilla-source/mozilla-unified/toolkit/xre/nsEmbedFunctions.cpp:616)
   146  0:23.28 GECKO(3151296) #07: main (/home/alexandre/Documents/codaz/Mozilla/MiscWork/mozilla-source/mozilla-unified/browser/app/nsBrowserApp.cpp:378)
   147  0:23.28 GECKO(3151296) #08: ??? (/lib/x86_64-linux-gnu/libc.so.6 + 0x27c8a)
   148  0:23.28 GECKO(3151296) [WARN  webrender::renderer::init] asking to enable_gpu_markers but no supporting extension was found
   149  0:23.28 GECKO(3151296) #09: __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6 + 0x27d45)
   150  0:23.28 GECKO(3151296) #10: ??? (/home/alexandre/Documents/codaz/Mozilla/MiscWork/mozilla-source/mozilla-unified/obj-browser-dbg-fuzzing/dist/bin/firefox + 0x6f3e9)
   151  0:23.28 GECKO(3151296) #11: ??? (???:???)
Summary: Assertion failure: result.isOk() in SharedPrefMap.cpp with dom.ipc.forkserver.enable=true, fuzzing build and recording with rr → Assertion failure: result.isOk() in SharedPrefMap.cpp with dom.ipc.forkserver.enable=true, fuzzing build and running with --debugger

Can you confirm that on your side as well, hacking https://searchfox.org/mozilla-central/rev/dd421ae14997e3bebb9c08634633a4a3e3edeffc/modules/libpref/Preferences.h#87-88 and using (12, 13) instead of (8, 9) at least unblocks you?

Flags: needinfo?(karlt)

12, 13 WFM. Thanks very much!

Flags: needinfo?(karlt)
$ grep -E "CHILD|Assertion" readdir_forkserver_rr.log
 0:03.19 GECKO(3767296) [Socket 3767335, Main Thread] WARNING: [CHILD] mozilla::SharedPrefMap::SharedPrefMap(const FileDescriptor &, size_t): opendir() succeeded: file /home/alexandre/Documents/codaz/Mozilla/MiscWork/mozilla-source/mozilla-unified/modules/libpref/SharedPrefMap.cpp:33
 0:03.19 GECKO(3767296) [Socket 3767335, Main Thread] WARNING: [CHILD] readdir(): d_name=. d_type=4: file /home/alexandre/Documents/codaz/Mozilla/MiscWork/mozilla-source/mozilla-unified/modules/libpref/SharedPrefMap.cpp:36
 0:03.19 GECKO(3767296) [Socket 3767335, Main Thread] WARNING: [CHILD] readdir(): d_name=.. d_type=4: file /home/alexandre/Documents/codaz/Mozilla/MiscWork/mozilla-source/mozilla-unified/modules/libpref/SharedPrefMap.cpp:36
 0:03.19 GECKO(3767296) [Socket 3767335, Main Thread] WARNING: [CHILD] readdir(): link_name=/proc/self/fd/0 target=/dev/pts/11: file /home/alexandre/Documents/codaz/Mozilla/MiscWork/mozilla-source/mozilla-unified/modules/libpref/SharedPrefMap.cpp:51
 0:03.19 GECKO(3767296) [Socket 3767335, Main Thread] WARNING: [CHILD] readdir(): link_name=/proc/self/fd/1 target=pipe:[35391788]: file /home/alexandre/Documents/codaz/Mozilla/MiscWork/mozilla-source/mozilla-unified/modules/libpref/SharedPrefMap.cpp:51
 0:03.19 GECKO(3767296) [Socket 3767335, Main Thread] WARNING: [CHILD] readdir(): link_name=/proc/self/fd/2 target=pipe:[35391788]: file /home/alexandre/Documents/codaz/Mozilla/MiscWork/mozilla-source/mozilla-unified/modules/libpref/SharedPrefMap.cpp:51
 0:03.19 GECKO(3767296) [Socket 3767335, Main Thread] WARNING: [CHILD] readdir(): link_name=/proc/self/fd/3 target=socket:[35323864]: file /home/alexandre/Documents/codaz/Mozilla/MiscWork/mozilla-source/mozilla-unified/modules/libpref/SharedPrefMap.cpp:51
 0:03.20 GECKO(3767296) [Socket 3767335, Main Thread] WARNING: [CHILD] readdir(): link_name=/proc/self/fd/4 target=/dev/null: file /home/alexandre/Documents/codaz/Mozilla/MiscWork/mozilla-source/mozilla-unified/modules/libpref/SharedPrefMap.cpp:51
 0:03.20 GECKO(3767296) [Socket 3767335, Main Thread] WARNING: [CHILD] readdir(): link_name=/proc/self/fd/5 target=socket:[35323861]: file /home/alexandre/Documents/codaz/Mozilla/MiscWork/mozilla-source/mozilla-unified/modules/libpref/SharedPrefMap.cpp:51
 0:03.20 GECKO(3767296) [Socket 3767335, Main Thread] WARNING: [CHILD] readdir(): link_name=/proc/self/fd/6 target=socket:[35323873]: file /home/alexandre/Documents/codaz/Mozilla/MiscWork/mozilla-source/mozilla-unified/modules/libpref/SharedPrefMap.cpp:51
 0:03.20 GECKO(3767296) [Socket 3767335, Main Thread] WARNING: [CHILD] readdir(): link_name=/proc/self/fd/7 target=/dev/null: file /home/alexandre/Documents/codaz/Mozilla/MiscWork/mozilla-source/mozilla-unified/modules/libpref/SharedPrefMap.cpp:51
 0:03.20 GECKO(3767296) [Socket 3767335, Main Thread] WARNING: [CHILD] readdir(): link_name=/proc/self/fd/8 target=/memfd:mozilla-ipc (deleted): file /home/alexandre/Documents/codaz/Mozilla/MiscWork/mozilla-source/mozilla-unified/modules/libpref/SharedPrefMap.cpp:51
 0:03.20 GECKO(3767296) [Socket 3767335, Main Thread] WARNING: [CHILD] readdir(): link_name=/proc/self/fd/9 target=/memfd:mozilla-ipc (deleted): file /home/alexandre/Documents/codaz/Mozilla/MiscWork/mozilla-source/mozilla-unified/modules/libpref/SharedPrefMap.cpp:51
 0:03.20 GECKO(3767296) [Socket 3767335, Main Thread] WARNING: [CHILD] readdir(): link_name=/proc/self/fd/10 target=/dev/null: file /home/alexandre/Documents/codaz/Mozilla/MiscWork/mozilla-source/mozilla-unified/modules/libpref/SharedPrefMap.cpp:51
 0:03.20 GECKO(3767296) [Socket 3767335, Main Thread] WARNING: [CHILD] readdir(): link_name=/proc/self/fd/11 target=pipe:[35504286]: file /home/alexandre/Documents/codaz/Mozilla/MiscWork/mozilla-source/mozilla-unified/modules/libpref/SharedPrefMap.cpp:51
 0:03.20 GECKO(3767296) [Socket 3767335, Main Thread] WARNING: [CHILD] readdir(): link_name=/proc/self/fd/12 target=/tmp/tmpyu2591d0.mozrunner/runtests_leaks_socket_pid3767335.log: file /home/alexandre/Documents/codaz/Mozilla/MiscWork/mozilla-source/mozilla-unified/modules/libpref/SharedPrefMap.cpp:51
 0:03.20 GECKO(3767296) [Socket 3767335, Main Thread] WARNING: [CHILD] readdir(): link_name=/proc/self/fd/13 target=pipe:[35504286]: file /home/alexandre/Documents/codaz/Mozilla/MiscWork/mozilla-source/mozilla-unified/modules/libpref/SharedPrefMap.cpp:51
 0:03.20 GECKO(3767296) [Socket 3767335, Main Thread] WARNING: [CHILD] readdir(): link_name=/proc/self/fd/14 target=anon_inode:[eventpoll]: file /home/alexandre/Documents/codaz/Mozilla/MiscWork/mozilla-source/mozilla-unified/modules/libpref/SharedPrefMap.cpp:51
 0:03.20 GECKO(3767296) [Socket 3767335, Main Thread] WARNING: [CHILD] readdir(): link_name=/proc/self/fd/15 target=pipe:[35504294]: file /home/alexandre/Documents/codaz/Mozilla/MiscWork/mozilla-source/mozilla-unified/modules/libpref/SharedPrefMap.cpp:51
 0:03.20 GECKO(3767296) [Socket 3767335, Main Thread] WARNING: [CHILD] readdir(): link_name=/proc/self/fd/16 target=pipe:[35504294]: file /home/alexandre/Documents/codaz/Mozilla/MiscWork/mozilla-source/mozilla-unified/modules/libpref/SharedPrefMap.cpp:51
 0:03.20 GECKO(3767296) [Socket 3767335, Main Thread] WARNING: [CHILD] readdir(): link_name=/proc/self/fd/17 target=pipe:[35504295]: file /home/alexandre/Documents/codaz/Mozilla/MiscWork/mozilla-source/mozilla-unified/modules/libpref/SharedPrefMap.cpp:51
 0:03.20 GECKO(3767296) [Socket 3767335, Main Thread] WARNING: [CHILD] readdir(): link_name=/proc/self/fd/18 target=pipe:[35504295]: file /home/alexandre/Documents/codaz/Mozilla/MiscWork/mozilla-source/mozilla-unified/modules/libpref/SharedPrefMap.cpp:51
 0:03.20 GECKO(3767296) [Socket 3767335, Main Thread] WARNING: [CHILD] readdir(): link_name=/proc/self/fd/19 target=/proc/3767335/fd: file /home/alexandre/Documents/codaz/Mozilla/MiscWork/mozilla-source/mozilla-unified/modules/libpref/SharedPrefMap.cpp:51
 0:03.20 GECKO(3767296) [Socket 3767335, Main Thread] WARNING: [CHILD] initWithHandle OK: file /home/alexandre/Documents/codaz/Mozilla/MiscWork/mozilla-source/mozilla-unified/modules/libpref/SharedPrefMap.cpp:64
 0:07.62 GECKO(3767296) [Child 3767475, Main Thread] WARNING: [CHILD] mozilla::SharedPrefMap::SharedPrefMap(const FileDescriptor &, size_t): opendir() succeeded: file /home/alexandre/Documents/codaz/Mozilla/MiscWork/mozilla-source/mozilla-unified/modules/libpref/SharedPrefMap.cpp:33
 0:07.62 GECKO(3767296) [Child 3767475, Main Thread] WARNING: [CHILD] readdir(): d_name=. d_type=4: file /home/alexandre/Documents/codaz/Mozilla/MiscWork/mozilla-source/mozilla-unified/modules/libpref/SharedPrefMap.cpp:36
 0:07.62 GECKO(3767296) [Child 3767475, Main Thread] WARNING: [CHILD] readdir(): d_name=.. d_type=4: file /home/alexandre/Documents/codaz/Mozilla/MiscWork/mozilla-source/mozilla-unified/modules/libpref/SharedPrefMap.cpp:36
 0:07.62 GECKO(3767296) [Child 3767475, Main Thread] WARNING: [CHILD] readdir(): link_name=/proc/self/fd/0 target=/dev/pts/11: file /home/alexandre/Documents/codaz/Mozilla/MiscWork/mozilla-source/mozilla-unified/modules/libpref/SharedPrefMap.cpp:51
 0:07.62 GECKO(3767296) [Child 3767475, Main Thread] WARNING: [CHILD] readdir(): link_name=/proc/self/fd/1 target=pipe:[35391788]: file /home/alexandre/Documents/codaz/Mozilla/MiscWork/mozilla-source/mozilla-unified/modules/libpref/SharedPrefMap.cpp:51
 0:07.62 GECKO(3767296) [Child 3767475, Main Thread] WARNING: [CHILD] readdir(): link_name=/proc/self/fd/2 target=pipe:[35391788]: file /home/alexandre/Documents/codaz/Mozilla/MiscWork/mozilla-source/mozilla-unified/modules/libpref/SharedPrefMap.cpp:51
 0:07.62 GECKO(3767296) [Child 3767475, Main Thread] WARNING: [CHILD] readdir(): link_name=/proc/self/fd/3 target=socket:[35507433]: file /home/alexandre/Documents/codaz/Mozilla/MiscWork/mozilla-source/mozilla-unified/modules/libpref/SharedPrefMap.cpp:51
 0:07.62 GECKO(3767296) [Child 3767475, Main Thread] WARNING: [CHILD] readdir(): link_name=/proc/self/fd/4 target=/tmp/tmpyu2591d0.mozrunner/runtests_leaks_tab_pid3767475.log: file /home/alexandre/Documents/codaz/Mozilla/MiscWork/mozilla-source/mozilla-unified/modules/libpref/SharedPrefMap.cpp:51
 0:07.62 GECKO(3767296) [Child 3767475, Main Thread] WARNING: [CHILD] readdir(): link_name=/proc/self/fd/5 target=socket:[35323861]: file /home/alexandre/Documents/codaz/Mozilla/MiscWork/mozilla-source/mozilla-unified/modules/libpref/SharedPrefMap.cpp:51
 0:07.62 GECKO(3767296) [Child 3767475, Main Thread] WARNING: [CHILD] readdir(): link_name=/proc/self/fd/6 target=socket:[35507434]: file /home/alexandre/Documents/codaz/Mozilla/MiscWork/mozilla-source/mozilla-unified/modules/libpref/SharedPrefMap.cpp:51
 0:07.62 GECKO(3767296) [Child 3767475, Main Thread] WARNING: [CHILD] readdir(): link_name=/proc/self/fd/7 target=pipe:[35507585]: file /home/alexandre/Documents/codaz/Mozilla/MiscWork/mozilla-source/mozilla-unified/modules/libpref/SharedPrefMap.cpp:51
 0:07.62 GECKO(3767296) [Child 3767475, Main Thread] WARNING: [CHILD] readdir(): link_name=/proc/self/fd/8 target=/memfd:mozilla-ipc (deleted): file /home/alexandre/Documents/codaz/Mozilla/MiscWork/mozilla-source/mozilla-unified/modules/libpref/SharedPrefMap.cpp:51
 0:07.62 GECKO(3767296) [Child 3767475, Main Thread] WARNING: [CHILD] readdir(): link_name=/proc/self/fd/9 target=pipe:[35507585]: file /home/alexandre/Documents/codaz/Mozilla/MiscWork/mozilla-source/mozilla-unified/modules/libpref/SharedPrefMap.cpp:51
 0:07.62 GECKO(3767296) [Child 3767475, Main Thread] WARNING: [CHILD] readdir(): link_name=/proc/self/fd/10 target=anon_inode:[eventpoll]: file /home/alexandre/Documents/codaz/Mozilla/MiscWork/mozilla-source/mozilla-unified/modules/libpref/SharedPrefMap.cpp:51
 0:07.62 GECKO(3767296) [Child 3767475, Main Thread] WARNING: [CHILD] readdir(): link_name=/proc/self/fd/11 target=/memfd:mozilla-ipc (deleted): file /home/alexandre/Documents/codaz/Mozilla/MiscWork/mozilla-source/mozilla-unified/modules/libpref/SharedPrefMap.cpp:51
 0:07.62 GECKO(3767296) [Child 3767475, Main Thread] WARNING: [CHILD] readdir(): link_name=/proc/self/fd/12 target=pipe:[35507594]: file /home/alexandre/Documents/codaz/Mozilla/MiscWork/mozilla-source/mozilla-unified/modules/libpref/SharedPrefMap.cpp:51
 0:07.62 GECKO(3767296) [Child 3767475, Main Thread] WARNING: [CHILD] readdir(): link_name=/proc/self/fd/13 target=pipe:[35507594]: file /home/alexandre/Documents/codaz/Mozilla/MiscWork/mozilla-source/mozilla-unified/modules/libpref/SharedPrefMap.cpp:51
 0:07.62 GECKO(3767296) [Child 3767475, Main Thread] WARNING: [CHILD] readdir(): link_name=/proc/self/fd/14 target=pipe:[35507595]: file /home/alexandre/Documents/codaz/Mozilla/MiscWork/mozilla-source/mozilla-unified/modules/libpref/SharedPrefMap.cpp:51
 0:07.63 GECKO(3767296) [Child 3767475, Main Thread] WARNING: [CHILD] readdir(): link_name=/proc/self/fd/15 target=pipe:[35507595]: file /home/alexandre/Documents/codaz/Mozilla/MiscWork/mozilla-source/mozilla-unified/modules/libpref/SharedPrefMap.cpp:51
 0:07.63 GECKO(3767296) [Child 3767475, Main Thread] WARNING: [CHILD] readdir(): link_name=/proc/self/fd/16 target=/proc/3767475/fd: file /home/alexandre/Documents/codaz/Mozilla/MiscWork/mozilla-source/mozilla-unified/modules/libpref/SharedPrefMap.cpp:51
 0:07.63 GECKO(3767296) [3767475] Assertion failure: result.isOk(), at /home/alexandre/Documents/codaz/Mozilla/MiscWork/mozilla-source/mozilla-unified/modules/libpref/SharedPrefMap.cpp:63
$ grep -E "CHILD|Assertion" readdir_noforkserver_rr.log
 0:03.10 GECKO(3767764) [Socket 3767803, Main Thread] WARNING: [CHILD] mozilla::SharedPrefMap::SharedPrefMap(const FileDescriptor &, size_t): opendir() succeeded: file /home/alexandre/Documents/codaz/Mozilla/MiscWork/mozilla-source/mozilla-unified/modules/libpref/SharedPrefMap.cpp:33
 0:03.10 GECKO(3767764) [Socket 3767803, Main Thread] WARNING: [CHILD] readdir(): d_name=. d_type=4: file /home/alexandre/Documents/codaz/Mozilla/MiscWork/mozilla-source/mozilla-unified/modules/libpref/SharedPrefMap.cpp:36
 0:03.10 GECKO(3767764) [Socket 3767803, Main Thread] WARNING: [CHILD] readdir(): d_name=.. d_type=4: file /home/alexandre/Documents/codaz/Mozilla/MiscWork/mozilla-source/mozilla-unified/modules/libpref/SharedPrefMap.cpp:36
 0:03.10 GECKO(3767764) [Socket 3767803, Main Thread] WARNING: [CHILD] readdir(): link_name=/proc/self/fd/0 target=/dev/pts/11: file /home/alexandre/Documents/codaz/Mozilla/MiscWork/mozilla-source/mozilla-unified/modules/libpref/SharedPrefMap.cpp:51
 0:03.10 GECKO(3767764) [Socket 3767803, Main Thread] WARNING: [CHILD] readdir(): link_name=/proc/self/fd/1 target=pipe:[35371569]: file /home/alexandre/Documents/codaz/Mozilla/MiscWork/mozilla-source/mozilla-unified/modules/libpref/SharedPrefMap.cpp:51
 0:03.10 GECKO(3767764) [Socket 3767803, Main Thread] WARNING: [CHILD] readdir(): link_name=/proc/self/fd/2 target=pipe:[35371569]: file /home/alexandre/Documents/codaz/Mozilla/MiscWork/mozilla-source/mozilla-unified/modules/libpref/SharedPrefMap.cpp:51
 0:03.11 GECKO(3767764) [Socket 3767803, Main Thread] WARNING: [CHILD] readdir(): link_name=/proc/self/fd/3 target=socket:[35448253]: file /home/alexandre/Documents/codaz/Mozilla/MiscWork/mozilla-source/mozilla-unified/modules/libpref/SharedPrefMap.cpp:51
 0:03.11 GECKO(3767764) [Socket 3767803, Main Thread] WARNING: [CHILD] readdir(): link_name=/proc/self/fd/4 target=/dev/null: file /home/alexandre/Documents/codaz/Mozilla/MiscWork/mozilla-source/mozilla-unified/modules/libpref/SharedPrefMap.cpp:51
 0:03.11 GECKO(3767764) [Socket 3767803, Main Thread] WARNING: [CHILD] readdir(): link_name=/proc/self/fd/5 target=socket:[35448250]: file /home/alexandre/Documents/codaz/Mozilla/MiscWork/mozilla-source/mozilla-unified/modules/libpref/SharedPrefMap.cpp:51
 0:03.11 GECKO(3767764) [Socket 3767803, Main Thread] WARNING: [CHILD] readdir(): link_name=/proc/self/fd/6 target=socket:[35448262]: file /home/alexandre/Documents/codaz/Mozilla/MiscWork/mozilla-source/mozilla-unified/modules/libpref/SharedPrefMap.cpp:51
 0:03.11 GECKO(3767764) [Socket 3767803, Main Thread] WARNING: [CHILD] readdir(): link_name=/proc/self/fd/7 target=/dev/null: file /home/alexandre/Documents/codaz/Mozilla/MiscWork/mozilla-source/mozilla-unified/modules/libpref/SharedPrefMap.cpp:51
 0:03.11 GECKO(3767764) [Socket 3767803, Main Thread] WARNING: [CHILD] readdir(): link_name=/proc/self/fd/8 target=/memfd:mozilla-ipc (deleted): file /home/alexandre/Documents/codaz/Mozilla/MiscWork/mozilla-source/mozilla-unified/modules/libpref/SharedPrefMap.cpp:51
 0:03.11 GECKO(3767764) [Socket 3767803, Main Thread] WARNING: [CHILD] readdir(): link_name=/proc/self/fd/9 target=/memfd:mozilla-ipc (deleted): file /home/alexandre/Documents/codaz/Mozilla/MiscWork/mozilla-source/mozilla-unified/modules/libpref/SharedPrefMap.cpp:51
 0:03.11 GECKO(3767764) [Socket 3767803, Main Thread] WARNING: [CHILD] readdir(): link_name=/proc/self/fd/10 target=/dev/null: file /home/alexandre/Documents/codaz/Mozilla/MiscWork/mozilla-source/mozilla-unified/modules/libpref/SharedPrefMap.cpp:51
 0:03.11 GECKO(3767764) [Socket 3767803, Main Thread] WARNING: [CHILD] readdir(): link_name=/proc/self/fd/11 target=pipe:[35448448]: file /home/alexandre/Documents/codaz/Mozilla/MiscWork/mozilla-source/mozilla-unified/modules/libpref/SharedPrefMap.cpp:51
 0:03.11 GECKO(3767764) [Socket 3767803, Main Thread] WARNING: [CHILD] readdir(): link_name=/proc/self/fd/12 target=/tmp/tmp1whu2tem.mozrunner/runtests_leaks_socket_pid3767803.log: file /home/alexandre/Documents/codaz/Mozilla/MiscWork/mozilla-source/mozilla-unified/modules/libpref/SharedPrefMap.cpp:51
 0:03.11 GECKO(3767764) [Socket 3767803, Main Thread] WARNING: [CHILD] readdir(): link_name=/proc/self/fd/13 target=pipe:[35448448]: file /home/alexandre/Documents/codaz/Mozilla/MiscWork/mozilla-source/mozilla-unified/modules/libpref/SharedPrefMap.cpp:51
 0:03.11 GECKO(3767764) [Socket 3767803, Main Thread] WARNING: [CHILD] readdir(): link_name=/proc/self/fd/14 target=anon_inode:[eventpoll]: file /home/alexandre/Documents/codaz/Mozilla/MiscWork/mozilla-source/mozilla-unified/modules/libpref/SharedPrefMap.cpp:51
 0:03.11 GECKO(3767764) [Socket 3767803, Main Thread] WARNING: [CHILD] readdir(): link_name=/proc/self/fd/15 target=pipe:[35448456]: file /home/alexandre/Documents/codaz/Mozilla/MiscWork/mozilla-source/mozilla-unified/modules/libpref/SharedPrefMap.cpp:51
 0:03.11 GECKO(3767764) [Socket 3767803, Main Thread] WARNING: [CHILD] readdir(): link_name=/proc/self/fd/16 target=pipe:[35448456]: file /home/alexandre/Documents/codaz/Mozilla/MiscWork/mozilla-source/mozilla-unified/modules/libpref/SharedPrefMap.cpp:51
 0:03.11 GECKO(3767764) [Socket 3767803, Main Thread] WARNING: [CHILD] readdir(): link_name=/proc/self/fd/17 target=pipe:[35448457]: file /home/alexandre/Documents/codaz/Mozilla/MiscWork/mozilla-source/mozilla-unified/modules/libpref/SharedPrefMap.cpp:51
 0:03.11 GECKO(3767764) [Socket 3767803, Main Thread] WARNING: [CHILD] readdir(): link_name=/proc/self/fd/18 target=pipe:[35448457]: file /home/alexandre/Documents/codaz/Mozilla/MiscWork/mozilla-source/mozilla-unified/modules/libpref/SharedPrefMap.cpp:51
 0:03.11 GECKO(3767764) [Socket 3767803, Main Thread] WARNING: [CHILD] readdir(): link_name=/proc/self/fd/19 target=/proc/3767803/fd: file /home/alexandre/Documents/codaz/Mozilla/MiscWork/mozilla-source/mozilla-unified/modules/libpref/SharedPrefMap.cpp:51
 0:03.11 GECKO(3767764) [Socket 3767803, Main Thread] WARNING: [CHILD] initWithHandle OK: file /home/alexandre/Documents/codaz/Mozilla/MiscWork/mozilla-source/mozilla-unified/modules/libpref/SharedPrefMap.cpp:64
 0:07.63 GECKO(3767764) [Child 3767947, Main Thread] WARNING: [CHILD] mozilla::SharedPrefMap::SharedPrefMap(const FileDescriptor &, size_t): opendir() succeeded: file /home/alexandre/Documents/codaz/Mozilla/MiscWork/mozilla-source/mozilla-unified/modules/libpref/SharedPrefMap.cpp:33
 0:07.63 GECKO(3767764) [Child 3767947, Main Thread] WARNING: [CHILD] readdir(): d_name=. d_type=4: file /home/alexandre/Documents/codaz/Mozilla/MiscWork/mozilla-source/mozilla-unified/modules/libpref/SharedPrefMap.cpp:36
 0:07.63 GECKO(3767764) [Child 3767947, Main Thread] WARNING: [CHILD] readdir(): d_name=.. d_type=4: file /home/alexandre/Documents/codaz/Mozilla/MiscWork/mozilla-source/mozilla-unified/modules/libpref/SharedPrefMap.cpp:36
 0:07.63 GECKO(3767764) [Child 3767947, Main Thread] WARNING: [CHILD] readdir(): link_name=/proc/self/fd/0 target=/dev/pts/11: file /home/alexandre/Documents/codaz/Mozilla/MiscWork/mozilla-source/mozilla-unified/modules/libpref/SharedPrefMap.cpp:51
 0:07.63 GECKO(3767764) [Child 3767947, Main Thread] WARNING: [CHILD] readdir(): link_name=/proc/self/fd/1 target=pipe:[35371569]: file /home/alexandre/Documents/codaz/Mozilla/MiscWork/mozilla-source/mozilla-unified/modules/libpref/SharedPrefMap.cpp:51
 0:07.63 GECKO(3767764) [Child 3767947, Main Thread] WARNING: [CHILD] readdir(): link_name=/proc/self/fd/2 target=pipe:[35371569]: file /home/alexandre/Documents/codaz/Mozilla/MiscWork/mozilla-source/mozilla-unified/modules/libpref/SharedPrefMap.cpp:51
 0:07.63 GECKO(3767764) [Child 3767947, Main Thread] WARNING: [CHILD] readdir(): link_name=/proc/self/fd/3 target=socket:[35511894]: file /home/alexandre/Documents/codaz/Mozilla/MiscWork/mozilla-source/mozilla-unified/modules/libpref/SharedPrefMap.cpp:51
 0:07.63 GECKO(3767764) [Child 3767947, Main Thread] WARNING: [CHILD] readdir(): link_name=/proc/self/fd/4 target=/dev/null: file /home/alexandre/Documents/codaz/Mozilla/MiscWork/mozilla-source/mozilla-unified/modules/libpref/SharedPrefMap.cpp:51
 0:07.63 GECKO(3767764) [Child 3767947, Main Thread] WARNING: [CHILD] readdir(): link_name=/proc/self/fd/5 target=socket:[35448250]: file /home/alexandre/Documents/codaz/Mozilla/MiscWork/mozilla-source/mozilla-unified/modules/libpref/SharedPrefMap.cpp:51
 0:07.63 GECKO(3767764) [Child 3767947, Main Thread] WARNING: [CHILD] readdir(): link_name=/proc/self/fd/6 target=socket:[35511895]: file /home/alexandre/Documents/codaz/Mozilla/MiscWork/mozilla-source/mozilla-unified/modules/libpref/SharedPrefMap.cpp:51
 0:07.63 GECKO(3767764) [Child 3767947, Main Thread] WARNING: [CHILD] readdir(): link_name=/proc/self/fd/7 target=/dev/null: file /home/alexandre/Documents/codaz/Mozilla/MiscWork/mozilla-source/mozilla-unified/modules/libpref/SharedPrefMap.cpp:51
 0:07.63 GECKO(3767764) [Child 3767947, Main Thread] WARNING: [CHILD] readdir(): link_name=/proc/self/fd/8 target=/memfd:mozilla-ipc (deleted): file /home/alexandre/Documents/codaz/Mozilla/MiscWork/mozilla-source/mozilla-unified/modules/libpref/SharedPrefMap.cpp:51
 0:07.63 GECKO(3767764) [Child 3767947, Main Thread] WARNING: [CHILD] readdir(): link_name=/proc/self/fd/9 target=/memfd:mozilla-ipc (deleted): file /home/alexandre/Documents/codaz/Mozilla/MiscWork/mozilla-source/mozilla-unified/modules/libpref/SharedPrefMap.cpp:51
 0:07.63 GECKO(3767764) [Child 3767947, Main Thread] WARNING: [CHILD] readdir(): link_name=/proc/self/fd/10 target=/dev/null: file /home/alexandre/Documents/codaz/Mozilla/MiscWork/mozilla-source/mozilla-unified/modules/libpref/SharedPrefMap.cpp:51
 0:07.63 GECKO(3767764) [Child 3767947, Main Thread] WARNING: [CHILD] readdir(): link_name=/proc/self/fd/11 target=/memfd:mozilla-ipc (deleted): file /home/alexandre/Documents/codaz/Mozilla/MiscWork/mozilla-source/mozilla-unified/modules/libpref/SharedPrefMap.cpp:51
 0:07.63 GECKO(3767764) [Child 3767947, Main Thread] WARNING: [CHILD] readdir(): link_name=/proc/self/fd/12 target=pipe:[35512190]: file /home/alexandre/Documents/codaz/Mozilla/MiscWork/mozilla-source/mozilla-unified/modules/libpref/SharedPrefMap.cpp:51
 0:07.64 GECKO(3767764) [Child 3767947, Main Thread] WARNING: [CHILD] readdir(): link_name=/proc/self/fd/13 target=/tmp/tmp1whu2tem.mozrunner/runtests_leaks_tab_pid3767947.log: file /home/alexandre/Documents/codaz/Mozilla/MiscWork/mozilla-source/mozilla-unified/modules/libpref/SharedPrefMap.cpp:51
 0:07.64 GECKO(3767764) [Child 3767947, Main Thread] WARNING: [CHILD] readdir(): link_name=/proc/self/fd/14 target=pipe:[35512190]: file /home/alexandre/Documents/codaz/Mozilla/MiscWork/mozilla-source/mozilla-unified/modules/libpref/SharedPrefMap.cpp:51
 0:07.64 GECKO(3767764) [Child 3767947, Main Thread] WARNING: [CHILD] readdir(): link_name=/proc/self/fd/15 target=anon_inode:[eventpoll]: file /home/alexandre/Documents/codaz/Mozilla/MiscWork/mozilla-source/mozilla-unified/modules/libpref/SharedPrefMap.cpp:51
 0:07.64 GECKO(3767764) [Child 3767947, Main Thread] WARNING: [CHILD] readdir(): link_name=/proc/self/fd/16 target=pipe:[35512198]: file /home/alexandre/Documents/codaz/Mozilla/MiscWork/mozilla-source/mozilla-unified/modules/libpref/SharedPrefMap.cpp:51
 0:07.65 GECKO(3767764) [Child 3767947, Main Thread] WARNING: [CHILD] readdir(): link_name=/proc/self/fd/17 target=pipe:[35512198]: file /home/alexandre/Documents/codaz/Mozilla/MiscWork/mozilla-source/mozilla-unified/modules/libpref/SharedPrefMap.cpp:51
 0:07.65 GECKO(3767764) [Child 3767947, Main Thread] WARNING: [CHILD] readdir(): link_name=/proc/self/fd/18 target=pipe:[35512199]: file /home/alexandre/Documents/codaz/Mozilla/MiscWork/mozilla-source/mozilla-unified/modules/libpref/SharedPrefMap.cpp:51
 0:07.65 GECKO(3767764) [Child 3767947, Main Thread] WARNING: [CHILD] readdir(): link_name=/proc/self/fd/19 target=pipe:[35512199]: file /home/alexandre/Documents/codaz/Mozilla/MiscWork/mozilla-source/mozilla-unified/modules/libpref/SharedPrefMap.cpp:51
 0:07.65 GECKO(3767764) [Child 3767947, Main Thread] WARNING: [CHILD] readdir(): link_name=/proc/self/fd/20 target=/proc/3767947/fd: file /home/alexandre/Documents/codaz/Mozilla/MiscWork/mozilla-source/mozilla-unified/modules/libpref/SharedPrefMap.cpp:51
 0:07.65 GECKO(3767764) [Child 3767947, Main Thread] WARNING: [CHILD] initWithHandle OK: file /home/alexandre/Documents/codaz/Mozilla/MiscWork/mozilla-source/mozilla-unified/modules/libpref/SharedPrefMap.cpp:64
 0:09.23 GECKO(3767764) [Child 3767988, Main Thread] WARNING: [CHILD] mozilla::SharedPrefMap::SharedPrefMap(const FileDescriptor &, size_t): opendir() succeeded: file /home/alexandre/Documents/codaz/Mozilla/MiscWork/mozilla-source/mozilla-unified/modules/libpref/SharedPrefMap.cpp:33
 0:09.23 GECKO(3767764) [Child 3767988, Main Thread] WARNING: [CHILD] readdir(): d_name=. d_type=4: file /home/alexandre/Documents/codaz/Mozilla/MiscWork/mozilla-source/mozilla-unified/modules/libpref/SharedPrefMap.cpp:36
 0:09.23 GECKO(3767764) [Child 3767988, Main Thread] WARNING: [CHILD] readdir(): d_name=.. d_type=4: file /home/alexandre/Documents/codaz/Mozilla/MiscWork/mozilla-source/mozilla-unified/modules/libpref/SharedPrefMap.cpp:36
 0:09.23 GECKO(3767764) [Child 3767988, Main Thread] WARNING: [CHILD] readdir(): link_name=/proc/self/fd/0 target=/dev/pts/11: file /home/alexandre/Documents/codaz/Mozilla/MiscWork/mozilla-source/mozilla-unified/modules/libpref/SharedPrefMap.cpp:51
 0:09.23 GECKO(3767764) [Child 3767988, Main Thread] WARNING: [CHILD] readdir(): link_name=/proc/self/fd/1 target=pipe:[35371569]: file /home/alexandre/Documents/codaz/Mozilla/MiscWork/mozilla-source/mozilla-unified/modules/libpref/SharedPrefMap.cpp:51
 0:09.23 GECKO(3767764) [Child 3767988, Main Thread] WARNING: [CHILD] readdir(): link_name=/proc/self/fd/2 target=pipe:[35371569]: file /home/alexandre/Documents/codaz/Mozilla/MiscWork/mozilla-source/mozilla-unified/modules/libpref/SharedPrefMap.cpp:51
 0:09.23 GECKO(3767764) [Child 3767988, Main Thread] WARNING: [CHILD] readdir(): link_name=/proc/self/fd/3 target=socket:[35513403]: file /home/alexandre/Documents/codaz/Mozilla/MiscWork/mozilla-source/mozilla-unified/modules/libpref/SharedPrefMap.cpp:51
 0:09.23 GECKO(3767764) [Child 3767988, Main Thread] WARNING: [CHILD] readdir(): link_name=/proc/self/fd/4 target=/dev/null: file /home/alexandre/Documents/codaz/Mozilla/MiscWork/mozilla-source/mozilla-unified/modules/libpref/SharedPrefMap.cpp:51
 0:09.23 GECKO(3767764) [Child 3767988, Main Thread] WARNING: [CHILD] readdir(): link_name=/proc/self/fd/5 target=socket:[35448250]: file /home/alexandre/Documents/codaz/Mozilla/MiscWork/mozilla-source/mozilla-unified/modules/libpref/SharedPrefMap.cpp:51
 0:09.23 GECKO(3767764) [Child 3767988, Main Thread] WARNING: [CHILD] readdir(): link_name=/proc/self/fd/6 target=socket:[35513404]: file /home/alexandre/Documents/codaz/Mozilla/MiscWork/mozilla-source/mozilla-unified/modules/libpref/SharedPrefMap.cpp:51
 0:09.23 GECKO(3767764) [Child 3767988, Main Thread] WARNING: [CHILD] readdir(): link_name=/proc/self/fd/7 target=/dev/null: file /home/alexandre/Documents/codaz/Mozilla/MiscWork/mozilla-source/mozilla-unified/modules/libpref/SharedPrefMap.cpp:51
 0:09.24 GECKO(3767764) [Child 3767988, Main Thread] WARNING: [CHILD] readdir(): link_name=/proc/self/fd/8 target=/memfd:mozilla-ipc (deleted): file /home/alexandre/Documents/codaz/Mozilla/MiscWork/mozilla-source/mozilla-unified/modules/libpref/SharedPrefMap.cpp:51
 0:09.24 GECKO(3767764) [Child 3767988, Main Thread] WARNING: [CHILD] readdir(): link_name=/proc/self/fd/9 target=/memfd:mozilla-ipc (deleted): file /home/alexandre/Documents/codaz/Mozilla/MiscWork/mozilla-source/mozilla-unified/modules/libpref/SharedPrefMap.cpp:51
 0:09.24 GECKO(3767764) [Child 3767988, Main Thread] WARNING: [CHILD] readdir(): link_name=/proc/self/fd/10 target=/dev/null: file /home/alexandre/Documents/codaz/Mozilla/MiscWork/mozilla-source/mozilla-unified/modules/libpref/SharedPrefMap.cpp:51
 0:09.24 GECKO(3767764) [Child 3767988, Main Thread] WARNING: [CHILD] readdir(): link_name=/proc/self/fd/11 target=/memfd:mozilla-ipc (deleted): file /home/alexandre/Documents/codaz/Mozilla/MiscWork/mozilla-source/mozilla-unified/modules/libpref/SharedPrefMap.cpp:51
 0:09.24 GECKO(3767764) [Child 3767988, Main Thread] WARNING: [CHILD] readdir(): link_name=/proc/self/fd/12 target=pipe:[35513666]: file /home/alexandre/Documents/codaz/Mozilla/MiscWork/mozilla-source/mozilla-unified/modules/libpref/SharedPrefMap.cpp:51
 0:09.24 GECKO(3767764) [Child 3767988, Main Thread] WARNING: [CHILD] readdir(): link_name=/proc/self/fd/13 target=/tmp/tmp1whu2tem.mozrunner/runtests_leaks_tab_pid3767988.log: file /home/alexandre/Documents/codaz/Mozilla/MiscWork/mozilla-source/mozilla-unified/modules/libpref/SharedPrefMap.cpp:51
 0:09.24 GECKO(3767764) [Child 3767988, Main Thread] WARNING: [CHILD] readdir(): link_name=/proc/self/fd/14 target=pipe:[35513666]: file /home/alexandre/Documents/codaz/Mozilla/MiscWork/mozilla-source/mozilla-unified/modules/libpref/SharedPrefMap.cpp:51
 0:09.24 GECKO(3767764) [Child 3767988, Main Thread] WARNING: [CHILD] readdir(): link_name=/proc/self/fd/15 target=anon_inode:[eventpoll]: file /home/alexandre/Documents/codaz/Mozilla/MiscWork/mozilla-source/mozilla-unified/modules/libpref/SharedPrefMap.cpp:51
 0:09.24 GECKO(3767764) [Child 3767988, Main Thread] WARNING: [CHILD] readdir(): link_name=/proc/self/fd/16 target=pipe:[35513674]: file /home/alexandre/Documents/codaz/Mozilla/MiscWork/mozilla-source/mozilla-unified/modules/libpref/SharedPrefMap.cpp:51
 0:09.24 GECKO(3767764) [Child 3767988, Main Thread] WARNING: [CHILD] readdir(): link_name=/proc/self/fd/17 target=pipe:[35513674]: file /home/alexandre/Documents/codaz/Mozilla/MiscWork/mozilla-source/mozilla-unified/modules/libpref/SharedPrefMap.cpp:51
 0:09.24 GECKO(3767764) [Child 3767988, Main Thread] WARNING: [CHILD] readdir(): link_name=/proc/self/fd/18 target=pipe:[35513675]: file /home/alexandre/Documents/codaz/Mozilla/MiscWork/mozilla-source/mozilla-unified/modules/libpref/SharedPrefMap.cpp:51
 0:09.24 GECKO(3767764) [Child 3767988, Main Thread] WARNING: [CHILD] readdir(): link_name=/proc/self/fd/19 target=pipe:[35513675]: file /home/alexandre/Documents/codaz/Mozilla/MiscWork/mozilla-source/mozilla-unified/modules/libpref/SharedPrefMap.cpp:51
 0:09.24 GECKO(3767764) [Child 3767988, Main Thread] WARNING: [CHILD] readdir(): link_name=/proc/self/fd/20 target=/proc/3767988/fd: file /home/alexandre/Documents/codaz/Mozilla/MiscWork/mozilla-source/mozilla-unified/modules/libpref/SharedPrefMap.cpp:51
 0:09.24 GECKO(3767764) [Child 3767988, Main Thread] WARNING: [CHILD] initWithHandle OK: file /home/alexandre/Documents/codaz/Mozilla/MiscWork/mozilla-source/mozilla-unified/modules/libpref/SharedPrefMap.cpp:64
$ sudo lsof -n |grep 35725534 
lsof: WARNING: can't stat() fuse.gvfsd-fuse file system /run/user/1000/gvfs
      Output information may be incomplete.
lsof: WARNING: can't stat() fuse.portal file system /run/user/1000/doc
      Output information may be incomplete.
COMMAND       PID     TID TASKCMD               USER   FD      TYPE             DEVICE SIZE/OFF       NODE NAME
MainThrea 3785152                          alexandre    7r     FIFO               0,15      0t0   35725534 pipe
MainThrea 3785152                          alexandre    9w     FIFO               0,15      0t0   35725534 pipe
MainThrea 3785152 3785156 MainThrea        alexandre    7r     FIFO               0,15      0t0   35725534 pipe
MainThrea 3785152 3785156 MainThrea        alexandre    9w     FIFO               0,15      0t0   35725534 pipe
MainThrea 3785152 3785157 IPC\x20I/        alexandre    7r     FIFO               0,15      0t0   35725534 pipe
MainThrea 3785152 3785157 IPC\x20I/        alexandre    9w     FIFO               0,15      0t0   35725534 pipe


 0:13.93 GECKO(3784889) [Child 3785152, Main Thread] WARNING: [CHILD] readdir(): link_name=/proc/self/fd/9 target=pipe:[35725534]: file /home/alexandre/Documents/codaz/Mozilla/MiscWork/mozilla-source/mozilla-unified/modules/libpref/SharedPrefMap.cpp:56
 0:13.93 GECKO(3784889) [Child 3785152, Main Thread] WARNING: [CHILD] SLEEPING 45s: file /home/alexandre/Documents/codaz/Mozilla/MiscWork/mozilla-source/mozilla-unified/modules/libpref/SharedPrefMap.cpp:58

Locally and on pernosco we have been able to verify that this pipe() https://searchfox.org/mozilla-central/rev/e637cd67f98ed4272d13a96db9a7674689122dcb/tools/profiler/core/platform.cpp#653 call generates (7, 9), so this is likely the culprit

After digging around in the pernosco trace for a while, I found the source of the issue here.

The pipe() call re-using fd 9 is a symptom of the issue, but not the underlying cause. The pipe call is re-using the file descriptor because it has previously been closed. This isn't happening intentionally, but because fd 9 was already in use by another component in the fork server, that FD was clobbered using dup2 during the FileDescriptorShuffle, then that fd was closed.

Specifically, in the pernosco trace I was linked, the FILE* gBloatLog used by nsTraceRefcnt was using fd 9 when it was initialized in DoInitTraceLog (https://searchfox.org/mozilla-central/rev/20d128ef2bcaff950172fe46eada6bc74673bd25/xpcom/base/nsTraceRefcnt.cpp#590-591).

In the pernsoco trace, we're initializing nsTraceRefcnt in during XUL static initializers due to this a global Mutex gConnRecvMutex member (https://searchfox.org/mozilla-central/rev/20d128ef2bcaff950172fe46eada6bc74673bd25/netwerk/base/FuzzyLayer.cpp#28). (As a side-note, this static should be using StaticMutex rather than Mutex to avoid this static constructor. Us initializing this early is actually causing the process type when initializing the log to be wrong).

When the logging is enabled, it opens various FDs and stores them in statics (in this case behind a FILE*, which made it harder to find the close call). Then, after we've forked, in the new process we call nsTraceRefcnt::ResetLogFiles (https://searchfox.org/mozilla-central/rev/20d128ef2bcaff950172fe46eada6bc74673bd25/ipc/glue/ForkServer.cpp#310). This closes all of the existing log files if they were initialized to reset them, and because the dup2 clobbered one of them with an FD used by prefs, we ended up closing the prefs map.

Perhaps we need to ClearLogs before doing the FileDescriptorShuffle, and then re-initialize the trace log after that point, as after the FD shuffle, we can't get away with doing ClearLogs anymore.


TL;DR: nsTraceRefcnt initializes and claims fd 9, then it is clobbered by the fd shuffle, then nsTraceRefcnt closes fd 9 thinking it still owns it

(In reply to Nika Layzell [:nika] (ni? for response) from comment #15)

[...]

Perhaps we need to ClearLogs before doing the FileDescriptorShuffle, and then re-initialize the trace log after that point, as after the FD shuffle, we can't get away with doing ClearLogs anymore.

I can't find any FileDescriptorShuffle call on the forkserver path, I assume you meant https://searchfox.org/mozilla-central/rev/20d128ef2bcaff950172fe46eada6bc74673bd25/ipc/chromium/src/base/process_util_linux.cc#160-183 ?

(In reply to :gerard-majax from comment #16)

(In reply to Nika Layzell [:nika] (ni? for response) from comment #15)

[...]

Perhaps we need to ClearLogs before doing the FileDescriptorShuffle, and then re-initialize the trace log after that point, as after the FD shuffle, we can't get away with doing ClearLogs anymore.

I can't find any FileDescriptorShuffle call on the forkserver path, I assume you meant https://searchfox.org/mozilla-central/rev/20d128ef2bcaff950172fe46eada6bc74673bd25/ipc/chromium/src/base/process_util_linux.cc#160-183 ?

Looks like a nsTraceRefcnt::Shutdown() call before the InitAppProcess put us in a better situation ?

Assignee: nobody → lissyx+mozillians
Attachment #9417004 - Attachment description: Bug 1909125 - Force nsTraceRefcnt shutdown when ForkServer creates new child r?nika! → Bug 1909125 - Reserve enough FDs to ensure prefs map will not collide r?nika!
Attachment #9417004 - Attachment description: Bug 1909125 - Reserve enough FDs to ensure prefs map will not collide r?nika! → Bug 1909125 - Fix FDs situation to ensure prefs map will not collide r?nika!
Pushed by alissy@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/65c0108aadb6 Fix FDs situation to ensure prefs map will not collide r=nika
Status: NEW → RESOLVED
Closed: 1 year ago
Resolution: --- → FIXED
Target Milestone: --- → 131 Branch

Set release status flags based on info from the regressing bug 1874689

No longer blocks: 1874689
Regressions: 1914281
No longer regressions: 1914281
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: