Closed Bug 1638293 Opened 5 years ago Closed 5 years ago

‘self’ was not declared in mozilla::ipc::BaseProcessLauncher::DoSetup()

Categories

(Core :: IPC, defect, P1)

defect

Tracking

()

RESOLVED FIXED
mozilla78
Tracking Status
firefox-esr68 --- unaffected
firefox76 --- unaffected
firefox77 --- unaffected
firefox78 --- fixed

People

(Reporter: dan, Assigned: gcp)

References

(Regression)

Details

(Keywords: regression)

Attachments

(2 files)

My debug build fails with

0:12.06 gmake[4]: Opouští se adresář „/mnt/dan/firefox.git/obj-powerpc64le-unknown-linux-gnu/ipc/chromium/src/third_party“
 0:12.06 gmake[4]: Vstupuje se do adresáře „/mnt/dan/firefox.git/obj-powerpc64le-unknown-linux-gnu/ipc/glue“
 0:12.06 ipc/glue/Unified_cpp_ipc_glue0.o
 0:12.06 /usr/bin/g++ -std=gnu++17 -o Unified_cpp_ipc_glue0.o -c  -I/mnt/dan/firefox.git/obj-powerpc64le-unknown-linux-gnu/dist/stl_wrappers -I/mnt/dan/firefox.git/obj-powerpc64le-unknown-linux-gnu/dist/system_wrappers -include /mnt/dan/firefox.git/config/gcc_hidden.h -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -fstack-protector-strong -DDEBUG=1 -DHAVE_UINT64_T -DWEBRTC_POSIX -DWEBRTC_BUILD_LIBEVENT -DWEBRTC_LINUX -DOS_POSIX=1 -DOS_LINUX=1 '-DMOZ_CHILD_PROCESS_NAME="plugin-container"' '-DMOZ_CHILD_PROCESS_BUNDLE="plugin-container.app/Contents/MacOS/"' -DMOZ_HAS_MOZGLUE -DMOZILLA_INTERNAL_API -DIMPL_LIBXUL -DSTATIC_EXPORTABLE_JS_API -I/mnt/dan/firefox.git/ipc/glue -I/mnt/dan/firefox.git/obj-powerpc64le-unknown-linux-gnu/ipc/glue -I/mnt/dan/firefox.git/caps -I/mnt/dan/firefox.git/dom/broadcastchannel -I/mnt/dan/firefox.git/dom/indexedDB -I/mnt/dan/firefox.git/dom/storage -I/mnt/dan/firefox.git/media/webrtc/trunk -I/mnt/dan/firefox.git/media/webrtc/trunk/webrtc -I/mnt/dan/firefox.git/netwerk/base -I/mnt/dan/firefox.git/xpcom/build -I/mnt/dan/firefox.git/dom/ipc -I/mnt/dan/firefox.git/toolkit/crashreporter -I/mnt/dan/firefox.git/toolkit/xre -I/mnt/dan/firefox.git/xpcom/base -I/mnt/dan/firefox.git/xpcom/threads -I/mnt/dan/firefox.git/obj-powerpc64le-unknown-linux-gnu/ipc/ipdl/_ipdlheaders -I/mnt/dan/firefox.git/ipc/chromium/src -I/mnt/dan/firefox.git/ipc/glue -I/mnt/dan/firefox.git/obj-powerpc64le-unknown-linux-gnu/dist/include -I/mnt/dan/firefox.git/obj-powerpc64le-unknown-linux-gnu/dist/include/nspr -I/mnt/dan/firefox.git/obj-powerpc64le-unknown-linux-gnu/dist/include/nss -fPIC -DMOZILLA_CLIENT -include /mnt/dan/firefox.git/obj-powerpc64le-unknown-linux-gnu/mozilla-config.h -Wall -Wempty-body -Wignored-qualifiers -Woverloaded-virtual -Wpointer-arith -Wsign-compare -Wtype-limits -Wunreachable-code -Wwrite-strings -Wno-invalid-offsetof -Wduplicated-cond -Wimplicit-fallthrough -Wunused-function -Wunused-variable -Wno-error=maybe-uninitialized -Wno-error=deprecated-declarations -Wno-error=array-bounds -Wno-error=coverage-mismatch -Wno-error=free-nonheap-object -Wno-multistatement-macros -Wno-error=class-memaccess -Wno-error=deprecated-copy -Wformat -Wformat-overflow=2 -fno-sized-deallocation -fno-aligned-new -fno-exceptions -fno-strict-aliasing -fno-rtti -fno-exceptions -fno-math-errno -pthread -pipe -g -Og -fno-omit-frame-pointer -funwind-tables -Wno-error=shadow -Wno-shadow  -MD -MP -MF .deps/Unified_cpp_ipc_glue0.o.pp  -fdiagnostics-color  Unified_cpp_ipc_glue0.cpp
 0:22.67 In file included from Unified_cpp_ipc_glue0.cpp:110:
 0:22.67 /mnt/dan/firefox.git/ipc/glue/GeckoChildProcessHost.cpp: In member function ‘virtual bool mozilla::ipc::BaseProcessLauncher::DoSetup()’:
 0:22.67 /mnt/dan/firefox.git/ipc/glue/GeckoChildProcessHost.cpp:1039:5: error: ‘self’ was not declared in this scope
 0:22.67  1039 |     self->mLaunchOptions->env_map[ENVIRONMENT_LITERAL("MALLOC_OPTIONS")] =
 0:22.67       |     ^~~~
 0:24.21 In file included from /mnt/dan/firefox.git/obj-powerpc64le-unknown-linux-gnu/dist/include/mozilla/ipc/FileDescriptorShuffle.h:11,
 0:24.21                  from /mnt/dan/firefox.git/ipc/chromium/src/base/process_util.h:40,
 0:24.21                  from /mnt/dan/firefox.git/obj-powerpc64le-unknown-linux-gnu/dist/include/mozilla/ipc/Transport.h:10,
 0:24.21                  from /mnt/dan/firefox.git/ipc/glue/BackgroundChild.h:11,
 0:24.21                  from /mnt/dan/firefox.git/ipc/glue/BackgroundImpl.cpp:7,
 0:24.21                  from Unified_cpp_ipc_glue0.cpp:2:
 0:24.21 /mnt/dan/firefox.git/obj-powerpc64le-unknown-linux-gnu/dist/include/nsTArray.h: In instantiation of ‘static void AssignRangeAlgorithm<true, true>::implementation(ElemType*, IndexType, SizeType, const Item*) [with Item = mozilla::dom::workerinternals::JSSettings::JSGCSetting; ElemType = mozilla::dom::workerinternals::JSSettings::JSGCSetting; IndexType = long unsigned int; SizeType = long unsigned int]’:
 0:24.21 /mnt/dan/firefox.git/obj-powerpc64le-unknown-linux-gnu/dist/include/nsTArray.h:2310:57:   required from ‘void nsTArray_Impl<E, Alloc>::AssignRange(nsTArray_Impl<E, Alloc>::index_type, nsTArray_Impl<E, Alloc>::size_type, const Item*) [with Item = mozilla::dom::workerinternals::JSSettings::JSGCSetting; E = mozilla::dom::workerinternals::JSSettings::JSGCSetting; Alloc = nsTArrayInfallibleAllocator; nsTArray_Impl<E, Alloc>::index_type = long unsigned int; nsTArray_Impl<E, Alloc>::size_type = long unsigned int]’
 0:24.21 /mnt/dan/firefox.git/obj-powerpc64le-unknown-linux-gnu/dist/include/nsTArray.h:2334:3:   required from ‘nsTArray_Impl<E, Alloc>::elem_type* nsTArray_Impl<E, Alloc>::ReplaceElementsAtInternal(nsTArray_Impl<E, Alloc>::index_type, nsTArray_Impl<E, Alloc>::size_type, const Item*, nsTArray_Impl<E, Alloc>::size_type) [with ActualAlloc = nsTArrayInfallibleAllocator; Item = mozilla::dom::workerinternals::JSSettings::JSGCSetting; E = mozilla::dom::workerinternals::JSSettings::JSGCSetting; Alloc = nsTArrayInfallibleAllocator; nsTArray_Impl<E, Alloc>::elem_type = mozilla::dom::workerinternals::JSSettings::JSGCSetting; nsTArray_Impl<E, Alloc>::index_type = long unsigned int; nsTArray_Impl<E, Alloc>::size_type = long unsigned int]’
 0:24.22 /mnt/dan/firefox.git/obj-powerpc64le-unknown-linux-gnu/dist/include/nsTArray.h:1398:48:   required from ‘typename ActualAlloc::ResultType nsTArray_Impl<E, Alloc>::Assign(const nsTArray_Impl<E, Allocator>&) [with Allocator = nsTArrayInfallibleAllocator; ActualAlloc = nsTArrayInfallibleAllocator; E = mozilla::dom::workerinternals::JSSettings::JSGCSetting; Alloc = nsTArrayInfallibleAllocator; typename ActualAlloc::ResultType = void]’
 0:24.22 /mnt/dan/firefox.git/obj-powerpc64le-unknown-linux-gnu/dist/include/nsTArray.h:2785:7:   required from ‘CopyableTArray<E>& CopyableTArray<E>::operator=(const CopyableTArray<E>&) [with E = mozilla::dom::workerinternals::JSSettings::JSGCSetting]’
 0:24.22 /mnt/dan/firefox.git/obj-powerpc64le-unknown-linux-gnu/dist/include/mozilla/dom/workerinternals/JSSettings.h:26:8:   required from here
 0:24.22 /mnt/dan/firefox.git/obj-powerpc64le-unknown-linux-gnu/dist/include/nsTArray.h:647:13: warning: ‘void* memcpy(void*, const void*, size_t)’ writing to an object of non-trivially copyable type ‘struct mozilla::dom::workerinternals::JSSettings::JSGCSetting’; use copy-assignment or copy-initialization instead [-Wclass-memaccess]
 0:24.22   647 |       memcpy(aElements + aStart, aValues, aCount * sizeof(ElemType));
 0:24.22       |       ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 0:24.22 In file included from /mnt/dan/firefox.git/obj-powerpc64le-unknown-linux-gnu/dist/include/mozilla/dom/WorkerPrivate.h:34,
 0:24.22                  from /mnt/dan/firefox.git/ipc/glue/BackgroundImpl.cpp:29,
 0:24.22                  from Unified_cpp_ipc_glue0.cpp:2:
 0:24.22 /mnt/dan/firefox.git/obj-powerpc64le-unknown-linux-gnu/dist/include/mozilla/dom/workerinternals/JSSettings.h:27:10: note: ‘struct mozilla::dom::workerinternals::JSSettings::JSGCSetting’ declared here
 0:24.22    27 |   struct JSGCSetting {
 0:24.22       |          ^~~~~~~~~~~
 0:24.85 gmake[4]: *** [/mnt/dan/firefox.git/config/rules.mk:752: Unified_cpp_ipc_glue0.o] Chyba 1
 0:24.85 gmake[4]: Opouští se adresář „/mnt/dan/firefox.git/obj-powerpc64le-unknown-linux-gnu/ipc/glue“
 0:24.85 gmake[3]: *** [/mnt/dan/firefox.git/config/recurse.mk:74: ipc/glue/target-objects] Chyba 2
 0:24.85 gmake[3]: Opouští se adresář „/mnt/dan/firefox.git/obj-powerpc64le-unknown-linux-gnu“
 0:24.86 gmake[2]: *** [/mnt/dan/firefox.git/config/recurse.mk:34: compile] Chyba 2
 0:24.86 gmake[2]: Opouští se adresář „/mnt/dan/firefox.git/obj-powerpc64le-unknown-linux-gnu“
 0:24.86 gmake[1]: *** [/mnt/dan/firefox.git/config/rules.mk:394: default] Chyba 2
 0:24.86 gmake[1]: Opouští se adresář „/mnt/dan/firefox.git/obj-powerpc64le-unknown-linux-gnu“
 0:24.86 gmake: *** [client.mk:125: build] Chyba 2
 0:24.86 11 compiler warnings present.

It should be related to recent changes in the profiler macros (bug 1635338 or bug 1634784), bug 1637895 is another fallout.

It looks like this was regressed by bug 1553717, which introduced a second use of self under a different #ifdef.

Status: UNCONFIRMED → NEW
Ever confirmed: true
Regressed by: 1553717
Has Regression Range: --- → yes
Assignee: nobody → gpascutto
Severity: -- → S4
Priority: -- → P1

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

the fix looks good to me

Pushed by gpascutto@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/08fb02c0e7da Fix missing definition of self in BaseProcessLauncher. r=jld
Status: NEW → RESOLVED
Closed: 5 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla78
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: