Closed Bug 1637895 Opened 5 years ago Closed 5 years ago

TestBaseProfiler fails to compile on ppc64le and s390x

Categories

(Core :: Gecko Profiler, defect, P3)

Other
Linux
defect

Tracking

()

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

People

(Reporter: dan, Assigned: mozbugz)

References

(Regression)

Details

(Keywords: regression)

Attachments

(1 file)

For a ~week the TestBaseProfiler from mozglue/tests/TestBaseProfiler.cpp fails to compile on ppc64le and s390x. I think it's related to https://phabricator.services.mozilla.com/D73526

....
mozglue/tests/TestBaseProfiler.o
/usr/bin/g++ -std=gnu++17 -o TestBaseProfiler.o -c  -I/home/jenkins/workspace/Firefox-default/label/s390x/firefox/obj-s390x-ibm-linux-gnu/dist/system_wrappers -include /home/jenkins/workspace/Firefox-default/label/s390x/firefox/config/gcc_hidden.h -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -fstack-protector-strong -DNDEBUG=1 -DTRIMMED=1 -DMOZ_HAS_MOZGLUE -I/home/jenkins/workspace/Firefox-default/label/s390x/firefox/mozglue/tests -I/home/jenkins/workspace/Firefox-default/label/s390x/firefox/obj-s390x-ibm-linux-gnu/mozglue/tests -I/home/jenkins/workspace/Firefox-default/label/s390x/firefox/obj-s390x-ibm-linux-gnu/dist/include -I/home/jenkins/workspace/Firefox-default/label/s390x/firefox/obj-s390x-ibm-linux-gnu/dist/include/testing -I/home/jenkins/workspace/Firefox-default/label/s390x/firefox/obj-s390x-ibm-linux-gnu/dist/include/nspr -I/home/jenkins/workspace/Firefox-default/label/s390x/firefox/obj-s390x-ibm-linux-gnu/dist/include/nss -fPIC -DMOZILLA_CLIENT -include /home/jenkins/workspace/Firefox-default/label/s390x/firefox/obj-s390x-ibm-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 -freorder-blocks -O2 -fno-omit-frame-pointer -funwind-tables  -MD -MP -MF .deps/TestBaseProfiler.o.pp   /home/jenkins/workspace/Firefox-default/label/s390x/firefox/mozglue/tests/TestBaseProfiler.cpp
In file included from /home/jenkins/workspace/Firefox-default/label/s390x/firefox/obj-s390x-ibm-linux-gnu/dist/include/mozilla/BlocksRingBuffer.h:10,
                 from /home/jenkins/workspace/Firefox-default/label/s390x/firefox/mozglue/tests/TestBaseProfiler.cpp:9:
/home/jenkins/workspace/Firefox-default/label/s390x/firefox/obj-s390x-ibm-linux-gnu/dist/include/mozilla/BaseProfilerDetail.h:18:4: error: #error Do not #include this header when MOZ_GECKO_PROFILER is not #defined.
   18 | #  error Do not #include this header when MOZ_GECKO_PROFILER is not #defined.
      |    ^~~~~
In file included from /home/jenkins/workspace/Firefox-default/label/s390x/firefox/obj-s390x-ibm-linux-gnu/dist/include/mozilla/BlocksRingBuffer.h:10,
                 from /home/jenkins/workspace/Firefox-default/label/s390x/firefox/mozglue/tests/TestBaseProfiler.cpp:9:
/home/jenkins/workspace/Firefox-default/label/s390x/firefox/obj-s390x-ibm-linux-gnu/dist/include/mozilla/BaseProfilerDetail.h: In member function ‘bool mozilla::baseprofiler::detail::BaseProfilerMutex::IsLockedOnCurrentThread() const’:
/home/jenkins/workspace/Firefox-default/label/s390x/firefox/obj-s390x-ibm-linux-gnu/dist/include/mozilla/BaseProfilerDetail.h:40:45: error: ‘profiler_current_thread_id’ is not a member of ‘mozilla::baseprofiler’
   40 |     return mOwningThreadId == baseprofiler::profiler_current_thread_id();
      |                                             ^~~~~~~~~~~~~~~~~~~~~~~~~~
/home/jenkins/workspace/Firefox-default/label/s390x/firefox/obj-s390x-ibm-linux-gnu/dist/include/mozilla/BaseProfilerDetail.h: In member function ‘void mozilla::baseprofiler::detail::BaseProfilerMutex::Lock()’:
/home/jenkins/workspace/Firefox-default/label/s390x/firefox/obj-s390x-ibm-linux-gnu/dist/include/mozilla/BaseProfilerDetail.h:48:35: error: ‘profiler_current_thread_id’ is not a member of ‘mozilla::baseprofiler’
   48 |     const int tid = baseprofiler::profiler_current_thread_id();
      |                                   ^~~~~~~~~~~~~~~~~~~~~~~~~~
gmake[4]: *** [/home/jenkins/workspace/Firefox-default/label/s390x/firefox/config/rules.mk:752: TestBaseProfiler.o] Error 1
gmake[4]: Leaving directory '/home/jenkins/workspace/Firefox-default/label/s390x/firefox/obj-s390x-ibm-linux-gnu/mozglue/tests'
gmake[3]: *** [/home/jenkins/workspace/Firefox-default/label/s390x/firefox/config/recurse.mk:74: mozglue/tests/target-objects] Error 2
gmake[3]: Leaving directory '/home/jenkins/workspace/Firefox-default/label/s390x/firefox/obj-s390x-ibm-linux-gnu'
gmake[2]: *** [/home/jenkins/workspace/Firefox-default/label/s390x/firefox/config/recurse.mk:34: compile] Error 2
gmake[2]: Leaving directory '/home/jenkins/workspace/Firefox-default/label/s390x/firefox/obj-s390x-ibm-linux-gnu'
gmake[1]: *** [/home/jenkins/workspace/Firefox-default/label/s390x/firefox/config/rules.mk:394: default] Error 2
gmake[1]: Leaving directory '/home/jenkins/workspace/Firefox-default/label/s390x/firefox/obj-s390x-ibm-linux-gnu'
gmake: *** [client.mk:125: build] Error 2
201 compiler warnings present.
/usr/bin/notify-send --app-name=Mozilla Build System Mozilla Build System Build failed
Build step 'Execute shell' marked build as failure
Finished: FAILURE

I think it's because of bug 1635338, patch https://phabricator.services.mozilla.com/D73786
It should be easy enough to fix, I'll have a look...

Assignee: nobody → gsquelart
Priority: -- → P3
Regressed by: 1635338
Has Regression Range: --- → yes
Component: mozglue → Gecko Profiler

Thanks, let me know when you will need feedback/testing from me.

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

Status: UNCONFIRMED → NEW
Ever confirmed: true

(In reply to Gerald Squelart [:gerald] (he/him) from comment #4)

Try: https://treeherder.mozilla.org/#/jobs?repo=try&group_state=expanded&revision=4df86f90743cd50cea66788334f949a1c164b4b3

Dan, could you please verify this patch on one of your systems? https://hg.mozilla.org/try/rev/6c3fcda52dcc44b4d707c1b8ea4d07759b6a1bdb

The change looks good, no problem on s390x, ppc64le suffers from some unrelated issues (eg. in security/nss/lib/freebl), but the test binary builds.

Flags: needinfo?(dan)
Pushed by canaltinova@gmail.com: https://hg.mozilla.org/integration/autoland/rev/e51f0912d1ba Fix TestBaseProfiler build when MOZ_GECKO_PROFILER in not #defined - r=canaltinova
Status: NEW → RESOLVED
Closed: 5 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla78
Depends on: 1649653
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: