|
|
Chromium Code Reviews|
Created:
4 years, 5 months ago by dgozman Modified:
4 years, 5 months ago Reviewers:
caseq CC:
chromium-reviews, caseq+blink_chromium.org, lushnikov+blink_chromium.org, pfeldman+blink_chromium.org, apavlov+blink_chromium.org, devtools-reviews_chromium.org, blink-reviews, sergeyv+blink_chromium.org, kozyatinskiy+blink_chromium.org Base URL:
https://chromium.googlesource.com/chromium/src.git@master Target Ref:
refs/pending/heads/master Project:
chromium Visibility:
Public. |
Description[DevTools] Allow modifying instrumenting agents while iterating.
In this case we stop iteration early (possibly loosing instrumentation call though).
This can happen if during instrumentation call we paused the execution, entered
nested message loop and detached from there (thus removing agent from the list).
BUG=none
Committed: https://crrev.com/a0206e7e8481b0bd171beb9fc895bd55201eff6e
Cr-Commit-Position: refs/heads/master@{#404694}
Patch Set 1 #
Total comments: 10
Patch Set 2 : addressed review comments #
Total comments: 9
Patch Set 3 : more comments addressed #Patch Set 4 : rebased #
Messages
Total messages: 50 (25 generated)
dgozman@chromium.org changed reviewers: + caseq@chromium.org
Take a look please.
The CQ bit was checked by dgozman@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
https://codereview.chromium.org/2139443002/diff/1/third_party/WebKit/Source/c... File third_party/WebKit/Source/core/inspector/CodeGeneratorInstrumentation.py (right): https://codereview.chromium.org/2139443002/diff/1/third_party/WebKit/Source/c... third_party/WebKit/Source/core/inspector/CodeGeneratorInstrumentation.py:107: class CORE_EXPORT AgentList { drop CORE_EXPORT https://codereview.chromium.org/2139443002/diff/1/third_party/WebKit/Source/c... third_party/WebKit/Source/core/inspector/CodeGeneratorInstrumentation.py:110: class CORE_EXPORT Iterator { ditto https://codereview.chromium.org/2139443002/diff/1/third_party/WebKit/Source/c... third_party/WebKit/Source/core/inspector/CodeGeneratorInstrumentation.py:119: private: nit: blank line above https://codereview.chromium.org/2139443002/diff/1/third_party/WebKit/Source/c... third_party/WebKit/Source/core/inspector/CodeGeneratorInstrumentation.py:123: Member<T>* m_value; Why not HeapVector<Member<T>>::iterator? https://codereview.chromium.org/2139443002/diff/1/third_party/WebKit/Source/c... third_party/WebKit/Source/core/inspector/CodeGeneratorInstrumentation.py:176: ++${member_name}.m_version; Let's move this logic to to AgentList::remove()?
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: Try jobs failed on following builders: win_chromium_rel_ng on master.tryserver.chromium.win (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.win/builders/win_chromium_rel_...)
PTAL https://codereview.chromium.org/2139443002/diff/1/third_party/WebKit/Source/c... File third_party/WebKit/Source/core/inspector/CodeGeneratorInstrumentation.py (right): https://codereview.chromium.org/2139443002/diff/1/third_party/WebKit/Source/c... third_party/WebKit/Source/core/inspector/CodeGeneratorInstrumentation.py:107: class CORE_EXPORT AgentList { On 2016/07/09 00:37:52, caseq wrote: > drop CORE_EXPORT Done. https://codereview.chromium.org/2139443002/diff/1/third_party/WebKit/Source/c... third_party/WebKit/Source/core/inspector/CodeGeneratorInstrumentation.py:110: class CORE_EXPORT Iterator { On 2016/07/09 00:37:52, caseq wrote: > ditto Done. https://codereview.chromium.org/2139443002/diff/1/third_party/WebKit/Source/c... third_party/WebKit/Source/core/inspector/CodeGeneratorInstrumentation.py:119: private: On 2016/07/09 00:37:51, caseq wrote: > nit: blank line above Done. https://codereview.chromium.org/2139443002/diff/1/third_party/WebKit/Source/c... third_party/WebKit/Source/core/inspector/CodeGeneratorInstrumentation.py:123: Member<T>* m_value; On 2016/07/09 00:37:51, caseq wrote: > Why not HeapVector<Member<T>>::iterator? Done. https://codereview.chromium.org/2139443002/diff/1/third_party/WebKit/Source/c... third_party/WebKit/Source/core/inspector/CodeGeneratorInstrumentation.py:176: ++${member_name}.m_version; On 2016/07/09 00:37:52, caseq wrote: > Let's move this logic to to AgentList::remove()? Done.
The CQ bit was checked by dgozman@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
lgtm https://codereview.chromium.org/2139443002/diff/20001/third_party/WebKit/Sour... File third_party/WebKit/Source/core/inspector/CodeGeneratorInstrumentation.py (right): https://codereview.chromium.org/2139443002/diff/20001/third_party/WebKit/Sour... third_party/WebKit/Source/core/inspector/CodeGeneratorInstrumentation.py:119: bool operator==(const Iterator& other) { return isEnd() && other.isEnd() ? true : m_value == other.m_value; } make const? Also, consider isEnd() && other.isEnd() || m_value == other.m_value https://codereview.chromium.org/2139443002/diff/20001/third_party/WebKit/Sour... third_party/WebKit/Source/core/inspector/CodeGeneratorInstrumentation.py:120: bool operator!=(const Iterator& other) { return !(*this == other); } const https://codereview.chromium.org/2139443002/diff/20001/third_party/WebKit/Sour... third_party/WebKit/Source/core/inspector/CodeGeneratorInstrumentation.py:128: InnerIterator m_value; empty line between methods and data please! https://codereview.chromium.org/2139443002/diff/20001/third_party/WebKit/Sour... third_party/WebKit/Source/core/inspector/CodeGeneratorInstrumentation.py:144: AgentsList() : m_version(0) { } here and below, empty lines between all methods please! https://codereview.chromium.org/2139443002/diff/20001/third_party/WebKit/Sour... third_party/WebKit/Source/core/inspector/CodeGeneratorInstrumentation.py:148: for (size_t i = 0; i < m_vector.size(); ++i) { just if (m_vector.contains(value)) return;
https://codereview.chromium.org/2139443002/diff/20001/third_party/WebKit/Sour... File third_party/WebKit/Source/core/inspector/CodeGeneratorInstrumentation.py (right): https://codereview.chromium.org/2139443002/diff/20001/third_party/WebKit/Sour... third_party/WebKit/Source/core/inspector/CodeGeneratorInstrumentation.py:119: bool operator==(const Iterator& other) { return isEnd() && other.isEnd() ? true : m_value == other.m_value; } On 2016/07/09 01:18:34, caseq wrote: > make const? Also, consider isEnd() && other.isEnd() || m_value == other.m_value Done. https://codereview.chromium.org/2139443002/diff/20001/third_party/WebKit/Sour... third_party/WebKit/Source/core/inspector/CodeGeneratorInstrumentation.py:128: InnerIterator m_value; On 2016/07/09 01:18:34, caseq wrote: > empty line between methods and data please! Done. https://codereview.chromium.org/2139443002/diff/20001/third_party/WebKit/Sour... third_party/WebKit/Source/core/inspector/CodeGeneratorInstrumentation.py:144: AgentsList() : m_version(0) { } On 2016/07/09 01:18:34, caseq wrote: > here and below, empty lines between all methods please! Done. https://codereview.chromium.org/2139443002/diff/20001/third_party/WebKit/Sour... third_party/WebKit/Source/core/inspector/CodeGeneratorInstrumentation.py:148: for (size_t i = 0; i < m_vector.size(); ++i) { On 2016/07/09 01:18:34, caseq wrote: > just > if (m_vector.contains(value)) > return; Done.
The CQ bit was checked by dgozman@chromium.org
The patchset sent to the CQ was uploaded after l-g-t-m from caseq@chromium.org Link to the patchset: https://codereview.chromium.org/2139443002/#ps40001 (title: "more comments addressed")
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was unchecked by commit-bot@chromium.org
Try jobs failed on following builders: cast_shell_linux on master.tryserver.chromium.linux (JOB_TIMED_OUT, no build URL) chromeos_amd64-generic_chromium_compile_only_ng on master.tryserver.chromium.linux (JOB_TIMED_OUT, no build URL) chromeos_daisy_chromium_compile_only_ng on master.tryserver.chromium.linux (JOB_TIMED_OUT, no build URL) chromeos_x86-generic_chromium_compile_only_ng on master.tryserver.chromium.linux (JOB_TIMED_OUT, no build URL) chromium_presubmit on master.tryserver.chromium.linux (JOB_TIMED_OUT, no build URL) linux_chromium_asan_rel_ng on master.tryserver.chromium.linux (JOB_TIMED_OUT, no build URL) linux_chromium_chromeos_compile_dbg_ng on master.tryserver.chromium.linux (JOB_TIMED_OUT, no build URL) linux_chromium_chromeos_ozone_rel_ng on master.tryserver.chromium.linux (JOB_TIMED_OUT, no build URL) linux_chromium_chromeos_rel_ng on master.tryserver.chromium.linux (JOB_TIMED_OUT, no build URL) linux_chromium_clobber_rel_ng on master.tryserver.chromium.linux (JOB_TIMED_OUT, no build URL) linux_chromium_compile_dbg_ng on master.tryserver.chromium.linux (JOB_TIMED_OUT, no build URL) linux_chromium_rel_ng on master.tryserver.chromium.linux (JOB_TIMED_OUT, no build URL)
The CQ bit was checked by dgozman@chromium.org
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was unchecked by commit-bot@chromium.org
Try jobs failed on following builders: cast_shell_linux on master.tryserver.chromium.linux (JOB_TIMED_OUT, no build URL) chromeos_amd64-generic_chromium_compile_only_ng on master.tryserver.chromium.linux (JOB_TIMED_OUT, no build URL) chromeos_daisy_chromium_compile_only_ng on master.tryserver.chromium.linux (JOB_TIMED_OUT, no build URL) chromeos_x86-generic_chromium_compile_only_ng on master.tryserver.chromium.linux (JOB_TIMED_OUT, no build URL) chromium_presubmit on master.tryserver.chromium.linux (JOB_TIMED_OUT, no build URL) linux_chromium_asan_rel_ng on master.tryserver.chromium.linux (JOB_TIMED_OUT, no build URL) linux_chromium_chromeos_compile_dbg_ng on master.tryserver.chromium.linux (JOB_TIMED_OUT, no build URL) linux_chromium_chromeos_ozone_rel_ng on master.tryserver.chromium.linux (JOB_TIMED_OUT, no build URL) linux_chromium_chromeos_rel_ng on master.tryserver.chromium.linux (JOB_TIMED_OUT, no build URL) linux_chromium_clobber_rel_ng on master.tryserver.chromium.linux (JOB_TIMED_OUT, no build URL) linux_chromium_compile_dbg_ng on master.tryserver.chromium.linux (JOB_TIMED_OUT, no build URL) linux_chromium_rel_ng on master.tryserver.chromium.linux (JOB_TIMED_OUT, no build URL)
The CQ bit was checked by dgozman@chromium.org
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was unchecked by commit-bot@chromium.org
Try jobs failed on following builders: cast_shell_linux on master.tryserver.chromium.linux (JOB_TIMED_OUT, no build URL) chromeos_amd64-generic_chromium_compile_only_ng on master.tryserver.chromium.linux (JOB_TIMED_OUT, no build URL) chromeos_daisy_chromium_compile_only_ng on master.tryserver.chromium.linux (JOB_TIMED_OUT, no build URL) chromeos_x86-generic_chromium_compile_only_ng on master.tryserver.chromium.linux (JOB_TIMED_OUT, no build URL) chromium_presubmit on master.tryserver.chromium.linux (JOB_TIMED_OUT, no build URL) linux_chromium_asan_rel_ng on master.tryserver.chromium.linux (JOB_TIMED_OUT, no build URL) linux_chromium_chromeos_compile_dbg_ng on master.tryserver.chromium.linux (JOB_TIMED_OUT, no build URL) linux_chromium_chromeos_ozone_rel_ng on master.tryserver.chromium.linux (JOB_TIMED_OUT, no build URL) linux_chromium_chromeos_rel_ng on master.tryserver.chromium.linux (JOB_TIMED_OUT, no build URL) linux_chromium_clobber_rel_ng on master.tryserver.chromium.linux (JOB_TIMED_OUT, no build URL) linux_chromium_compile_dbg_ng on master.tryserver.chromium.linux (JOB_TIMED_OUT, no build URL) linux_chromium_rel_ng on master.tryserver.chromium.linux (JOB_TIMED_OUT, no build URL)
The CQ bit was checked by dgozman@chromium.org
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was unchecked by commit-bot@chromium.org
Try jobs failed on following builders: linux_chromium_asan_rel_ng on master.tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_...)
The CQ bit was checked by dgozman@chromium.org
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was unchecked by commit-bot@chromium.org
Try jobs failed on following builders: linux_chromium_asan_rel_ng on master.tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_...)
The CQ bit was checked by dgozman@chromium.org
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was unchecked by commit-bot@chromium.org
Try jobs failed on following builders: linux_chromium_asan_rel_ng on master.tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_...)
The CQ bit was checked by dgozman@chromium.org
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was unchecked by commit-bot@chromium.org
Try jobs failed on following builders: linux_chromium_asan_rel_ng on master.tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_...)
The CQ bit was checked by dgozman@chromium.org
The patchset sent to the CQ was uploaded after l-g-t-m from caseq@chromium.org Link to the patchset: https://codereview.chromium.org/2139443002/#ps60001 (title: "rebased")
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
Message was sent while issue was closed.
Committed patchset #4 (id:60001)
Message was sent while issue was closed.
CQ bit was unchecked.
Message was sent while issue was closed.
Description was changed from ========== [DevTools] Allow modifying instrumenting agents while iterating. In this case we stop iteration early (possibly loosing instrumentation call though). This can happen if during instrumentation call we paused the execution, entered nested message loop and detached from there (thus removing agent from the list). BUG=none ========== to ========== [DevTools] Allow modifying instrumenting agents while iterating. In this case we stop iteration early (possibly loosing instrumentation call though). This can happen if during instrumentation call we paused the execution, entered nested message loop and detached from there (thus removing agent from the list). BUG=none Committed: https://crrev.com/a0206e7e8481b0bd171beb9fc895bd55201eff6e Cr-Commit-Position: refs/heads/master@{#404694} ==========
Message was sent while issue was closed.
Patchset 4 (id:??) landed as https://crrev.com/a0206e7e8481b0bd171beb9fc895bd55201eff6e Cr-Commit-Position: refs/heads/master@{#404694}
Message was sent while issue was closed.
A revert of this CL (patchset #4 id:60001) has been created in https://codereview.chromium.org/2143053004/ by dgozman@chromium.org. The reason for reverting is: https://bugs.chromium.org/p/chromium/issues/detail?id=627577.
Message was sent while issue was closed.
Do we need that much code to fix it? |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
