RESOLVED FIXED 209358
[MSVC] Remove experimental lambda processor usage
https://bugs.webkit.org/show_bug.cgi?id=209358
Summary [MSVC] Remove experimental lambda processor usage
Don Olmstead
Reported 2020-03-20 12:33:05 PDT
The experimental lambda processor is currently crashing MSVC when compiling WebKit code in Visual Studio 16.5.0.
Attachments
Patch (3.30 KB, patch)
2020-03-20 12:42 PDT, Don Olmstead
no flags
Patch (3.31 KB, patch)
2020-03-24 11:57 PDT, Don Olmstead
no flags
Patch (3.53 KB, patch)
2020-03-26 20:00 PDT, Fujii Hironori
no flags
Don Olmstead
Comment 1 2020-03-20 12:42:56 PDT
Fujii Hironori
Comment 2 2020-03-20 13:41:19 PDT
*** Bug 209311 has been marked as a duplicate of this bug. ***
Fujii Hironori
Comment 3 2020-03-20 13:43:32 PDT Comment hidden (obsolete)
Fujii Hironori
Comment 4 2020-03-20 13:55:55 PDT
Comment on attachment 394111 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=394111&action=review > Source/WebCore/dom/DocumentStorageAccess.cpp:200 > + m_document.eventLoop().queueMicrotask([this, weakThis = WTFMove(weakThis)] { You can't WTFMove(weakThis) twice. You need to copy the weak ptr.
Fujii Hironori
Comment 5 2020-03-20 14:25:14 PDT
Comment on attachment 394111 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=394111&action=review >> Source/WebCore/dom/DocumentStorageAccess.cpp:200 >> + m_document.eventLoop().queueMicrotask([this, weakThis = WTFMove(weakThis)] { > > You can't WTFMove(weakThis) twice. You need to copy the weak ptr. It can be copied by [this, weakThis].
Don Olmstead
Comment 6 2020-03-24 11:57:26 PDT
Darin Adler
Comment 7 2020-03-24 12:31:02 PDT
Comment on attachment 394390 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=394390&action=review > Source/WebCore/dom/DocumentStorageAccess.cpp:185 > + m_document.eventLoop().queueMicrotask([this, weakThis = makeWeakPtr(*weakThis)] { Doesn’t the syntax [this, weakThis] work without a call to makeWeakPtr?
Don Olmstead
Comment 8 2020-03-24 13:42:30 PDT
Confirmed that the crash is still there in VS 16.5.1.
Darin Adler
Comment 9 2020-03-24 13:47:27 PDT
You mean you tried [this, weakThis] and it also failed? I think we need a comment here otherwise people won't know and will keep re-breaking it.
Fujii Hironori
Comment 10 2020-03-24 13:53:47 PDT
Did you test it by removing /experimental:newLambdaProcessor switch? The compiler crash is caused by the switch. I confirmed [this, weakThis] works with my VS 16.5.1.
Fujii Hironori
Comment 11 2020-03-26 20:00:26 PDT
EWS
Comment 12 2020-03-26 21:31:07 PDT
Committed r259104: <https://trac.webkit.org/changeset/259104> All reviewed patches have been landed. Closing bug and clearing flags on attachment 394697 [details].
Radar WebKit Bug Importer
Comment 13 2020-03-26 21:32:13 PDT
Note You need to log in before you can comment on or make changes to this bug.