Closed Bug 827283 Opened 12 years ago Closed 11 years ago

DMD doesn't build on b2g18

Categories

(Core :: General, defect)

defect
Not set
normal

Tracking

()

RESOLVED FIXED
B2G C4 (2jan on)
Tracking Status
firefox19 --- unaffected
firefox20 --- unaffected
b2g18 --- fixed

People

(Reporter: justin.lebar+bug, Assigned: justin.lebar+bug)

Details

Attachments

(1 file)

Due to a trivial change to NS_StackWalk (just remove one arg) and apparently non-trivial changes to js::HashTable.

Here are the hashtable errors:

>make export
>make[1]: Nothing to be done for `export'.
>make libs
>DMD.cpp
>/opt/local/bin/ccache /Users/jlebar/code/moz/B2G/prebuilt/darwin-x86/toolchain/arm-linux-androideabi-4.4.x/bin/arm-linux-androideabi-g++ -o DMD.o -c  -fvisibility=hidden -DMOZ_NO_MOZALLOC  -I/Users/jlebar/code/moz/ff-git2/src/memory/replace/dmd -I. -I../../../dist/include  -I/Users/jlebar/code/moz/B2G/objdir-gecko/dist/include/nspr -I/Users/jlebar/code/moz/B2G/objdir-gecko/dist/include/nss      -fPIC -DANDROID -isystem /Users/jlebar/code/moz/B2G/bionic/libc/arch-arm/include -isystem /Users/jlebar/code/moz/B2G/bionic/libc/include/ -isystem /Users/jlebar/code/moz/B2G/bionic/libc/kernel/common -isystem /Users/jlebar/code/moz/B2G/bionic/libc/kernel/arch-arm -isystem /Users/jlebar/code/moz/B2G/bionic/libm/include -I/Users/jlebar/code/moz/B2G/frameworks/base/opengl/include -I/Users/jlebar/code/moz/B2G/frameworks/base/native/include -I/Users/jlebar/code/moz/B2G/hardware/libhardware/include -I/Users/jlebar/code/moz/B2G/hardware/libhardware_legacy/include -I/Users/jlebar/code/moz/B2G/system -I/Users/jlebar/code/moz/B2G/system/core/include -isystem /Users/jlebar/code/moz/B2G/bionic -I/Users/jlebar/code/moz/B2G/frameworks/base/include -I/Users/jlebar/code/moz/B2G/external/dbus -I/Users/jlebar/code/moz/B2G/external/bluetooth/bluez/lib  -I/Users/jlebar/code/moz/B2G/frameworks/base/services/sensorservice -I/Users/jlebar/code/moz/B2G/frameworks/base/services/camera -I/Users/jlebar/code/moz/B2G/system/media/wilhelm/include -I/Users/jlebar/code/moz/B2G/frameworks/base/include/media/stagefright -I/Users/jlebar/code/moz/B2G/frameworks/base/include/media/stagefright/openmax -I/Users/jlebar/code/moz/B2G/frameworks/base/media/libstagefright/rtsp -I/Users/jlebar/code/moz/B2G/frameworks/base/media/libstagefright/include -I/Users/jlebar/code/moz/B2G/dalvik/libnativehelper/include/nativehelper -pedantic -Wall -Wpointer-arith -Woverloaded-virtual -Werror=return-type -Wtype-limits -Wempty-body -Werror=conversion-null -Wno-ctor-dtor-privacy -Wno-overlength-strings -Wno-invalid-offsetof -Wno-variadic-macros -Wno-long-long -mandroid -fno-short-enums -fno-exceptions -Wno-psabi -DMOZ_ENABLE_JS_DUMP -include /Users/jlebar/code/moz/B2G/gonk-misc/Unicode.h -I/Users/jlebar/code/moz/B2G/ndk/sources/cxx-stl/stlport/stlport/ -I/Users/jlebar/code/moz/B2G/external/stlport/stlport/ -march=armv7-a -mthumb -mfpu=neon -mfloat-abi=softfp -fno-exceptions -fno-strict-aliasing -fno-rtti -ffunction-sections -fdata-sections -fno-exceptions -std=gnu++0x -funwind-tables -pipe  -DNDEBUG -DTRIMMED -g -Os -freorder-blocks -fno-reorder-functions -fomit-frame-pointer  -DANDROID -isystem /Users/jlebar/code/moz/B2G/bionic/libc/arch-arm/include -isystem /Users/jlebar/code/moz/B2G/bionic/libc/include/ -isystem /Users/jlebar/code/moz/B2G/bionic/libc/kernel/common -isystem /Users/jlebar/code/moz/B2G/bionic/libc/kernel/arch-arm -isystem /Users/jlebar/code/moz/B2G/bionic/libm/include -I/Users/jlebar/code/moz/B2G/frameworks/base/opengl/include -I/Users/jlebar/code/moz/B2G/frameworks/base/native/include -I/Users/jlebar/code/moz/B2G/hardware/libhardware/include -I/Users/jlebar/code/moz/B2G/hardware/libhardware_legacy/include -I/Users/jlebar/code/moz/B2G/system -I/Users/jlebar/code/moz/B2G/system/core/include -isystem /Users/jlebar/code/moz/B2G/bionic -I/Users/jlebar/code/moz/B2G/frameworks/base/include -I/Users/jlebar/code/moz/B2G/external/dbus -I/Users/jlebar/code/moz/B2G/external/bluetooth/bluez/lib  -I/Users/jlebar/code/moz/B2G/frameworks/base/services/sensorservice -I/Users/jlebar/code/moz/B2G/frameworks/base/services/camera -I/Users/jlebar/code/moz/B2G/system/media/wilhelm/include -I/Users/jlebar/code/moz/B2G/frameworks/base/include/media/stagefright -I/Users/jlebar/code/moz/B2G/frameworks/base/include/media/stagefright/openmax -I/Users/jlebar/code/moz/B2G/frameworks/base/media/libstagefright/rtsp -I/Users/jlebar/code/moz/B2G/frameworks/base/media/libstagefright/include -I/Users/jlebar/code/moz/B2G/dalvik/libnativehelper/include/nativehelper -DMOZILLA_CLIENT -include ../../../mozilla-config.h -MD -MF .deps/DMD.o.pp  /Users/jlebar/code/moz/ff-git2/src/memory/replace/dmd/DMD.cpp
>In file included from ../../../../../ff-git2/src/memory/replace/dmd/DMD.cpp:28:
>../../../../system/core/include/android/log.h:88: warning: comma at end of enumerator list
>../../../../../ff-git2/src/memory/replace/dmd/DMD.cpp: In member function 'mozilla::dmd::FrameRecord& mozilla::dmd::FrameRecord::operator=(const mozilla::dmd::FrameRecord&)':
>../../../../../ff-git2/src/memory/replace/dmd/DMD.cpp:1389:   instantiated from 'bool js::detail::HashTable<T, HashPolicy, AllocPolicy>::add(js::detail::HashTable<T, HashPolicy, AllocPolicy>::AddPtr&, const T&) [with T = const mozilla::dmd::FrameRecord, HashPolicy = js::HashSet<mozilla::dmd::FrameRecord, mozilla::dmd::FrameRecord, mozilla::dmd::InfallibleAllocPolicy>::SetOps, AllocPolicy = mozilla::dmd::InfallibleAllocPolicy]'
>../../../dist/include/js/HashTable.h:1326:   instantiated from 'bool js::HashSet<T, HashPolicy, AllocPolicy>::add(typename js::detail::HashTable<const T, js::HashSet<T, HashPolicy, AllocPolicy>::SetOps, AllocPolicy>::AddPtr&, const T&) [with T = mozilla::dmd::FrameRecord, HashPolicy = mozilla::dmd::FrameRecord, AllocPolicy = mozilla::dmd::InfallibleAllocPolicy]'
>../../../../../ff-git2/src/memory/replace/dmd/DMD.cpp:1848:   instantiated from here
>../../../../../ff-git2/src/memory/replace/dmd/DMD.cpp:1389: error: non-static const member 'const void* const mozilla::dmd::FrameRecord::mPc', can't use default assignment operator
>In file included from ../../../../../ff-git2/src/memory/replace/dmd/DMD.cpp:34:
>../../../dist/include/js/HashTable.h: In member function 'bool js::detail::HashTable<T, HashPolicy, AllocPolicy>::add(js::detail::HashTable<T, HashPolicy, AllocPolicy>::AddPtr&, const T&) [with T = const mozilla::dmd::FrameRecord, HashPolicy = js::HashSet<mozilla::dmd::FrameRecord, mozilla::dmd::FrameRecord, mozilla::dmd::InfallibleAllocPolicy>::SetOps, AllocPolicy = mozilla::dmd::InfallibleAllocPolicy]':
>../../../dist/include/js/HashTable.h:785: note: synthesized method 'mozilla::dmd::FrameRecord& mozilla::dmd::FrameRecord::operator=(const mozilla::dmd::FrameRecord&)' first required here 
>../../../../../ff-git2/src/memory/replace/dmd/DMD.cpp: In member function 'mozilla::dmd::TraceRecordKey& mozilla::dmd::TraceRecordKey::operator=(const mozilla::dmd::TraceRecordKey&)':
>../../../../../ff-git2/src/memory/replace/dmd/DMD.cpp:1204:   instantiated from 'bool js::detail::HashTable<T, HashPolicy, AllocPolicy>::add(js::detail::HashTable<T, HashPolicy, AllocPolicy>::AddPtr&, const T&) [with T = const mozilla::dmd::TraceRecord, HashPolicy = js::HashSet<mozilla::dmd::TraceRecord, mozilla::dmd::TraceRecord, mozilla::dmd::InfallibleAllocPolicy>::SetOps, AllocPolicy = mozilla::dmd::InfallibleAllocPolicy]'
>../../../dist/include/js/HashTable.h:1326:   instantiated from 'bool js::HashSet<T, HashPolicy, AllocPolicy>::add(typename js::detail::HashTable<const T, js::HashSet<T, HashPolicy, AllocPolicy>::SetOps, AllocPolicy>::AddPtr&, const T&) [with T = mozilla::dmd::TraceRecord, HashPolicy = mozilla::dmd::TraceRecord, AllocPolicy = mozilla::dmd::InfallibleAllocPolicy]'
>../../../../../ff-git2/src/memory/replace/dmd/DMD.cpp:1988:   instantiated from here
>../../../../../ff-git2/src/memory/replace/dmd/DMD.cpp:1204: error: non-static const member 'const mozilla::dmd::StackTrace* const mozilla::dmd::TraceRecordKey::mAllocStackTrace', can't use default assignment operator
>../../../../../ff-git2/src/memory/replace/dmd/DMD.cpp:1204: error: non-static const member 'const mozilla::dmd::StackTrace* const mozilla::dmd::TraceRecordKey::mReportStackTrace1', can't use default assignment operator
>../../../../../ff-git2/src/memory/replace/dmd/DMD.cpp:1204: error: non-static const member 'const mozilla::dmd::StackTrace* const mozilla::dmd::TraceRecordKey::mReportStackTrace2', can't use default assignment operator
>../../../../../ff-git2/src/memory/replace/dmd/DMD.cpp: In member function 'mozilla::dmd::TraceRecord& mozilla::dmd::TraceRecord::operator=(const mozilla::dmd::TraceRecord&)':
>../../../../../ff-git2/src/memory/replace/dmd/DMD.cpp:1294: note: synthesized method 'mozilla::dmd::TraceRecordKey& mozilla::dmd::TraceRecordKey::operator=(const mozilla::dmd::TraceRecordKey&)' first required here 
>In file included from ../../../../../ff-git2/src/memory/replace/dmd/DMD.cpp:34:
>../../../dist/include/js/HashTable.h: In member function 'bool js::detail::HashTable<T, HashPolicy, AllocPolicy>::add(js::detail::HashTable<T, HashPolicy, AllocPolicy>::AddPtr&, const T&) [with T = const mozilla::dmd::TraceRecord, HashPolicy = js::HashSet<mozilla::dmd::TraceRecord, mozilla::dmd::TraceRecord, mozilla::dmd::InfallibleAllocPolicy>::SetOps, AllocPolicy = mozilla::dmd::InfallibleAllocPolicy]':
>../../../dist/include/js/HashTable.h:785: note: synthesized method 'mozilla::dmd::TraceRecord& mozilla::dmd::TraceRecord::operator=(const mozilla::dmd::TraceRecord&)' first required here 
>../../../../../ff-git2/src/memory/replace/dmd/DMD.cpp: In member function 'mozilla::dmd::Block& mozilla::dmd::Block::operator=(const mozilla::dmd::Block&)':
>../../../../../ff-git2/src/memory/replace/dmd/DMD.cpp:875:   instantiated from 'void js::detail::HashTable<T, HashPolicy, AllocPolicy>::putNewInfallible(const typename HashPolicy::Lookup&, const T&) [with T = const mozilla::dmd::Block, HashPolicy = js::HashSet<mozilla::dmd::Block, mozilla::dmd::Block, mozilla::dmd::InfallibleAllocPolicy>::SetOps, AllocPolicy = mozilla::dmd::InfallibleAllocPolicy]'
>../../../dist/include/js/HashTable.h:813:   instantiated from 'bool js::detail::HashTable<T, HashPolicy, AllocPolicy>::putNew(const typename HashPolicy::Lookup&, const T&) [with T = const mozilla::dmd::Block, HashPolicy = js::HashSet<mozilla::dmd::Block, mozilla::dmd::Block, mozilla::dmd::InfallibleAllocPolicy>::SetOps, AllocPolicy = mozilla::dmd::InfallibleAllocPolicy]'
>../../../dist/include/js/HashTable.h:1412:   instantiated from 'bool js::HashSet<T, HashPolicy, AllocPolicy>::putNew(const typename HashPolicy::Lookup&, const T&) [with T = mozilla::dmd::Block, HashPolicy = mozilla::dmd::Block, AllocPolicy = mozilla::dmd::InfallibleAllocPolicy]'
>../../../../../ff-git2/src/memory/replace/dmd/DMD.cpp:1034:   instantiated from here
>../../../../../ff-git2/src/memory/replace/dmd/DMD.cpp:875: error: non-static const member 'const size_t mozilla::dmd::Block::mReqSize', can't use default assignment operator
>In file included from ../../../../../ff-git2/src/memory/replace/dmd/DMD.cpp:34:
>../../../dist/include/js/HashTable.h: In member function 'void js::detail::HashTable<T, HashPolicy, AllocPolicy>::putNewInfallible(const typename HashPolicy::Lookup&, const T&) [with T = const mozilla::dmd::Block, HashPolicy = js::HashSet<mozilla::dmd::Block, mozilla::dmd::Block, mozilla::dmd::InfallibleAllocPolicy>::SetOps, AllocPolicy = mozilla::dmd::InfallibleAllocPolicy]':
>../../../dist/include/js/HashTable.h:802: note: synthesized method 'mozilla::dmd::Block& mozilla::dmd::Block::operator=(const mozilla::dmd::Block&)' first required here 
>In file included from ../../../../../ff-git2/src/memory/replace/dmd/DMD.cpp:34:
>../../../dist/include/js/HashTable.h: In constructor 'js::detail::HashTableEntry<T>::HashTableEntry() [with T = const mozilla::dmd::Block]':
>../../../dist/include/js/HashTable.h:667:   instantiated from 'void js::detail::HashTable<T, HashPolicy, AllocPolicy>::clear() [with T = const mozilla::dmd::Block, HashPolicy = js::HashSet<mozilla::dmd::Block, mozilla::dmd::Block, mozilla::dmd::InfallibleAllocPolicy>::SetOps, AllocPolicy = mozilla::dmd::InfallibleAllocPolicy]'
>../../../dist/include/js/HashTable.h:1377:   instantiated from 'void js::HashSet<T, HashPolicy, AllocPolicy>::clear() [with T = mozilla::dmd::Block, HashPolicy = mozilla::dmd::Block, AllocPolicy = mozilla::dmd::InfallibleAllocPolicy]'
>../../../../../ff-git2/src/memory/replace/dmd/DMD.cpp:2296:   instantiated from here
>../../../dist/include/js/HashTable.h:45: error: no matching function for call to 'mozilla::dmd::Block::Block()'
>../../../../../ff-git2/src/memory/replace/dmd/DMD.cpp:897: note: candidates are: mozilla::dmd::Block::Block(const void*, size_t, const mozilla::dmd::StackTrace*, bool)
>../../../../../ff-git2/src/memory/replace/dmd/DMD.cpp:875: note:                 mozilla::dmd::Block::Block(const mozilla::dmd::Block&)
>../../../dist/include/js/HashTable.h: In constructor 'js::detail::HashTableEntry<T>::HashTableEntry() [with T = const mozilla::dmd::FrameRecord]':
>../../../dist/include/js/HashTable.h:320:   instantiated from 'static js::detail::HashTableEntry<T>* js::detail::HashTable<T, HashPolicy, AllocPolicy>::createTable(AllocPolicy&, uint32_t) [with T = const mozilla::dmd::FrameRecord, HashPolicy = js::HashSet<mozilla::dmd::FrameRecord, mozilla::dmd::FrameRecord, mozilla::dmd::InfallibleAllocPolicy>::SetOps, AllocPolicy = mozilla::dmd::InfallibleAllocPolicy]'
>../../../dist/include/js/HashTable.h:370:   instantiated from 'bool js::detail::HashTable<T, HashPolicy, AllocPolicy>::init(uint32_t) [with T = const mozilla::dmd::FrameRecord, HashPolicy = js::HashSet<mozilla::dmd::FrameRecord, mozilla::dmd::FrameRecord, mozilla::dmd::InfallibleAllocPolicy>::SetOps, AllocPolicy = mozilla::dmd::InfallibleAllocPolicy]'
>../../../dist/include/js/HashTable.h:1266:   instantiated from 'bool js::HashSet<T, HashPolicy, AllocPolicy>::init(uint32_t) [with T = mozilla::dmd::FrameRecord, HashPolicy = mozilla::dmd::FrameRecord, AllocPolicy = mozilla::dmd::InfallibleAllocPolicy]'
>../../../../../ff-git2/src/memory/replace/dmd/DMD.cpp:1826:   instantiated from here
>../../../dist/include/js/HashTable.h:45: error: no matching function for call to 'mozilla::dmd::FrameRecord::FrameRecord()'
>../../../../../ff-git2/src/memory/replace/dmd/DMD.cpp:1398: note: candidates are: mozilla::dmd::FrameRecord::FrameRecord(const void*)
>../../../../../ff-git2/src/memory/replace/dmd/DMD.cpp:1389: note:                 mozilla::dmd::FrameRecord::FrameRecord(const mozilla::dmd::FrameRecord&)
>../../../dist/include/js/HashTable.h: In constructor 'js::detail::HashTableEntry<T>::HashTableEntry() [with T = const mozilla::dmd::TraceRecord]':
>../../../dist/include/js/HashTable.h:320:   instantiated from 'static js::detail::HashTableEntry<T>* js::detail::HashTable<T, HashPolicy, AllocPolicy>::createTable(AllocPolicy&, uint32_t) [with T = const mozilla::dmd::TraceRecord, HashPolicy = js::HashSet<mozilla::dmd::TraceRecord, mozilla::dmd::TraceRecord, mozilla::dmd::InfallibleAllocPolicy>::SetOps, AllocPolicy = mozilla::dmd::InfallibleAllocPolicy]'
>../../../dist/include/js/HashTable.h:370:   instantiated from 'bool js::detail::HashTable<T, HashPolicy, AllocPolicy>::init(uint32_t) [with T = const mozilla::dmd::TraceRecord, HashPolicy = js::HashSet<mozilla::dmd::TraceRecord, mozilla::dmd::TraceRecord, mozilla::dmd::InfallibleAllocPolicy>::SetOps, AllocPolicy = mozilla::dmd::InfallibleAllocPolicy]'
>../../../dist/include/js/HashTable.h:1266:   instantiated from 'bool js::HashSet<T, HashPolicy, AllocPolicy>::init(uint32_t) [with T = mozilla::dmd::TraceRecord, HashPolicy = mozilla::dmd::TraceRecord, AllocPolicy = mozilla::dmd::InfallibleAllocPolicy]'
>../../../../../ff-git2/src/memory/replace/dmd/DMD.cpp:1949:   instantiated from here
>../../../dist/include/js/HashTable.h:45: error: no matching function for call to 'mozilla::dmd::TraceRecord::TraceRecord()'
>../../../../../ff-git2/src/memory/replace/dmd/DMD.cpp:1302: note: candidates are: mozilla::dmd::TraceRecord::TraceRecord(const mozilla::dmd::TraceRecordKey&)
>../../../../../ff-git2/src/memory/replace/dmd/DMD.cpp:1294: note:                 mozilla::dmd::TraceRecord::TraceRecord(const mozilla::dmd::TraceRecord&)
>../../../dist/include/js/HashTable.h: In member function 'void js::detail::HashTableEntry<T>::setRemoved() [with T = const mozilla::dmd::Block]':
>../../../dist/include/js/HashTable.h:595:   instantiated from 'void js::detail::HashTable<T, HashPolicy, AllocPolicy>::remove(js::detail::HashTableEntry<T>&) [with T = const mozilla::dmd::Block, HashPolicy = js::HashSet<mozilla::dmd::Block, mozilla::dmd::Block, mozilla::dmd::InfallibleAllocPolicy>::SetOps, AllocPolicy = mozilla::dmd::InfallibleAllocPolicy]'
>../../../dist/include/js/HashTable.h:832:   instantiated from 'void js::detail::HashTable<T, HashPolicy, AllocPolicy>::remove(js::detail::HashTable<T, HashPolicy, AllocPolicy>::Ptr) [with T = const mozilla::dmd::Block, HashPolicy = js::HashSet<mozilla::dmd::Block, mozilla::dmd::Block, mozilla::dmd::InfallibleAllocPolicy>::SetOps, AllocPolicy = mozilla::dmd::InfallibleAllocPolicy]'
>../../../dist/include/js/HashTable.h:1284:   instantiated from 'void js::HashSet<T, HashPolicy, AllocPolicy>::remove(typename js::detail::HashTable<const T, js::HashSet<T, HashPolicy, AllocPolicy>::SetOps, AllocPolicy>::Ptr) [with T = mozilla::dmd::Block, HashPolicy = mozilla::dmd::Block, AllocPolicy = mozilla::dmd::InfallibleAllocPolicy]'
>../../../dist/include/js/HashTable.h:1417:   instantiated from 'void js::HashSet<T, HashPolicy, AllocPolicy>::remove(const typename HashPolicy::Lookup&) [with T = mozilla::dmd::Block, HashPolicy = mozilla::dmd::Block, AllocPolicy = mozilla::dmd::InfallibleAllocPolicy]'
>../../../../../ff-git2/src/memory/replace/dmd/DMD.cpp:1055:   instantiated from here
>../../../dist/include/js/HashTable.h:55: error: no matching function for call to 'mozilla::dmd::Block::Block()'
>../../../../../ff-git2/src/memory/replace/dmd/DMD.cpp:897: note: candidates are: mozilla::dmd::Block::Block(const void*, size_t, const mozilla::dmd::StackTrace*, bool)
>../../../../../ff-git2/src/memory/replace/dmd/DMD.cpp:875: note:                 mozilla::dmd::Block::Block(const mozilla::dmd::Block&)
>../../../dist/include/js/HashTable.h: In member function 'void js::detail::HashTableEntry<T>::setFree() [with T = const mozilla::dmd::Block]':
>../../../dist/include/js/HashTable.h:599:   instantiated from 'void js::detail::HashTable<T, HashPolicy, AllocPolicy>::remove(js::detail::HashTableEntry<T>&) [with T = const mozilla::dmd::Block, HashPolicy = js::HashSet<mozilla::dmd::Block, mozilla::dmd::Block, mozilla::dmd::InfallibleAllocPolicy>::SetOps, AllocPolicy = mozilla::dmd::InfallibleAllocPolicy]'
>../../../dist/include/js/HashTable.h:832:   instantiated from 'void js::detail::HashTable<T, HashPolicy, AllocPolicy>::remove(js::detail::HashTable<T, HashPolicy, AllocPolicy>::Ptr) [with T = const mozilla::dmd::Block, HashPolicy = js::HashSet<mozilla::dmd::Block, mozilla::dmd::Block, mozilla::dmd::InfallibleAllocPolicy>::SetOps, AllocPolicy = mozilla::dmd::InfallibleAllocPolicy]'
>../../../dist/include/js/HashTable.h:1284:   instantiated from 'void js::HashSet<T, HashPolicy, AllocPolicy>::remove(typename js::detail::HashTable<const T, js::HashSet<T, HashPolicy, AllocPolicy>::SetOps, AllocPolicy>::Ptr) [with T = mozilla::dmd::Block, HashPolicy = mozilla::dmd::Block, AllocPolicy = mozilla::dmd::InfallibleAllocPolicy]'
>../../../dist/include/js/HashTable.h:1417:   instantiated from 'void js::HashSet<T, HashPolicy, AllocPolicy>::remove(const typename HashPolicy::Lookup&) [with T = mozilla::dmd::Block, HashPolicy = mozilla::dmd::Block, AllocPolicy = mozilla::dmd::InfallibleAllocPolicy]'
>../../../../../ff-git2/src/memory/replace/dmd/DMD.cpp:1055:   instantiated from here
>../../../dist/include/js/HashTable.h:53: error: no matching function for call to 'mozilla::dmd::Block::Block()'
>../../../../../ff-git2/src/memory/replace/dmd/DMD.cpp:897: note: candidates are: mozilla::dmd::Block::Block(const void*, size_t, const mozilla::dmd::StackTrace*, bool)
>../../../../../ff-git2/src/memory/replace/dmd/DMD.cpp:875: note:                 mozilla::dmd::Block::Block(const mozilla::dmd::Block&)
>make[1]: *** [DMD.o] Error 1
>make: *** [default] Error 2

> 0 files changed
Effectively, the problem is

>../../../dist/include/js/HashTable.h:55: error: no matching function for call to 'mozilla::dmd::Block::Block()'
>../../../dist/include/js/HashTable.h: In member function 'void js::detail::HashTableEntry<T>::setFree() [with T = const mozilla::dmd::Block]':

HashTableEntry::setFree() doesn't exist in trunk.
Well, the good news is that the hashtable has improved a lot in the past few cycles...
Attached patch Patch, v1Splinter Review
This patch includes a trivial change and a non-trivial change.

The trivial change is to remove one of the arguments being passed to NS_StackWalk.

The non-trivial change is to import js::HashTable from trunk (just for
DMD).  The HashTable implementation changed a lot between b2g18 and
trunk; in particular, we're interested in the fix to bug 810192.

Backporting the js::HashTable implementation is preferable to modifying
the DMD implementation itself, since it makes backporting DMD changes
much simpler.
Attachment #698637 - Flags: review?(n.nethercote)
Comment on attachment 698637 [details] [diff] [review]
Patch, v1

Review of attachment 698637 [details] [diff] [review]:
-----------------------------------------------------------------

So this is just for the b2g18 branch, right?  r=me assuming that's true.
Attachment #698637 - Flags: review?(n.nethercote) → review+
Comment on attachment 698637 [details] [diff] [review]
Patch, v1

[Triage Comment]
This is npotb.
Attachment #698637 - Flags: approval-mozilla-b2g18+
https://hg.mozilla.org/releases/mozilla-b2g18/rev/fcf2a2a59ec0
Assignee: nobody → justin.lebar+bug
Keywords: checkin-needed
Target Milestone: --- → B2G C4 (2jan on)
Status: NEW → RESOLVED
Closed: 11 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: