Windows MSVC 2019 build bustage: nsTArray.h(544,34): error: no matching constructor for initialization of 'mozilla::dom::indexedDB::StructuredCloneReadInfoChild'
Categories
(Core :: Storage: IndexedDB, defect)
Tracking
()
Tracking | Status | |
---|---|---|
firefox-esr68 | --- | unaffected |
firefox74 | --- | wontfix |
firefox75 | --- | fixed |
firefox76 | --- | fixed |
People
(Reporter: RyanVM, Assigned: sg)
References
(Blocks 1 open bug, Regression)
Details
(Keywords: regression)
Attachments
(2 files)
(deleted),
text/plain
|
Details | |
(deleted),
text/x-phabricator-request
|
RyanVM
:
approval-mozilla-beta+
pascalc
:
approval-mozilla-release-
|
Details |
I'm building locally with Rust 1.42.0 and the latest Windows SDK (10.0.18362.0) in case that's relevant here.
In file included from objdir-clang/dist/include\mozilla/dom/IndexedDatabase.h:13:
objdir-clang/dist/include/nsTArray.h(544,34): error: no matching constructor for initialization of 'mozilla::dom::indexedDB::StructuredCloneReadInfoChild'
new (static_cast<void*>(aE)) E(std::forward<Args>(aArgs)...);
^ ~~~~~~~~~~~~~~~~~~~~~~~~~
objdir-clang/dist/include/nsTArray.h(2474,16): note: in instantiation of function template specialization 'nsTArrayElementTraits<mozilla::dom::indexedDB::StructuredCloneReadInfoChild>::Emplace<mozilla::nsTArrayBackInserter<mozilla::dom::indexedDB::StructuredCloneReadInfoChild> &>' requested here
elem_traits::Emplace(elem, std::forward<Args>(aArgs)...);
^
objdir-clang/dist/include/nsTArray.h(2552,20): note: in instantiation of function template specialization 'nsTArray_Impl<mozilla::dom::indexedDB::StructuredCloneReadInfoChild, nsTArrayInfallibleAllocator>::EmplaceBackInternal<nsTArrayInfallibleAllocator, mozilla::nsTArrayBackInserter<mozilla::dom::indexedDB::StructuredCloneReadInfoChild> &>' requested here
->template EmplaceBackInternal<nsTArrayInfallibleAllocator, Args...>(
^
objdir-clang/dist/include/nsTArray.h(2745,13): note: in instantiation of function template specialization 'nsTArray<mozilla::dom::indexedDB::StructuredCloneReadInfoChild>::EmplaceBack<mozilla::nsTArrayBackInserter<mozilla::dom::indexedDB::StructuredCloneReadInfoChild> &>' requested here
mArray->EmplaceBack(std::forward<O>(aValue));
^
C:\PROGRA~2\MICROS~1\2019\COMMUN~1\VC\Tools\MSVC\1425~1.286\include\xutility(1269,13): note: in instantiation of function template specialization 'mozilla::nsTArrayBackInserter<mozilla::dom::indexedDB::StructuredCloneReadInfoChild>::operator=<mozilla::nsTArrayBackInserter<mozilla::dom::indexedDB::StructuredCloneReadInfoChild> &>' requested here
_It = static_cast<_UIter&&>(_UIt);
^
dom/indexedDB/ActorsChild.cpp(2700,10): note: in instantiation of function template specialization 'std::transform<std::move_iterator<mozilla::ArrayIterator<mozilla::dom::indexedDB::SerializedStructuredCloneReadInfo &, nsTArray<mozilla::dom::indexedDB::SerializedStructuredCloneReadInfo> > >, mozilla::nsTArrayBackInserter<mozilla::dom::indexedDB::StructuredCloneReadInfoChild>, (lambda at dom/indexedDB/ActorsChild.cpp:2704:9)>' requested here
std::transform(
^
objdir-clang/dist/include\mozilla/dom/IndexedDatabase.h(167,8): note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'mozilla::nsTArrayBackInserter<mozilla::dom::indexedDB::StructuredCloneReadInfoChild>' to 'const mozilla::dom::indexedDB::StructuredCloneReadInfoChild' for 1st argument
struct StructuredCloneReadInfoChild : StructuredCloneReadInfo {
^
objdir-clang/dist/include\mozilla/dom/IndexedDatabase.h(167,8): note: candidate constructor (the implicit move constructor) not viable: no known conversion from 'mozilla::nsTArrayBackInserter<mozilla::dom::indexedDB::StructuredCloneReadInfoChild>' to 'mozilla::dom::indexedDB::StructuredCloneReadInfoChild' for 1st argument
dom/indexedDB/IndexedDatabaseInlines.h(116,38): note: candidate constructor not viable: requires 3 arguments, but 1 was provided
inline StructuredCloneReadInfoChild::StructuredCloneReadInfoChild(
^
Reporter | ||
Comment 1•5 years ago
|
||
Reporter | ||
Updated•5 years ago
|
Reporter | ||
Comment 2•5 years ago
|
||
hrm, backing out the recent commits from bug 1617070 isn't helping. Maybe this is fallout from the MSVC 2019 16.5.0 update which went out yesterday...
Assignee | ||
Comment 3•5 years ago
|
||
(In reply to Ryan VanderMeulen [:RyanVM] from comment #2)
hrm, backing out the recent commits from bug 1617070 isn't helping. Maybe this is fallout from the MSVC 2019 16.5.0 update which went out yesterday...
That's something I wanted to ask here as well, i.e. how this differs from the taskcluster Windows build environments.
I am not sure which STL version this file is from:
C:\PROGRA~2\MICROS~1\2019\COMMUN~1\VC\Tools\MSVC\1425~1.286\include\xutility(1269,13): note: in instantiation of function template specialization 'mozilla::nsTArrayBackInserter<mozilla::dom::indexedDB::StructuredCloneReadInfoChild>::operator=<mozilla::nsTArrayBackInserter<mozilla::dom::indexedDB::StructuredCloneReadInfoChild> &>' requested here
I am not familiar with the Windows build environment, is that the Microsoft STL implementation that is also used with the Visual C++ compiler?
Reporter | ||
Comment 4•5 years ago
|
||
Yeah, we're on Visual Studio 2017 15.8.4 / SDK 10.0.17134.0 in CI, so quite a bit older at this point.
Reporter | ||
Updated•5 years ago
|
Comment 5•5 years ago
|
||
(In reply to Simon Giesecke [:sg] [he/him] from comment #3)
(In reply to Ryan VanderMeulen [:RyanVM] from comment #2)
hrm, backing out the recent commits from bug 1617070 isn't helping. Maybe this is fallout from the MSVC 2019 16.5.0 update which went out yesterday...
That's something I wanted to ask here as well, i.e. how this differs from the taskcluster Windows build environments.
I am not sure which STL version this file is from:
C:\PROGRA~2\MICROS~1\2019\COMMUN~1\VC\Tools\MSVC\1425~1.286\include\xutility(1269,13): note: in instantiation of function template specialization 'mozilla::nsTArrayBackInserter<mozilla::dom::indexedDB::StructuredCloneReadInfoChild>::operator=<mozilla::nsTArrayBackInserter<mozilla::dom::indexedDB::StructuredCloneReadInfoChild> &>' requested here
I am not familiar with the Windows build environment, is that the Microsoft STL implementation that is also used with the Visual C++ compiler?
Yes, we are using the Microsoft STL.
Assignee | ||
Comment 6•5 years ago
|
||
Updated•5 years ago
|
Assignee | ||
Comment 7•5 years ago
|
||
:RyanVM verified locally that the attached patch fixes the issue in IndexedDB.
Reporter | ||
Comment 8•5 years ago
|
||
Not really a "regression" from bug 1595750 per se, but that's where the affected code was added anyway. FWIW, this grafts cleanly to all affected branches. We may want to consider uplifting this to avoid pain for developers building locally.
Updated•5 years ago
|
Comment 9•5 years ago
|
||
(In reply to Ryan VanderMeulen [:RyanVM] from comment #8)
Not really a "regression" from bug 1595750 per se, but that's where the affected code was added anyway. FWIW, this grafts cleanly to all affected branches. We may want to consider uplifting this to avoid pain for developers building locally.
Do you want to uplift this to ESR68 as well? Or is that not a priority given ESR74 (?) is coming?
Comment 10•5 years ago
|
||
Assignee | ||
Comment 11•5 years ago
|
||
(In reply to Nathan Froyd [:froydnj] from comment #9)
(In reply to Ryan VanderMeulen [:RyanVM] from comment #8)
Not really a "regression" from bug 1595750 per se, but that's where the affected code was added anyway. FWIW, this grafts cleanly to all affected branches. We may want to consider uplifting this to avoid pain for developers building locally.
Do you want to uplift this to ESR68 as well? Or is that not a priority given ESR74 (?) is coming?
ESR68 is not affected, Bug 1595750 only landed in FF72.
Comment 12•5 years ago
|
||
For one brief, happy second, I thought I was ahead of RyanVM on uplifting patches. It turns out to not be so. :(
Reporter | ||
Comment 13•5 years ago
|
||
(In reply to Nathan Froyd [:froydnj] from comment #12)
For one brief, happy second, I thought I was ahead of RyanVM on uplifting patches. It turns out to not be so. :(
Better luck next time! :D
Comment 14•5 years ago
|
||
bugherder |
Assignee | ||
Comment 15•5 years ago
|
||
Comment on attachment 9134151 [details]
Bug 1623325 - Fix nsTArrayBackInserter and add moving test. r=froydnj
Beta/Release Uplift Approval Request
- User impact if declined: Developer experience: The fix is necessary to make a build with the current MSVC toolset.
- Is this code covered by automated tests?: Yes
- Has the fix been verified in Nightly?: No
- Needs manual test from QE?: No
- If yes, steps to reproduce:
- List of other uplifts needed: None
- Risk to taking this patch: Low
- Why is the change risky/not risky? (and alternatives if risky): Change is rather syntactical, and covered by unit tests.
- String changes made/needed:
Updated•5 years ago
|
Reporter | ||
Comment 16•5 years ago
|
||
Comment on attachment 9134151 [details]
Bug 1623325 - Fix nsTArrayBackInserter and add moving test. r=froydnj
Fixes bustage with newer versions of MSVC. Approved for 75.0b6.
Comment 17•5 years ago
|
||
bugherder uplift |
Updated•5 years ago
|
Reporter | ||
Updated•5 years ago
|
Description
•