[tbb-bugs] #30375 [Applications/Tor Browser]: Backported fix for bug 24622 does not compile with --enable-tests

Tor Bug Tracker & Wiki blackhole at torproject.org
Fri May 3 07:44:36 UTC 2019


#30375: Backported fix for bug 24622 does not compile with --enable-tests
------------------------------------------+--------------------------------
     Reporter:  gk                        |      Owner:  tbb-team
         Type:  defect                    |     Status:  new
     Priority:  Medium                    |  Milestone:
    Component:  Applications/Tor Browser  |    Version:
     Severity:  Normal                    |   Keywords:
                                          |  TorBrowserTeam201905
Actual Points:                            |  Parent ID:
       Points:                            |   Reviewer:
      Sponsor:                            |
------------------------------------------+--------------------------------
 Compiling commit c722d57604db58695140d95565a78433989fe9ca and later in our
 `tor-browser` repo with `--enable-tests` results in a busted build:
 {{{
 23:59.27 /var/tmp/dist/gcc/bin/g++ -o Unified_cpp_caps_tests_gtest0.o -c
 -I/var/tmp/build/firefox-7a0a10b8ff98/obj-x86_64-pc-linux-
 gnu/dist/stl_wrappers -I/var/tmp/build/firefox-7a0a10b8ff98/obj-x86_64-pc-
 linux-gnu/dist/system_wrappers -include /var/tmp/build/firefox-
 7a0a10b8ff98/config/gcc_hidden.h -DDEBUG=1 -DOS_POSIX=1 -DOS_LINUX=1
 -DSTATIC_EXPORTABLE_JS_API -DMOZILLA_INTERNAL_API -DIMPL_LIBXUL
 -I/var/tmp/build/firefox-7a0a10b8ff98/caps/tests/gtest -I/var/tmp/build
 /firefox-7a0a10b8ff98/obj-x86_64-pc-linux-gnu/caps/tests/gtest
 -I/var/tmp/build/firefox-7a0a10b8ff98/obj-x86_64-pc-linux-
 gnu/ipc/ipdl/_ipdlheaders -I/var/tmp/build/firefox-
 7a0a10b8ff98/ipc/chromium/src -I/var/tmp/build/firefox-
 7a0a10b8ff98/ipc/glue -I/var/tmp/build/firefox-7a0a10b8ff98/obj-x86_64-pc-
 linux-gnu/dist/include -I/var/tmp/build/firefox-7a0a10b8ff98/obj-x86_64
 -pc-linux-gnu/dist/include/nspr -I/var/tmp/build/firefox-7a0a10b8ff98/obj-
 x86_64-pc-linux-gnu/dist/include/nss -fPIC -DMOZILLA_CLIENT -include
 /var/tmp/build/firefox-7a0a10b8ff98/obj-x86_64-pc-linux-gnu/mozilla-
 config.h -U_FORTIFY_SOURCE -fno-common -Wall -Wempty-body -Wignored-
 qualifiers -Woverloaded-virtual -Wpointer-arith -Wsign-compare -Wtype-
 limits -Wunreachable-code -Wwrite-strings -Wno-invalid-offsetof -Wc++1z-
 compat -Wduplicated-cond -Wimplicit-fallthrough -Wno-error=maybe-
 uninitialized -Wno-error=deprecated-declarations -Wno-error=array-bounds
 -Wno-error=free-nonheap-object -Wformat -Wformat-security -Wformat-
 overflow=2 -fno-sized-deallocation -fsanitize=address -fsanitize=address
 -Dxmalloc=myxmalloc -U_FORTIFY_SOURCE -fno-common -fno-exceptions -fno-
 strict-aliasing -fno-rtti -ffunction-sections -fdata-sections -fno-
 exceptions -fno-math-errno -pthread -pipe -g -freorder-blocks -Os -fno-
 omit-frame-pointer  -MD -MP -MF .deps/Unified_cpp_caps_tests_gtest0.o.pp
 /var/tmp/build/firefox-7a0a10b8ff98/obj-x86_64-pc-linux-
 gnu/caps/tests/gtest/Unified_cpp_caps_tests_gtest0.cpp
 24:00.70 In file included from /var/tmp/build/firefox-7a0a10b8ff98/obj-
 x86_64-pc-linux-gnu/dist/include/nsISupportsUtils.h:14:0,
 24:00.70                  from /var/tmp/build/firefox-7a0a10b8ff98/obj-
 x86_64-pc-linux-gnu/dist/include/nsISupports.h:77,
 24:00.70                  from /var/tmp/build/firefox-7a0a10b8ff98/obj-
 x86_64-pc-linux-gnu/dist/include/nsISerializable.h:10,
 24:00.70                  from /var/tmp/build/firefox-7a0a10b8ff98/obj-
 x86_64-pc-linux-gnu/dist/include/nsIPrincipal.h:10,
 24:00.70                  from /var/tmp/build/firefox-7a0a10b8ff98/obj-
 x86_64-pc-linux-gnu/dist/include/nsJSPrincipals.h:10,
 24:00.70                  from /var/tmp/build/firefox-7a0a10b8ff98/obj-
 x86_64-pc-linux-gnu/dist/include/mozilla/BasePrincipal.h:10,
 24:00.70                  from /var/tmp/build/firefox-
 7a0a10b8ff98/caps/tests/gtest/TestOriginAttributes.cpp:5,
 24:00.70                  from /var/tmp/build/firefox-7a0a10b8ff98/obj-
 x86_64-pc-linux-gnu/caps/tests/gtest/Unified_cpp_caps_tests_gtest0.cpp:2:
 24:00.70 /var/tmp/build/firefox-7a0a10b8ff98/obj-x86_64-pc-linux-
 gnu/dist/include/nsCOMPtr.h: In instantiation of 'nsCOMPtr<T>::~nsCOMPtr()
 [with T = nsIURI]':
 24:00.70 /var/tmp/build/firefox-
 7a0a10b8ff98/caps/tests/gtest/TestOriginAttributes.cpp:25:20:   required
 from here
 24:00.70 /var/tmp/build/firefox-7a0a10b8ff98/obj-x86_64-pc-linux-
 gnu/dist/include/nsISupportsImpl.h:156:37: error: invalid static_cast from
 type 'nsIURI*' to type 'nsISupports*'
 24:00.70    if (_p) NS_LogCOMPtrRelease((_c),
 static_cast<nsISupports*>(_p))
 24:00.70
 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 24:00.70 /var/tmp/build/firefox-7a0a10b8ff98/obj-x86_64-pc-linux-
 gnu/dist/include/nsCOMPtr.h:379:5: note: in expansion of macro
 'NSCAP_LOG_RELEASE'
 24:00.70      NSCAP_LOG_RELEASE(this, mRawPtr);
 24:00.70      ^~~~~~~~~~~~~~~~~
 24:00.70 In file included from /var/tmp/build/firefox-7a0a10b8ff98/obj-
 x86_64-pc-linux-gnu/dist/include/nsIPrincipal.h:23:0,
 24:00.70                  from /var/tmp/build/firefox-7a0a10b8ff98/obj-
 x86_64-pc-linux-gnu/dist/include/nsJSPrincipals.h:10,
 24:00.70                  from /var/tmp/build/firefox-7a0a10b8ff98/obj-
 x86_64-pc-linux-gnu/dist/include/mozilla/BasePrincipal.h:10,
 24:00.70                  from /var/tmp/build/firefox-
 7a0a10b8ff98/caps/tests/gtest/TestOriginAttributes.cpp:5,
 24:00.70                  from /var/tmp/build/firefox-7a0a10b8ff98/obj-
 x86_64-pc-linux-gnu/caps/tests/gtest/Unified_cpp_caps_tests_gtest0.cpp:2:
 24:00.70 /var/tmp/build/firefox-7a0a10b8ff98/obj-x86_64-pc-linux-
 gnu/dist/include/nsCOMPtr.h:91:41: error: invalid use of incomplete type
 'class nsIURI'
 24:00.70  #define NSCAP_RELEASE(this, ptr) (ptr)->Release()
 24:00.70                                   ~~~~~~~^
 24:00.70 /var/tmp/build/firefox-7a0a10b8ff98/obj-x86_64-pc-linux-
 gnu/dist/include/nsCOMPtr.h:381:7: note: in expansion of macro
 'NSCAP_RELEASE'
 24:00.70        NSCAP_RELEASE(this, mRawPtr);
 24:00.70        ^~~~~~~~~~~~~
 24:00.70 In file included from /var/tmp/build/firefox-7a0a10b8ff98/obj-
 x86_64-pc-linux-gnu/dist/include/nsJSPrincipals.h:10:0,
 24:00.70                  from /var/tmp/build/firefox-7a0a10b8ff98/obj-
 x86_64-pc-linux-gnu/dist/include/mozilla/BasePrincipal.h:10,
 24:00.70                  from /var/tmp/build/firefox-
 7a0a10b8ff98/caps/tests/gtest/TestOriginAttributes.cpp:5,
 24:00.70                  from /var/tmp/build/firefox-7a0a10b8ff98/obj-
 x86_64-pc-linux-gnu/caps/tests/gtest/Unified_cpp_caps_tests_gtest0.cpp:2:
 24:00.70 /var/tmp/build/firefox-7a0a10b8ff98/obj-x86_64-pc-linux-
 gnu/dist/include/nsIPrincipal.h:45:7: note: forward declaration of 'class
 nsIURI'
 24:00.70  class nsIURI; /* forward declaration */
 24:00.70        ^~~~~~
 24:00.70 In file included from /var/tmp/build/firefox-7a0a10b8ff98/obj-
 x86_64-pc-linux-gnu/dist/include/nsISupportsUtils.h:14:0,
 24:00.70                  from /var/tmp/build/firefox-7a0a10b8ff98/obj-
 x86_64-pc-linux-gnu/dist/include/nsISupports.h:77,
 24:00.70                  from /var/tmp/build/firefox-7a0a10b8ff98/obj-
 x86_64-pc-linux-gnu/dist/include/nsISerializable.h:10,
 24:00.70                  from /var/tmp/build/firefox-7a0a10b8ff98/obj-
 x86_64-pc-linux-gnu/dist/include/nsIPrincipal.h:10,
 24:00.70                  from /var/tmp/build/firefox-7a0a10b8ff98/obj-
 x86_64-pc-linux-gnu/dist/include/nsJSPrincipals.h:10,
 24:00.70                  from /var/tmp/build/firefox-7a0a10b8ff98/obj-
 x86_64-pc-linux-gnu/dist/include/mozilla/BasePrincipal.h:10,
 24:00.70                  from /var/tmp/build/firefox-
 7a0a10b8ff98/caps/tests/gtest/TestOriginAttributes.cpp:5,
 24:00.70                  from /var/tmp/build/firefox-7a0a10b8ff98/obj-
 x86_64-pc-linux-gnu/caps/tests/gtest/Unified_cpp_caps_tests_gtest0.cpp:2:
 24:00.70 /var/tmp/build/firefox-7a0a10b8ff98/obj-x86_64-pc-linux-
 gnu/dist/include/nsCOMPtr.h: In instantiation of
 'nsGetterAddRefs<T>::~nsGetterAddRefs() [with T = nsIURI]':
 24:00.70 /var/tmp/build/firefox-
 7a0a10b8ff98/caps/tests/gtest/TestOriginAttributes.cpp:26:3:   required
 from here
 24:00.70 /var/tmp/build/firefox-7a0a10b8ff98/obj-x86_64-pc-linux-
 gnu/dist/include/nsISupportsImpl.h:153:47: error: invalid static_cast from
 type 'nsIURI*' to type 'nsISupports*'
 24:00.70    if (_p != nullptr) NS_LogCOMPtrAddRef((_c),
 static_cast<nsISupports*>(_p))
 24:00.70
 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 24:00.70 /var/tmp/build/firefox-7a0a10b8ff98/obj-x86_64-pc-linux-
 gnu/dist/include/nsCOMPtr.h:1144:5: note: in expansion of macro
 'NSCAP_LOG_ASSIGNMENT'
 24:00.70
 NSCAP_LOG_ASSIGNMENT(reinterpret_cast<void*>(address_of(mTargetSmartPtr)),
 24:00.70      ^~~~~~~~~~~~~~~~~~~~
 24:00.74 In file included from /var/tmp/build/firefox-7a0a10b8ff98/obj-
 x86_64-pc-linux-gnu/dist/include/nsIPrincipal.h:23:0,
 24:00.74                  from /var/tmp/build/firefox-7a0a10b8ff98/obj-
 x86_64-pc-linux-gnu/dist/include/nsJSPrincipals.h:10,
 24:00.74                  from /var/tmp/build/firefox-7a0a10b8ff98/obj-
 x86_64-pc-linux-gnu/dist/include/mozilla/BasePrincipal.h:10,
 24:00.74                  from /var/tmp/build/firefox-
 7a0a10b8ff98/caps/tests/gtest/TestOriginAttributes.cpp:5,
 24:00.74                  from /var/tmp/build/firefox-7a0a10b8ff98/obj-
 x86_64-pc-linux-gnu/caps/tests/gtest/Unified_cpp_caps_tests_gtest0.cpp:2:
 24:00.74 /var/tmp/build/firefox-7a0a10b8ff98/obj-x86_64-pc-linux-
 gnu/dist/include/nsCOMPtr.h: In instantiation of 'void
 nsCOMPtr<T>::assert_validity() [with T = nsIURI]':
 24:00.74 /var/tmp/build/firefox-7a0a10b8ff98/obj-x86_64-pc-linux-
 gnu/dist/include/nsCOMPtr.h:402:20:   required from
 'nsCOMPtr<T>::nsCOMPtr() [with T = nsIURI]'
 24:00.74 /var/tmp/build/firefox-
 7a0a10b8ff98/caps/tests/gtest/TestOriginAttributes.cpp:25:20:   required
 from here
 24:00.74 /var/tmp/build/firefox-7a0a10b8ff98/obj-x86_64-pc-linux-
 gnu/dist/include/nsCOMPtr.h:366:5: error: static assertion failed:
 nsCOMPtr only works for types with IIDs.  Either use RefPtr; add an IID to
 your type with
 NS_DECLARE_STATIC_IID_ACCESSOR/NS_DEFINE_STATIC_IID_ACCESSOR; or make the
 nsCOMPtr point to a base class with an IID.
 24:00.74      static_assert(1 < sizeof(TestForIID<T>(nullptr)),
 24:00.74      ^~~~~~~~~~~~~
 24:00.78 In file included from /var/tmp/build/firefox-7a0a10b8ff98/obj-
 x86_64-pc-linux-gnu/dist/include/nsISupportsUtils.h:14:0,
 24:00.78                  from /var/tmp/build/firefox-7a0a10b8ff98/obj-
 x86_64-pc-linux-gnu/dist/include/nsISupports.h:77,
 24:00.78                  from /var/tmp/build/firefox-7a0a10b8ff98/obj-
 x86_64-pc-linux-gnu/dist/include/nsISerializable.h:10,
 24:00.78                  from /var/tmp/build/firefox-7a0a10b8ff98/obj-
 x86_64-pc-linux-gnu/dist/include/nsIPrincipal.h:10,
 24:00.78                  from /var/tmp/build/firefox-7a0a10b8ff98/obj-
 x86_64-pc-linux-gnu/dist/include/nsJSPrincipals.h:10,
 24:00.78                  from /var/tmp/build/firefox-7a0a10b8ff98/obj-
 x86_64-pc-linux-gnu/dist/include/mozilla/BasePrincipal.h:10,
 24:00.78                  from /var/tmp/build/firefox-
 7a0a10b8ff98/caps/tests/gtest/TestOriginAttributes.cpp:5,
 24:00.78                  from /var/tmp/build/firefox-7a0a10b8ff98/obj-
 x86_64-pc-linux-gnu/caps/tests/gtest/Unified_cpp_caps_tests_gtest0.cpp:2:
 24:00.78 /var/tmp/build/firefox-7a0a10b8ff98/obj-x86_64-pc-linux-
 gnu/dist/include/nsCOMPtr.h: In instantiation of 'void
 nsCOMPtr<T>::assign_assuming_AddRef(T*) [with T = nsIURI]':
 24:00.78 /var/tmp/build/firefox-7a0a10b8ff98/obj-x86_64-pc-linux-
 gnu/dist/include/nsCOMPtr.h:1099:25:   required from 'void**
 nsCOMPtr<T>::begin_assignment() [with T = nsIURI]'
 24:00.78 /var/tmp/build/firefox-7a0a10b8ff98/obj-x86_64-pc-linux-
 gnu/dist/include/nsCOMPtr.h:725:50:   required from 'T**
 nsCOMPtr<T>::StartAssignment() [with T = nsIURI]'
 24:00.78 /var/tmp/build/firefox-7a0a10b8ff98/obj-x86_64-pc-linux-
 gnu/dist/include/nsCOMPtr.h:1158:59:   required from
 'nsGetterAddRefs<T>::operator T**() [with T = nsIURI]'
 24:00.78 /var/tmp/build/firefox-
 7a0a10b8ff98/caps/tests/gtest/TestOriginAttributes.cpp:26:3:   required
 from here
 24:00.78 /var/tmp/build/firefox-7a0a10b8ff98/obj-x86_64-pc-linux-
 gnu/dist/include/nsISupportsImpl.h:153:47: error: invalid static_cast from
 type 'nsIURI*' to type 'nsISupports*'
 24:00.78    if (_p != nullptr) NS_LogCOMPtrAddRef((_c),
 static_cast<nsISupports*>(_p))
 24:00.78
 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 24:00.78 /var/tmp/build/firefox-7a0a10b8ff98/obj-x86_64-pc-linux-
 gnu/dist/include/nsCOMPtr.h:354:5: note: in expansion of macro
 'NSCAP_LOG_ASSIGNMENT'
 24:00.78      NSCAP_LOG_ASSIGNMENT(this, aNewPtr);
 24:00.78      ^~~~~~~~~~~~~~~~~~~~
 24:00.78 /var/tmp/build/firefox-7a0a10b8ff98/obj-x86_64-pc-linux-
 gnu/dist/include/nsISupportsImpl.h:156:37: error: invalid static_cast from
 type 'nsIURI*' to type 'nsISupports*'
 24:00.78    if (_p) NS_LogCOMPtrRelease((_c),
 static_cast<nsISupports*>(_p))
 24:00.78
 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 24:00.78 /var/tmp/build/firefox-7a0a10b8ff98/obj-x86_64-pc-linux-
 gnu/dist/include/nsCOMPtr.h:355:5: note: in expansion of macro
 'NSCAP_LOG_RELEASE'
 24:00.78      NSCAP_LOG_RELEASE(this, oldPtr);
 24:00.78      ^~~~~~~~~~~~~~~~~
 24:00.78 In file included from /var/tmp/build/firefox-7a0a10b8ff98/obj-
 x86_64-pc-linux-gnu/dist/include/nsIPrincipal.h:23:0,
 24:00.78                  from /var/tmp/build/firefox-7a0a10b8ff98/obj-
 x86_64-pc-linux-gnu/dist/include/nsJSPrincipals.h:10,
 24:00.78                  from /var/tmp/build/firefox-7a0a10b8ff98/obj-
 x86_64-pc-linux-gnu/dist/include/mozilla/BasePrincipal.h:10,
 24:00.78                  from /var/tmp/build/firefox-
 7a0a10b8ff98/caps/tests/gtest/TestOriginAttributes.cpp:5,
 24:00.78                  from /var/tmp/build/firefox-7a0a10b8ff98/obj-
 x86_64-pc-linux-gnu/caps/tests/gtest/Unified_cpp_caps_tests_gtest0.cpp:2:
 24:00.78 /var/tmp/build/firefox-7a0a10b8ff98/obj-x86_64-pc-linux-
 gnu/dist/include/nsCOMPtr.h:91:41: error: invalid use of incomplete type
 'class nsIURI'
 24:00.78  #define NSCAP_RELEASE(this, ptr) (ptr)->Release()
 24:00.78                                   ~~~~~~~^
 24:00.78 /var/tmp/build/firefox-7a0a10b8ff98/obj-x86_64-pc-linux-
 gnu/dist/include/nsCOMPtr.h:357:7: note: in expansion of macro
 'NSCAP_RELEASE'
 24:00.78        NSCAP_RELEASE(this, oldPtr);
 24:00.78        ^~~~~~~~~~~~~
 24:00.78 In file included from /var/tmp/build/firefox-7a0a10b8ff98/obj-
 x86_64-pc-linux-gnu/dist/include/nsJSPrincipals.h:10:0,
 24:00.78                  from /var/tmp/build/firefox-7a0a10b8ff98/obj-
 x86_64-pc-linux-gnu/dist/include/mozilla/BasePrincipal.h:10,
 24:00.78                  from /var/tmp/build/firefox-
 7a0a10b8ff98/caps/tests/gtest/TestOriginAttributes.cpp:5,
 24:00.78                  from /var/tmp/build/firefox-7a0a10b8ff98/obj-
 x86_64-pc-linux-gnu/caps/tests/gtest/Unified_cpp_caps_tests_gtest0.cpp:2:
 24:00.78 /var/tmp/build/firefox-7a0a10b8ff98/obj-x86_64-pc-linux-
 gnu/dist/include/nsIPrincipal.h:45:7: note: forward declaration of 'class
 nsIURI'
 24:00.78  class nsIURI; /* forward declaration */
 24:00.78        ^~~~~~
 24:00.85 make[4]: *** [Unified_cpp_caps_tests_gtest0.o] Error 1
 }}}

 Chances are high this is a test-only issue, but we should double-check
 that and either remove the test or (better) fix it up.

--
Ticket URL: <https://trac.torproject.org/projects/tor/ticket/30375>
Tor Bug Tracker & Wiki <https://trac.torproject.org/>
The Tor Project: anonymity online


More information about the tbb-bugs mailing list