I'm sometimes hitting DCHECK(!finalized_pmds.count(pid)) in coordinator_impl.cc in my dcheck_always_on=true Release build on macOS.
The scenario is simple:
1. Run
out/Release/Chromium.app/Contents/MacOS/Chromium \
--enable-heap-profiling=native \
"http://www.nick.com/games" \
"http://www.rei.com" \
"http://www.fifa.com/"
2. Visit all tabs.
3. Open chrome://tracing tab, record a trace, wait ~20 sec, stop.
I added some logging around that condition, and got:
[41702:775:0717/134044.867916:ERROR:coordinator_impl.cc(427)] Adding finalized_pmd for pid 41702
[41702:775:0717/134044.867960:ERROR:coordinator_impl.cc(427)] Adding finalized_pmd for pid 41707
[41702:775:0717/134044.867968:ERROR:coordinator_impl.cc(427)] Adding finalized_pmd for pid 41711
[41702:775:0717/134044.867974:ERROR:coordinator_impl.cc(427)] Adding finalized_pmd for pid 0
[41702:775:0717/134044.867980:ERROR:coordinator_impl.cc(421)] Hmm, already have finalized_pmd for pid 0
[41702:775:0717/134044.867986:ERROR:coordinator_impl.cc(427)] Adding finalized_pmd for pid 41715
[41702:775:0717/134044.867991:ERROR:coordinator_impl.cc(427)] Adding finalized_pmd for pid 41716
In contrast here is a successful run:
[41677:775:0717/133926.956787:ERROR:coordinator_impl.cc(427)] Adding finalized_pmd for pid 41686
[41677:775:0717/133926.956813:ERROR:coordinator_impl.cc(427)] Adding finalized_pmd for pid 0
[41677:775:0717/133926.956822:ERROR:coordinator_impl.cc(427)] Adding finalized_pmd for pid 41677
[41677:775:0717/133926.956829:ERROR:coordinator_impl.cc(427)] Adding finalized_pmd for pid 41682
[41677:775:0717/133926.956836:ERROR:coordinator_impl.cc(427)] Adding finalized_pmd for pid 41690
[41677:775:0717/133926.956844:ERROR:coordinator_impl.cc(427)] Adding finalized_pmd for pid 41687
[41677:775:0717/133926.956851:ERROR:coordinator_impl.cc(427)] Adding finalized_pmd for pid 41691
I.e. I think the issue is that we're getting traces for PID 0.
Comment 1 by primiano@chromium.org
, Jul 17 2017