Maybe<T> should be trivially destructible for trivially destructible move-only T
Categories
(Core :: MFBT, task)
Tracking
()
Tracking | Status | |
---|---|---|
firefox76 | --- | fixed |
People
(Reporter: sg, Assigned: sg)
References
Details
Attachments
(1 file)
Assignee | ||
Updated•5 years ago
|
Assignee | ||
Comment 1•5 years ago
|
||
Comment 3•5 years ago
|
||
Backed out 2 changesets (bug 1625871, bug 1625869) for gtest assertions on Maybe.h
Backout link: https://hg.mozilla.org/integration/autoland/rev/6762dd78491c50505a7d63bd67405e161f88f4a6
Failure log: https://treeherder.mozilla.org/logviewer.html#/jobs?job_id=295380158&repo=autoland&lineNumber=1425
[task 2020-03-30T14:26:08.870Z] 14:26:08 INFO - TEST-START | InitializedOnce.MoveConstruct
[task 2020-03-30T14:26:08.870Z] 14:26:08 INFO - Assertion failure: !isSome(), at /builds/worker/workspace/obj-build/dist/include/mozilla/Maybe.h:749
[task 2020-03-30T14:26:37.156Z] 14:26:37 INFO - #01: InitializedOnce_MoveConstruct_Test::TestBody() [mfbt/tests/gtest/TestInitializedOnce.cpp:118]
[task 2020-03-30T14:26:37.156Z] 14:26:37 INFO - #02: testing::Test::Run() [testing/gtest/gtest/src/gtest.cc:2526]
[task 2020-03-30T14:26:37.156Z] 14:26:37 INFO - #03: testing::TestInfo::Run() [testing/gtest/gtest/src/gtest.cc:2699]
[task 2020-03-30T14:26:37.157Z] 14:26:37 INFO - #04: testing::TestCase::Run() [testing/gtest/gtest/src/gtest.cc:2812]
[task 2020-03-30T14:26:37.157Z] 14:26:37 INFO - #05: testing::internal::UnitTestImpl::RunAllTests() [testing/gtest/gtest/src/gtest.cc:5178]
[task 2020-03-30T14:26:37.157Z] 14:26:37 INFO - #06: testing::UnitTest::Run() [testing/gtest/gtest/src/gtest.cc:4788]
[task 2020-03-30T14:26:37.163Z] 14:26:37 INFO - #07: mozilla::RunGTestFunc(int*, char**) [testing/gtest/mozilla/GTestRunner.cpp:156]
[task 2020-03-30T14:26:37.163Z] 14:26:37 INFO - #08: XREMain::XRE_mainStartup(bool*) [toolkit/xre/nsAppRunner.cpp:3762]
[task 2020-03-30T14:26:37.163Z] 14:26:37 INFO - #09: XREMain::XRE_main(int, char**, mozilla::BootstrapConfig const&) [toolkit/xre/nsAppRunner.cpp:4748]
[task 2020-03-30T14:26:37.164Z] 14:26:37 INFO - #10: XRE_main(int, char**, mozilla::BootstrapConfig const&) [toolkit/xre/nsAppRunner.cpp:4812]
[task 2020-03-30T14:26:37.164Z] 14:26:37 INFO - #11: _fini
[task 2020-03-30T14:26:37.164Z] 14:26:37 INFO - #12: libc.so.6 + 0x21b97
[task 2020-03-30T14:26:37.165Z] 14:26:37 INFO - #13: _fini
[task 2020-03-30T14:26:37.165Z] 14:26:37 INFO - ExceptionHandler::GenerateDump cloned child ExceptionHandler::WaitForContinueSignal waiting for continue signal...
[task 2020-03-30T14:26:37.165Z] 14:26:37 INFO - 1178
[task 2020-03-30T14:26:37.165Z] 14:26:37 INFO - ExceptionHandler::SendContinueSignalToChild sent continue signal to child
[task 2020-03-30T14:26:37.166Z] 14:26:37 INFO - gtest INFO | gtest | process wait complete, returncode=-11
[task 2020-03-30T14:26:37.166Z] 14:26:37 INFO - mozcrash INFO | Copy/paste: /builds/worker/fetches/minidump_stackwalk/minidump_stackwalk /builds/worker/workspace/build/tests/gtest/72c44855-8d8f-f4a2-2663-903b6179fb64.dmp /builds/worker/workspace/build/symbols
[task 2020-03-30T14:26:44.568Z] 14:26:44 INFO - mozcrash INFO | Saved minidump as /builds/worker/workspace/build/blobber_upload_dir/72c44855-8d8f-f4a2-2663-903b6179fb64.dmp
[task 2020-03-30T14:26:44.568Z] 14:26:44 INFO - mozcrash INFO | Saved app info as /builds/worker/workspace/build/blobber_upload_dir/72c44855-8d8f-f4a2-2663-903b6179fb64.extra
[task 2020-03-30T14:26:44.569Z] 14:26:44 WARNING - PROCESS-CRASH | gtest | application crashed [@ mozilla::Maybe<(anonymous namespace)::MoveOnly>::emplace<(anonymous namespace)::MoveOnly>((anonymous namespace)::MoveOnly&&)]
[task 2020-03-30T14:26:44.569Z] 14:26:44 INFO - Crash dump filename: /builds/worker/workspace/build/tests/gtest/72c44855-8d8f-f4a2-2663-903b6179fb64.dmp
[task 2020-03-30T14:26:44.570Z] 14:26:44 INFO - Mozilla crash reason: MOZ_DIAGNOSTIC_ASSERT(!isSome())
[task 2020-03-30T14:26:44.571Z] 14:26:44 INFO - Operating system: Linux
[task 2020-03-30T14:26:44.571Z] 14:26:44 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-30T14:26:44.572Z] 14:26:44 INFO - CPU: amd64
[task 2020-03-30T14:26:44.572Z] 14:26:44 INFO - family 6 model 62 stepping 4
[task 2020-03-30T14:26:44.573Z] 14:26:44 INFO - 4 CPUs
[task 2020-03-30T14:26:44.573Z] 14:26:44 INFO - GPU: UNKNOWN
[task 2020-03-30T14:26:44.573Z] 14:26:44 INFO - Crash reason: SIGSEGV /SEGV_MAPERR
[task 2020-03-30T14:26:44.574Z] 14:26:44 INFO - Crash address: 0x0
[task 2020-03-30T14:26:44.574Z] 14:26:44 INFO - Process uptime: not available
[task 2020-03-30T14:26:44.575Z] 14:26:44 INFO - Thread 0 (crashed)
[task 2020-03-30T14:26:44.576Z] 14:26:44 INFO - 0 libxul.so!void mozilla::Maybe<(anonymous namespace)::MoveOnly>::emplace<(anonymous namespace)::MoveOnly>((anonymous namespace)::MoveOnly&&) [Maybe.h:8dee41ad98cf4d07d54d97a1f76e352c44a0bb1b : 749 + 0x29]
[task 2020-03-30T14:26:44.576Z] 14:26:44 INFO - rax = 0x00007f80190be236 rdx = 0x0000000000000000
[task 2020-03-30T14:26:44.576Z] 14:26:44 INFO - rcx = 0x0000560bcce84d78 rbx = 0x00007fffad85bea0
[task 2020-03-30T14:26:44.577Z] 14:26:44 INFO - rsi = 0x00007f8025fef8b0 rdi = 0x00007f8025fee680
[task 2020-03-30T14:26:44.577Z] 14:26:44 INFO - rbp = 0x00007fffad85be80 rsp = 0x00007fffad85be80
[task 2020-03-30T14:26:44.578Z] 14:26:44 INFO - r8 = 0x00007f8025fef8b0 r9 = 0x00007f802715e780
[task 2020-03-30T14:26:44.578Z] 14:26:44 INFO - r10 = 0x0000000000000000 r11 = 0x0000000000000000
[task 2020-03-30T14:26:44.578Z] 14:26:44 INFO - r12 = 0x00007f8025a66ac0 r13 = 0x00007f8025ab2020
[task 2020-03-30T14:26:44.578Z] 14:26:44 INFO - r14 = 0x00007f8025ab2020 r15 = 0x000000005e820180
[task 2020-03-30T14:26:44.578Z] 14:26:44 INFO - rip = 0x00007f801265d227
[task 2020-03-30T14:26:44.579Z] 14:26:44 INFO - Found by: given as instruction pointer in context
[task 2020-03-30T14:26:44.579Z] 14:26:44 INFO - 1 libxul.so!InitializedOnce_MoveConstruct_Test::TestBody() [TestInitializedOnce.cpp:8dee41ad98cf4d07d54d97a1f76e352c44a0bb1b : 118 + 0x2d]
[task 2020-03-30T14:26:44.580Z] 14:26:44 INFO - rbx = 0x00007fffad85bea0 rbp = 0x00007fffad85bec0
[task 2020-03-30T14:26:44.580Z] 14:26:44 INFO - rsp = 0x00007fffad85be90 r12 = 0x00007f8025a66ac0
[task 2020-03-30T14:26:44.581Z] 14:26:44 INFO - r13 = 0x00007f8025ab2020 r14 = 0x00007f8025ab2020
[task 2020-03-30T14:26:44.582Z] 14:26:44 INFO - r15 = 0x000000005e820180 rip = 0x00007f801265beae
[task 2020-03-30T14:26:44.582Z] 14:26:44 INFO - Found by: call frame info
[task 2020-03-30T14:26:44.583Z] 14:26:44 INFO - 2 libxul.so!testing::Test::Run() [gtest.cc:8dee41ad98cf4d07d54d97a1f76e352c44a0bb1b : 2519 + 0xe]
[task 2020-03-30T14:26:44.583Z] 14:26:44 INFO - rbx = 0x00007f800e82c110 rbp = 0x00007fffad85bee0
[task 2020-03-30T14:26:44.584Z] 14:26:44 INFO - rsp = 0x00007fffad85bed0 r12 = 0x00007f8025a66ac0
[task 2020-03-30T14:26:44.584Z] 14:26:44 INFO - r13 = 0x00007f8025ab2020 r14 = 0x00007f8025ab2020
[task 2020-03-30T14:26:44.585Z] 14:26:44 INFO - r15 = 0x000000005e820180 rip = 0x00007f8012a370be
[task 2020-03-30T14:26:44.586Z] 14:26:44 INFO - Found by: call frame info
[task 2020-03-30T14:26:44.586Z] 14:26:44 INFO - 3 libxul.so!testing::TestInfo::Run() [gtest.cc:8dee41ad98cf4d07d54d97a1f76e352c44a0bb1b : 2695 + 0x8]
[task 2020-03-30T14:26:44.588Z] 14:26:44 INFO - rbx = 0x00007f800e82c110 rbp = 0x00007fffad85bf40
[task 2020-03-30T14:26:44.588Z] 14:26:44 INFO - rsp = 0x00007fffad85bef0 r12 = 0x00007f8025a66ac0
[task 2020-03-30T14:26:44.589Z] 14:26:44 INFO - r13 = 0x00007f8025ab2020 r14 = 0x00007f8025ab4040
[task 2020-03-30T14:26:44.590Z] 14:26:44 INFO - r15 = 0x000000005e820180 rip = 0x00007f8012a37bad
[task 2020-03-30T14:26:44.590Z] 14:26:44 INFO - Found by: call frame info
[task 2020-03-30T14:26:44.592Z] 14:26:44 INFO - 4 libxul.so!testing::TestCase::Run() [gtest.cc:8dee41ad98cf4d07d54d97a1f76e352c44a0bb1b : 2813 + 0x2d]
[task 2020-03-30T14:26:44.593Z] 14:26:44 INFO - rbx = 0x0000000000000002 rbp = 0x00007fffad85bfa0
[task 2020-03-30T14:26:44.595Z] 14:26:44 INFO - rsp = 0x00007fffad85bf50 r12 = 0x00007f8025ab2020
[task 2020-03-30T14:26:44.595Z] 14:26:44 INFO - r13 = 0x00007f8025ab2020 r14 = 0x00007f8025a904a0
[task 2020-03-30T14:26:44.596Z] 14:26:44 INFO - r15 = 0x00000000000d2097 rip = 0x00007f8012a37fd3
[task 2020-03-30T14:26:44.597Z] 14:26:44 INFO - Found by: call frame info
[task 2020-03-30T14:26:44.598Z] 14:26:44 INFO - 5 libxul.so!testing::internal::UnitTestImpl::RunAllTests() [gtest.cc:8dee41ad98cf4d07d54d97a1f76e352c44a0bb1b : 5179 + 0x5]
[task 2020-03-30T14:26:44.598Z] 14:26:44 INFO - rbx = 0x0000000000000000 rbp = 0x00007fffad85c040
[task 2020-03-30T14:26:44.599Z] 14:26:44 INFO - rsp = 0x00007fffad85bfb0 r12 = 0x00007f8025ab2020
[task 2020-03-30T14:26:44.600Z] 14:26:44 INFO - r13 = 0x0000000000000000 r14 = 0x0000000000000001
[task 2020-03-30T14:26:44.602Z] 14:26:44 INFO - r15 = 0x00007f8025ab4040 rip = 0x00007f8012a417d5
[task 2020-03-30T14:26:44.602Z] 14:26:44 INFO - Found by: call frame info
[task 2020-03-30T14:26:44.605Z] 14:26:44 INFO - 6 libxul.so!testing::UnitTest::Run() [gtest.cc:8dee41ad98cf4d07d54d97a1f76e352c44a0bb1b : 4788 + 0xd]
[task 2020-03-30T14:26:44.605Z] 14:26:44 INFO - rbx = 0x00007f8025ab2020 rbp = 0x00007fffad85c070
[task 2020-03-30T14:26:44.606Z] 14:26:44 INFO - rsp = 0x00007fffad85c050 r12 = 0x00007f8010617760
[task 2020-03-30T14:26:44.607Z] 14:26:44 INFO - r13 = 0x0000000000000001 r14 = 0x00007fffad85c050
[task 2020-03-30T14:26:44.607Z] 14:26:44 INFO - r15 = 0x0000000000000000 rip = 0x00007f8012a41433
[task 2020-03-30T14:26:44.608Z] 14:26:44 INFO - Found by: call frame info
[task 2020-03-30T14:26:44.608Z] 14:26:44 INFO - 7 libxul.so!mozilla::RunGTestFunc(int*, char**) [GTestRunner.cpp:8dee41ad98cf4d07d54d97a1f76e352c44a0bb1b : 156 + 0xd]
[task 2020-03-30T14:26:44.608Z] 14:26:44 INFO - rbx = 0x00007fffad85c090 rbp = 0x00007fffad85c1a0
[task 2020-03-30T14:26:44.609Z] 14:26:44 INFO - rsp = 0x00007fffad85c080 r12 = 0x00007f8010617760
[task 2020-03-30T14:26:44.609Z] 14:26:44 INFO - r13 = 0x0000000000000001 r14 = 0x00007f801061fa68
[task 2020-03-30T14:26:44.610Z] 14:26:44 INFO - r15 = 0x0000000000000000 rip = 0x00007f8012a50d3b
[task 2020-03-30T14:26:44.610Z] 14:26:44 INFO - Found by: call frame info
[task 2020-03-30T14:26:44.610Z] 14:26:44 INFO - 8 libxul.so!XREMain::XRE_mainStartup(bool*) [nsAppRunner.cpp:8dee41ad98cf4d07d54d97a1f76e352c44a0bb1b : 3762 + 0x10]
[task 2020-03-30T14:26:44.610Z] 14:26:44 INFO - rbx = 0x00007fffad85c250 rbp = 0x00007fffad85c2e0
[task 2020-03-30T14:26:44.610Z] 14:26:44 INFO - rsp = 0x00007fffad85c1b0 r12 = 0x00007f8010617760
[task 2020-03-30T14:26:44.610Z] 14:26:44 INFO - r13 = 0x0000000000000001 r14 = 0x00007fffad85c307
[task 2020-03-30T14:26:44.610Z] 14:26:44 INFO - r15 = 0x00007fffad85c3b0 rip = 0x00007f8016dcc5cd
[task 2020-03-30T14:26:44.610Z] 14:26:44 INFO - Found by: call frame info
[task 2020-03-30T14:26:44.610Z] 14:26:44 INFO - 9 libxul.so!XREMain::XRE_main(int, char**, mozilla::BootstrapConfig const&) [nsAppRunner.cpp:8dee41ad98cf4d07d54d97a1f76e352c44a0bb1b : 4748 + 0x8]
[task 2020-03-30T14:26:44.611Z] 14:26:44 INFO - rbx = 0x00007fffad85c3b0 rbp = 0x00007fffad85c3a0
[task 2020-03-30T14:26:44.611Z] 14:26:44 INFO - rsp = 0x00007fffad85c2f0 r12 = 0x0000000000000000
[task 2020-03-30T14:26:44.611Z] 14:26:44 INFO - r13 = 0x00007fffad85c3e8 r14 = 0x00007fffad85c360
[task 2020-03-30T14:26:44.611Z] 14:26:44 INFO - r15 = 0x00007fffad85c308 rip = 0x00007f8016dd18db
[task 2020-03-30T14:26:44.611Z] 14:26:44 INFO - Found by: call frame info
[task 2020-03-30T14:26:44.611Z] 14:26:44 INFO - 10 libxul.so!XRE_main(int, char**, mozilla::BootstrapConfig const&) [nsAppRunner.cpp:8dee41ad98cf4d07d54d97a1f76e352c44a0bb1b : 4812 + 0x10]
[task 2020-03-30T14:26:44.611Z] 14:26:44 INFO - rbx = 0x0000000000000003 rbp = 0x00007fffad85c4f0
[task 2020-03-30T14:26:44.611Z] 14:26:44 INFO - rsp = 0x00007fffad85c3b0 r12 = 0x00007fffad85c3b0
[task 2020-03-30T14:26:44.611Z] 14:26:44 INFO - r13 = 0x00007fffad85e253 r14 = 0x00007fffad85c550
[task 2020-03-30T14:26:44.612Z] 14:26:44 INFO - r15 = 0x00007fffad85d668 rip = 0x00007f8016dd1e9e
[task 2020-03-30T14:26:44.612Z] 14:26:44 INFO - Found by: call frame info
[task 2020-03-30T14:26:44.612Z] 14:26:44 INFO - 11 firefox-bin!main [nsBrowserApp.cpp:8dee41ad98cf4d07d54d97a1f76e352c44a0bb1b : 217 + 0x1d]
[task 2020-03-30T14:26:44.612Z] 14:26:44 INFO - rbx = 0x00007f801c091650 rbp = 0x00007fffad85d580
[task 2020-03-30T14:26:44.612Z] 14:26:44 INFO - rsp = 0x00007fffad85c500 r12 = 0x00007fffad85d668
[task 2020-03-30T14:26:44.618Z] 14:26:44 INFO - r13 = 0x00007fffad85e253 r14 = 0x00007fffad85c550
[task 2020-03-30T14:26:44.618Z] 14:26:44 INFO - r15 = 0x0000560bcce56243 rip = 0x0000560bccdc0edb
[task 2020-03-30T14:26:44.618Z] 14:26:44 INFO - Found by: call frame info
[task 2020-03-30T14:26:44.619Z] 14:26:44 INFO - 12 libc.so.6 + 0x21b97
[task 2020-03-30T14:26:44.619Z] 14:26:44 INFO - rbx = 0x0000000000000000 rbp = 0x0000560bcce54f80
[task 2020-03-30T14:26:44.619Z] 14:26:44 INFO - rsp = 0x00007fffad85d590 r12 = 0x0000560bccdc0a60
[task 2020-03-30T14:26:44.619Z] 14:26:44 INFO - r13 = 0x00007fffad85d660 r14 = 0x0000000000000000
[task 2020-03-30T14:26:44.619Z] 14:26:44 INFO - r15 = 0x0000000000000000 rip = 0x00007f8025c23b97
[task 2020-03-30T14:26:44.620Z] 14:26:44 INFO - Found by: call frame info
[task 2020-03-30T14:26:44.620Z] 14:26:44 INFO - 13 firefox-bin!<name omitted> [UniquePtr.h:8dee41ad98cf4d07d54d97a1f76e352c44a0bb1b : 253 + 0x17]
[task 2020-03-30T14:26:44.620Z] 14:26:44 INFO - rsp = 0x00007fffad85d5b0 rip = 0x0000560bccdc0c21
[task 2020-03-30T14:26:44.620Z] 14:26:44 INFO - Found by: stack scanning
...
...
Comment 4•5 years ago
|
||
is_literal_type(_v)
was deprecated since C++17 and removed since C++20. Why are you adding new usage more and more?
Assignee | ||
Comment 5•5 years ago
|
||
(In reply to Masatoshi Kimura [:emk] from comment #4)
is_literal_type(_v)
was deprecated since C++17 and removed since C++20. Why are you adding new usage more and more?
The uses are only in tests, not in the production code. I used it because there's no alternative type trait available in C++17, to my knowledge. Otherwise, we would need something like std::is_constexpr_constructible
. I wasn't aware that std::is_literal_type
will be removed in C++20, though. The uses can be replaced by checks that actually construct a constexpr
value. I will give that a look.
Assignee | ||
Comment 7•5 years ago
|
||
(In reply to Bogdan Tara[:bogdan_tara | bogdant] from comment #3)
Backed out 2 changesets (bug 1625871, bug 1625869) for gtest assertions on Maybe.h
Fixed InitializedOnce
gtest failures, added some Maybe tests, and re-landed.
Comment 8•5 years ago
|
||
bugherder |
Description
•