Building with --enable-address-sanitizer fails to find PSandboxTesting.ipdl
Categories
(Firefox Build System :: General, defect, P3)
Tracking
(Not tracked)
People
(Reporter: valentin, Unassigned)
References
(Blocks 1 open bug)
Details
0:19.04 ./application.ini.stub
0:19.04 in file included from `/home/user/mozilla-unified/obj-x86_64-pc-linux-gnu/ipc/ipdl/PDocAccessible.ipdl', line 7:
0:19.05 in file included from `/home/user/mozilla-unified/obj-x86_64-pc-linux-gnu/ipc/ipdl/PBrowser.ipdl', line 9:
0:19.05 in file included from `/home/user/mozilla-unified/obj-x86_64-pc-linux-gnu/ipc/ipdl/PContent.ipdl', line 7:
0:19.05 in file included from `/home/user/mozilla-unified/ipc/glue/PBackgroundStarter.ipdl', line 5:
0:19.05 in file included from `/home/user/mozilla-unified/ipc/glue/PBackground.ipdl', line 5:
0:19.06 in file included from `/home/user/mozilla-unified/netwerk/protocol/http/PBackgroundDataBridge.ipdl', line 5:
0:19.06 in file included from `/home/user/mozilla-unified/netwerk/protocol/http/HttpChannelParams.ipdlh', line 10:
0:19.06 in file included from `/home/user/mozilla-unified/netwerk/ipc/NeckoChannelParams.ipdlh', line 8:
0:19.07 in file included from `/home/user/mozilla-unified/netwerk/protocol/http/PHttpChannel.ipdl', line 8:
0:19.07 in file included from `/home/user/mozilla-unified/obj-x86_64-pc-linux-gnu/ipc/ipdl/PNecko.ipdl', line 18:
0:19.07 in file included from `/home/user/mozilla-unified/netwerk/dns/PDNSRequest.ipdl', line 9:
0:19.07 /home/user/mozilla-unified/obj-x86_64-pc-linux-gnu/ipc/ipdl/PSocketProcess.ipdl:21: error: can't locate include file `PSandboxTesting.ipdl'
0:19.08 Specification could not be parsed.
0:19.23 gmake[4]: *** [Makefile:31: ipdl.track] Error 1
0:19.23 gmake[3]: *** [/home/user/mozilla-unified/config/recurse.mk:94: ipc/ipdl/export] Error 2
This happens on Linux, when ac_add_options --enable-address-sanitizer
is in the mozconfig.
I could make it build with ac_add_options --enable-sandbox
, but it took a while to investigate.
I think the problem is due to how the /security/sandbox
moz.build file is included.
I initially added it to security/moz.build, but then builds without --enable-address-sanitizer
started failing with
Exception: File already read. A directory should not be added to DIRS twice: security/sandbox/moz.build is referred from security/moz.build as '/security/sandbox', and moz.build as '/security/sandbox'
It seems that the security/sandbox moz.build file is normally included through here but for ASAN builds something goes wrong?
Comment 1•25 days ago
|
||
Hey Valentin, I can not reproducing by just having --enable-address-sanitizer
in the configure, can you share the whole reproducer?
Updated•25 days ago
|
Comment 2•25 days ago
|
||
PSandboxTesting.ipdl is only enabled on debug builds with sandbox and tests enabled, and sandbox is disabled on Linux asan builds. BUT it's also not used when the sandbox is disabled... https://searchfox.org/mozilla-central/rev/0b765f1050f3cb0674ab266e7692e6dad9d249a1/netwerk/ipc/PSocketProcess.ipdl#21
Do you have local changes?
Comment 3•25 days ago
|
||
Okay, I found a reproducer by accident. Is this what happened to you:
- You had a local build
- You added --enable-address-sanitizer to your mozconfig
- You built again without clobbering.
A clobber fixes the issue. The problem is that PSocketProcess.ipdl in the objdir is not rebuilt after changing the build config.
Reporter | ||
Comment 4•24 days ago
|
||
(In reply to Mike Hommey [:glandium] from comment #3)
Okay, I found a reproducer by accident. Is this what happened to you:
- You had a local build
- You added --enable-address-sanitizer to your mozconfig
- You built again without clobbering.
A clobber fixes the issue. The problem is that PSocketProcess.ipdl in the objdir is not rebuilt after changing the build config.
Ah, yes, that's it.
Clobbering does seem to get rid of the issue. Thanks!
Updated•6 days ago
|
Description
•