I noticed today that if I am capturing a trace from chrome://tracing while I am already capturing a ETW trace for the Chrome providers with xperf I crash in the below location. I can reproduce this in Chromium as well as Edge (Edge stack below). A debug build calls out the below CHECK failure. Is this known?
Repro steps:
Eventually, you will hit the below
[22068:18492:1024/124639.447:FATAL:traced_value.cc(146)] Check failed: value->IsPickleWriter().
(5634.483c): Break instruction exception - code 80000003 (first chance)
**** WARNING loaded *kernel* extension dll for usermode
*** WARNING: Unable to verify checksum for D:\edge\src\out\debug_x64\base.dll
base!base::debug::BreakDebugger+0x21:
00007ff8`86069771 cc int 3
0:000> kn
# Child-SP RetAddr Call Site
00 000000d2`83bf84d0 00007ff8`860e07d3 base!base::debug::BreakDebugger+0x21 [D:\edge\src\base\debug\debugger_win.cc @ 31]
01 000000d2`83bf8500 00007ff8`863b2331 base!logging::LogMessage::~LogMessage+0x7a3 [D:\edge\src\base\logging.cc @ 959]
02 000000d2`83bf9ae0 00007ff8`863b02fb base!base::trace_event::`anonymous namespace'::PickleWriter::SetValue+0xc1 [D:\edge\src\base\trace_event\traced_value.cc @ 147]
*** WARNING: Unable to verify checksum for D:\edge\src\out\debug_x64\cc.dll
03 000000d2`83bf9ca0 00007ff8`5eef2e14 base!base::trace_event::TracedValue::SetValue+0x12b [D:\edge\src\base\trace_event\traced_value.cc @ 512]
04 000000d2`83bf9e70 00007ff8`5ef18939 cc!cc::LayerImpl::AsValueInto+0x694 [D:\edge\src\cc\layers\layer_impl.cc @ 774]
05 000000d2`83bfa0d0 00007ff8`5f197fa4 cc!cc::PictureLayerImpl::AsValueInto+0x49 [D:\edge\src\cc\layers\picture_layer_impl.cc @ 1475]
06 000000d2`83bfa2c0 00007ff8`5f151ab1 cc!cc::LayerTreeImpl::AsValueInto+0x404 [D:\edge\src\cc\trees\layer_tree_impl.cc @ 1715]
07 000000d2`83bfa3f0 00007ff8`5f13e2f3 cc!cc::LayerTreeHostImpl::AsValueWithFrameInto+0x241 [D:\edge\src\cc\trees\layer_tree_host_impl.cc @ 5519]
08 000000d2`83bfa4a0 00007ff8`5f13cf41 cc!cc::LayerTreeHostImpl::AsValueWithFrame+0x93 [D:\edge\src\cc\trees\layer_tree_host_impl.cc @ 5486]
09 000000d2`83bfa530 00007ff8`5f13c262 cc!cc::LayerTreeHostImpl::GenerateCompositorFrame+0x991 [D:\edge\src\cc\trees\layer_tree_host_impl.cc @ 2327]
0a 000000d2`83bfb0c0 00007ff8`5f233ccd cc!cc::LayerTreeHostImpl::DrawLayers+0x412 [D:\edge\src\cc\trees\layer_tree_host_impl.cc @ 2252]
0b 000000d2`83bfb860 00007ff8`5f2352da cc!cc::SingleThreadProxy::DoComposite+0x29d [D:\edge\src\cc\trees\single_thread_proxy.cc @ 690]
0c 000000d2`83bfb990 00007ff8`5efdc64f cc!cc::SingleThreadProxy::ScheduledActionDrawIfPossible+0xfa [D:\edge\src\cc\trees\single_thread_proxy.cc @ 900]
0d 000000d2`83bfbb10 00007ff8`5efd5b4a cc!cc::Scheduler::DrawIfPossible+0x17f [D:\edge\src\cc\scheduler\scheduler.cc @ 728]
0e 000000d2`83bfbd10 00007ff8`5efdc4a2 cc!cc::Scheduler::ProcessScheduledActions+0x4da [D:\edge\src\cc\scheduler\scheduler.cc @ 833]
0f 000000d2`83bfbe30 00007ff8`5efdec3a cc!cc::Scheduler::OnBeginImplFrameDeadline+0x182 [D:\edge\src\cc\scheduler\scheduler.cc @ 716]
10 000000d2`83bfbed0 00007ff8`5efdebb4 cc!base::internal::FunctorTraits<void (cc::Scheduler::*)(),void>::Invoke<void (cc::Scheduler::*)(),cc::Scheduler *>+0x1a [D:\edge\src\base\bind_internal.h @ 513]
11 000000d2`83bfbf10 00007ff8`5efdeb48 cc!base::internal::InvokeHelper<0,void>::MakeItSo<void (cc::Scheduler::*)(),cc::Scheduler *>+0x34 [D:\edge\src\base\bind_internal.h @ 613]
12 000000d2`83bfbf50 00007ff8`5efdeade cc!base::internal::Invoker<base::internal::BindState<void (cc::Scheduler::*)(),base::internal::UnretainedWrapper<cc::Scheduler> >,void ()>::RunImpl<void (cc::Scheduler::*)(),std::__1::tuple<base::internal::UnretainedWrapper<cc::Scheduler> >,0>+0x58 [D:\edge\src\base\bind_internal.h @ 686]
13 000000d2`83bfbfa0 00007ff8`5eeb4331 cc!base::internal::Invoker<base::internal::BindState<void (cc::Scheduler::*)(),base::internal::UnretainedWrapper<cc::Scheduler> >,void ()>::RunOnce+0x4e [D:\edge\src\base\bind_internal.h @ 655]
14 000000d2`83bfbff0 00007ff8`5eeb41b4 cc!base::OnceCallback<void ()>::Run+0x61 [D:\edge\src\base\callback.h @ 99]
15 000000d2`83bfc050 00007ff8`5eeb467f cc!base::internal::CancelableCallbackImpl<base::OnceCallback<void ()> >::ForwardOnce<>+0x34 [D:\edge\src\base\cancelable_callback.h @ 128]
16 000000d2`83bfc090 00007ff8`5eeb45ab cc!base::internal::FunctorTraits<void (base::internal::CancelableCallbackImpl<base::OnceCallback<void ()> >::*)(),void>::Invoke<void (base::internal::CancelableCallbackImpl<base::OnceCallback<void ()> >::*)(),base::WeakPtr<base::internal::CancelableCallbackImpl<base::OnceCallback<void ()> > >>+0x1f [D:\edge\src\base\bind_internal.h @ 513]
17 000000d2`83bfc0d0 00007ff8`5eeb4539 cc!base::internal::InvokeHelper<1,void>::MakeItSo<void (base::internal::CancelableCallbackImpl<base::OnceCallback<void ()> >::*)(),base::WeakPtr<base::internal::CancelableCallbackImpl<base::OnceCallback<void ()> > >>+0x4b [D:\edge\src\base\bind_internal.h @ 636]
18 000000d2`83bfc110 00007ff8`5eeb44de cc!base::internal::Invoker<base::internal::BindState<void (base::internal::CancelableCallbackImpl<base::OnceCallback<void ()> >::*)(),base::WeakPtr<base::internal::CancelableCallbackImpl<base::OnceCallback<void ()> > > >,void ()>::RunImpl<void (base::internal::CancelableCallbackImpl<base::OnceCallback<void ()> >::*)(),std::__1::tuple<base::WeakPtr<base::internal::CancelableCallbackImpl<base::OnceCallback<void ()> > > >,0>+0x49 [D:\edge\src\base\bind_internal.h @ 686]
19 000000d2`83bfc160 00007ff8`860121b1 cc!base::internal::Invoker<base::internal::BindState<void (base::internal::CancelableCallbackImpl<base::OnceCallback<void ()> >::*)(),base::WeakPtr<base::internal::CancelableCallbackImpl<base::OnceCallback<void ()> > > >,void ()>::RunOnce+0x4e [D:\edge\src\base\bind_internal.h @ 655]
1a 000000d2`83bfc1b0 00007ff8`86230922 base!base::OnceCallback<void ()>::Run+0x61 [D:\edge\src\base\callback.h @ 99]
1b 000000d2`83bfc210 00007ff8`8628dc9d base!base::TaskAnnotator::RunTask+0x622 [D:\edge\src\base\task\common\task_annotator.cc @ 144]
1c 000000d2`83bfc6a0 00007ff8`8628d343 base!base::sequence_manager::internal::ThreadControllerWithMessagePumpImpl::DoWorkImpl+0x6dd [D:\edge\src\base\task\sequence_manager\thread_controller_with_message_pump_impl.cc @ 366]
1d 000000d2`83bfcc90 00007ff8`86106459 base!base::sequence_manager::internal::ThreadControllerWithMessagePumpImpl::DoSomeWork+0xb3 [D:\edge\src\base\task\sequence_manager\thread_controller_with_message_pump_impl.cc @ 221]
1e 000000d2`83bfcd90 00007ff8`86104977 base!base::MessagePumpForUI::DoRunLoop+0x1c9 [D:\edge\src\base\message_loop\message_pump_win.cc @ 217]
1f 000000d2`83bfd320 00007ff8`8628f09b base!base::MessagePumpWin::Run+0x127 [D:\edge\src\base\message_loop\message_pump_win.cc @ 76]
20 000000d2`83bfd4e0 00007ff8`861b8265 base!base::sequence_manager::internal::ThreadControllerWithMessagePumpImpl::Run+0x39b [D:\edge\src\base\task\sequence_manager\thread_controller_with_message_pump_impl.cc @ 467]
*** WARNING: Unable to verify checksum for D:\edge\src\out\debug_x64\msedge.dll
21 000000d2`83bfd9a0 00007ff8`6d315317 base!base::RunLoop::Run+0x385 [D:\edge\src\base\run_loop.cc @ 156]
*** WARNING: Unable to verify checksum for D:\edge\src\out\debug_x64\content.dll
22 000000d2`83bfdd50 00007ff8`62c798dc msedge!ChromeBrowserMainParts::MainMessageLoopRun+0x117 [D:\edge\src\chrome\browser\chrome_browser_main.cc @ 2057]
23 000000d2`83bfdf00 00007ff8`62c883d5 content!content::BrowserMainLoop::RunMainMessageLoopParts+0x1ec [D:\edge\src\content\browser\browser_main_loop.cc @ 1036]
24 000000d2`83bfe040 00007ff8`62c726b7 content!content::BrowserMainRunnerImpl::Run+0x155 [D:\edge\src\content\browser\browser_main_runner_impl.cc @ 150]
25 000000d2`83bfe320 00007ff8`6551d13a content!content::BrowserMain+0xf7 [D:\edge\src\content\browser\browser_main.cc @ 47]
26 000000d2`83bfe3d0 00007ff8`6551e966 content!content::RunBrowserProcessMain+0xaa [D:\edge\src\content\app\content_main_runner_impl.cc @ 527]
27 000000d2`83bfe460 00007ff8`6551e352 content!content::ContentMainRunnerImpl::RunServiceManager+0x536 [D:\edge\src\content\app\content_main_runner_impl.cc @ 960]
28 000000d2`83bfe7f0 00007ff8`65519667 content!content::ContentMainRunnerImpl::Run+0x262 [D:\edge\src\content\app\content_main_runner_impl.cc @ 868]
*** WARNING: Unable to verify checksum for D:\edge\src\out\debug_x64\embedder.dll
29 000000d2`83bfeb50 00007ff8`34e32328 content!content::ContentServiceManagerMainDelegate::RunEmbedderProcess+0x37 [D:\edge\src\content\app\content_service_manager_main_delegate.cc @ 52]
2a 000000d2`83bfeb90 00007ff8`6551cfff embedder!service_manager::Main+0x6c8 [D:\edge\src\services\service_manager\embedder\main.cc @ 423]
2b 000000d2`83bff260 00007ff8`67af1391 content!content::ContentMain+0x5f [D:\edge\src\content\app\content_main.cc @ 20]
*** WARNING: Unable to verify checksum for msedge.exe
2c 000000d2`83bff300 00007ff7`7bf49715 msedge!ChromeMain+0x261 [D:\edge\src\chrome\app\chrome_main.cc @ 133]
2d 000000d2`83bff4b0 00007ff7`7bf41869 msedge_exe!MainDllLoader::Launch+0x475 [D:\edge\src\chrome\app\main_dll_loader_win.cc @ 204]
2e 000000d2`83bff660 00007ff7`7c35dd32 msedge_exe!wWinMain+0x5c9 [D:\edge\src\chrome\app\chrome_exe_main_win.cc @ 295]
2f 000000d2`83bffc10 00007ff7`7c35de6e msedge_exe!invoke_main+0x32 [d:\agent\_work\3\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl @ 123]
30 000000d2`83bffc50 00007ff7`7c35deee msedge_exe!__scrt_common_main_seh+0x12e [d:\agent\_work\3\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl @ 288]
31 000000d2`83bffcc0 00007ff7`7c35df09 msedge_exe!__scrt_common_main+0xe [d:\agent\_work\3\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl @ 331]
32 000000d2`83bffcf0 00007ff8`e1867bd4 msedge_exe!wWinMainCRTStartup+0x9 [d:\agent\_work\3\s\src\vctools\crt\vcstartup\src\startup\exe_wwinmain.cpp @ 17]
33 000000d2`83bffd20 00007ff8`e1fcced1 KERNEL32!BaseThreadInitThunk+0x14 [base\win32\client\thread.c @ 64]
34 000000d2`83bffd50 00000000`00000000 ntdll!RtlUserThreadStart+0x21 [minkernel\ntdll\rtlstrt.c @ 1153]
Oystein – This looks like it may be the fallout from the below change:
Fix memlog JSON export when Perfetto is enabled
Added a switch to force JSON-backed TracedValue writer mode and
switch memlog to use it.
https://chromium.googlesource.com/chromium/src/+/ed44cec5721acdd73f76333af38eea79bf671d87
We are juggling PickleWriter and ProtoWriter and it looks like with etl tracing happening we get a ProtoWriter when we expected a PickleWriter.
--
--
Chromium Developers mailing list: chromi...@chromium.org
View archives, change email options, or unsubscribe:
http://groups.google.com/a/chromium.org/group/chromium-dev
---
You received this message because you are subscribed to the Google Groups "Chromium-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to
chromium-dev...@chromium.org.
To view this discussion on the web visit
https://groups.google.com/a/chromium.org/d/msgid/chromium-dev/SN6PR00MB03679F16197A1E87675E6D31D16A0%40SN6PR00MB0367.namprd00.prod.outlook.com.
Tracking this issue in the below:
https://bugs.chromium.org/p/chromium/issues/detail?id=1018845
Are there perfetto contacts that can help me with making the appropriate fix here?
Thanks,
Chris
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/chromium-dev/SN6PR00MB0367673CFD63ADC37440D28ED1650%40SN6PR00MB0367.namprd00.prod.outlook.com.