Skip to content

Instantly share code, notes, and snippets.

@zcwang
Forked from anonymous/gpu process
Created April 25, 2016 09:15
Show Gist options
  • Save zcwang/be42078534473064391aa9465f833124 to your computer and use it in GitHub Desktop.
Save zcwang/be42078534473064391aa9465f833124 to your computer and use it in GitHub Desktop.
Stack trace of Chromium when glViewport gets executed from WebGL
#0 gfx::GLApiBase::glViewportFn (this=0x182605816b60, x=0, y=0, width=248, height=1078) at ../../ui/gl/gl_bindings_autogen_gl.cc:8006
#1 gpu::gles2::GLES2DecoderImpl::DoViewport (this=0x198a38b57c20, x=0, y=0, width=248, height=1078) at ../../gpu/command_buffer/service/gles2_cmd_decoder.cc:8259
#2 0x00007fffe9c78ee4 in gpu::gles2::GLES2DecoderImpl::HandleViewport (this=0x198a38b57c20, immediate_data_size=0, cmd_data=0x7fffd2cf6a88) at ../../gpu/command_buffer/service/gles2_cmd_decoder_autogen.h:3996
#3 0x00007fffe9c84928 in gpu::gles2::GLES2DecoderImpl::DoCommandsImpl<false> (this=0x198a38b57c20, num_commands=20, buffer=0x7fffd2cf6a4c, num_entries=81, entries_processed=0x7fffffffb624) at ../../gpu/command_buffer/service/gles2_cmd_decoder.cc:4378
#4 0x00007fffe9c439bb in gpu::gles2::GLES2DecoderImpl::DoCommands (this=0x198a38b57c20, num_commands=20, buffer=0x7fffd2cf6a4c, num_entries=81, entries_processed=0x7fffffffb624) at ../../gpu/command_buffer/service/gles2_cmd_decoder.cc:4436
#5 0x00007fffe9bfa64f in gpu::CommandParser::ProcessCommands (this=0x198a38eb4620, num_commands=20) at ../../gpu/command_buffer/service/cmd_parser.cc:52
#6 0x00007fffe9c94e05 in gpu::GpuScheduler::PutChanged (this=0x198a38a193e0) at ../../gpu/command_buffer/service/gpu_scheduler.cc:75
#7 0x00007ffff36e45b5 in content::GpuCommandBufferStub::PutChanged (this=0x198a382d28e0) at ../../content/common/gpu/gpu_command_buffer_stub.cc:848
#8 0x00007ffff2982f81 in base::internal::RunnableAdapter<void (content::BrowserAccessibilityStateImpl::*)()>::Run (this=0x7fffffffba40, object=0x198a382d28e0) at ../../base/bind_internal.h:176
#9 0x00007ffff2a00db2 in base::internal::InvokeHelper<false, void, base::internal::RunnableAdapter<void (content::AppCacheServiceImpl::*)()>, base::internal::TypeList<content::AppCacheServiceImpl*> >::MakeItSo (runnable=..., args#0=0x198a382d28e0) at ../../base/bind_internal.h:293
#10 0x00007ffff36eb88d in base::internal::Invoker<base::IndexSequence<0ul>, base::internal::BindState<base::internal::RunnableAdapter<void (content::GpuCommandBufferStub::*)()>, void (content::GpuCommandBufferStub*), base::internal::TypeList<base::internal::UnretainedWrapper<content::GpuCommandBufferStub> > >, base::internal::TypeList<base::internal::UnwrapTraits<base::internal::UnretainedWrapper<content::GpuCommandBufferStub> > >, base::internal::InvokeHelper<false, void, base::internal::RunnableAdapter<void (content::GpuCommandBufferStub::*)()>, base::internal::TypeList<content::GpuCommandBufferStub*> >, void ()>::Run(base::internal::BindStateBase*) (base=0x198a38ae7170) at ../../base/bind_internal.h:346
#11 0x00007fffe9bc5fc8 in base::Callback<void ()>::Run() const (this=0x198a38a191d8) at ../../base/callback.h:396
#12 0x00007fffe9bfb167 in gpu::CommandBufferService::Flush (this=0x198a38a191a0, put_offset=740) at ../../gpu/command_buffer/service/command_buffer_service.cc:79
#13 0x00007ffff36e3ec3 in content::GpuCommandBufferStub::OnAsyncFlush (this=0x198a382d28e0, put_offset=740, flush_count=14, latency_info=std::__debug::vector of length 0, capacity 0) at ../../content/common/gpu/gpu_command_buffer_stub.cc:792
#14 0x00007ffff36db7db in base::DispatchToMethodImpl<content::GpuChannelManager, void (content::GpuChannelManager::*)(int, unsigned int, gpu::ValueState const&), int, unsigned int, gpu::ValueState, 0ul, 1ul, 2ul> (obj=0x198a382d28e0, method=(void (content::GpuChannelManager::*)(content::GpuChannelManager * const, int, unsigned int, const gpu::ValueState &)) 0x7ffff36e3c24 <content::GpuCommandBufferStub::OnAsyncFlush(int, unsigned int, std::__debug::vector<ui::LatencyInfo, std::allocator<ui::LatencyInfo> > const&)>, arg=...) at ../../base/tuple.h:254
#15 0x00007ffff36e92c4 in base::DispatchToMethod<content::GpuCommandBufferStub, void (content::GpuCommandBufferStub::*)(int, unsigned int, std::__debug::vector<ui::LatencyInfo, std::allocator<ui::LatencyInfo> > const&), int, unsigned int, std::__debug::vector<ui::LatencyInfo, std::allocator<ui::LatencyInfo> > > (obj=0x198a382d28e0, method=(void (content::GpuCommandBufferStub::*)(content::GpuCommandBufferStub * const, int, unsigned int, const std::__debug::vector<ui::LatencyInfo, std::allocator<ui::LatencyInfo> > &)) 0x7ffff36e3c24 <content::GpuCommandBufferStub::OnAsyncFlush(int, unsigned int, std::__debug::vector<ui::LatencyInfo, std::allocator<ui::LatencyInfo> > const&)>, arg=...) at ../../base/tuple.h:261
#16 0x00007ffff36e7538 in GpuCommandBufferMsg_AsyncFlush::Dispatch<content::GpuCommandBufferStub, content::GpuCommandBufferStub, void, void (content::GpuCommandBufferStub::*)(int, unsigned int, std::__debug::vector<ui::LatencyInfo, std::allocator<ui::LatencyInfo> > const&)> (msg=0x198a38cd2c00, obj=0x198a382d28e0, sender=0x198a382d28e0, parameter=0x0, func=(void (content::GpuCommandBufferStub::*)(content::GpuCommandBufferStub * const, int, unsigned int, const std::__debug::vector<ui::LatencyInfo, std::allocator<ui::LatencyInfo> > &)) 0x7ffff36e3c24 <content::GpuCommandBufferStub::OnAsyncFlush(int, unsigned int, std::__debug::vector<ui::LatencyInfo, std::allocator<ui::LatencyInfo> > const&)>) at ../../content/common/gpu/gpu_messages.h:543
#17 0x00007ffff36df98b in content::GpuCommandBufferStub::OnMessageReceived (this=0x198a382d28e0, message=IPC::Message & of kind GpuMsgStart line 546 = {...}) at ../../content/common/gpu/gpu_command_buffer_stub.cc:283
#18 0x00007ffff37365ba in content::MessageRouter::RouteMessage (this=0x198a35ec0968, msg=IPC::Message & of kind GpuMsgStart line 546 = {...}) at ../../content/common/message_router.cc:54
#19 0x00007ffff36ccda8 in content::GpuChannel::HandleMessage (this=0x198a35ec08e0) at ../../content/common/gpu/gpu_channel.cc:716
#20 0x00007ffff2982f81 in base::internal::RunnableAdapter<void (content::BrowserAccessibilityStateImpl::*)()>::Run (this=0x7fffffffc3b0, object=0x198a35ec08e0) at ../../base/bind_internal.h:176
#21 0x00007ffff29c5b60 in base::internal::InvokeHelper<true, void, base::internal::RunnableAdapter<void (base::CancelableCallback<void ()>::*)() const>, base::internal::TypeList<base::WeakPtr<base::CancelableCallback<void ()> > const&> >::MakeItSo(base::internal::RunnableAdapter<void (base::CancelableCallback<void ()>::*)() const>, base::WeakPtr<base::CancelableCallback<void ()> > const&) (runnable=..., weak_ptr=base::WeakPtr((base::CancelableCallback<void()> *)0x198a35ec08e0)) at ../../base/bind_internal.h:303
#22 0x00007ffff36d3a05 in base::internal::Invoker<base::IndexSequence<0ul>, base::internal::BindState<base::internal::RunnableAdapter<void (content::GpuChannel::*)()>, void (content::GpuChannel*), base::internal::TypeList<base::WeakPtr<content::GpuChannel> > >, base::internal::TypeList<base::internal::UnwrapTraits<base::WeakPtr<content::GpuChannel> > >, base::internal::InvokeHelper<true, void, base::internal::RunnableAdapter<void (content::GpuChannel::*)()>, base::internal::TypeList<base::WeakPtr<content::GpuChannel> const&> >, void ()>::Run(base::internal::BindStateBase*) (base=0x198a35db75d0) at ../../base/bind_internal.h:346
#23 0x00007fffec92b55e in base::Callback<void ()>::Run() const (this=0x7fffffffc788) at ../../base/callback.h:396
#24 0x00007fffec947be2 in base::debug::TaskAnnotator::RunTask (this=0x7fffffffd3a0, queue_function=0x7fffecb184a8 \"MessageLoop::PostTask\", pending_task=From OnScheduled()@../../content/common/gpu/gpu_channel.cc:564 = {...}) at ../../base/debug/task_annotator.cc:51
#25 0x00007fffec9a4708 in base::MessageLoop::RunTask (this=0x7fffffffd1b0, pending_task=From OnScheduled()@../../content/common/gpu/gpu_channel.cc:564 = {...}) at ../../base/message_loop/message_loop.cc:481
#26 0x00007fffec9a4818 in base::MessageLoop::DeferOrRunPendingTask (this=0x7fffffffd1b0, pending_task=From OnScheduled()@../../content/common/gpu/gpu_channel.cc:564 = {...}) at ../../base/message_loop/message_loop.cc:490
#27 0x00007fffec9a4d14 in base::MessageLoop::DoWork (this=0x7fffffffd1b0) at ../../base/message_loop/message_loop.cc:602
#28 0x00007fffec90d2cd in base::MessagePumpGlib::HandleDispatch (this=0x198a35c3c180) at ../../base/message_loop/message_pump_glib.cc:267
#29 0x00007fffec90cb03 in base::(anonymous namespace)::WorkSourceDispatch (source=0x198a35d5c480, unused_func=0x0, unused_data=0x0) at ../../base/message_loop/message_pump_glib.cc:109
#30 0x00007fffe7377e04 in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#31 0x00007fffe7378048 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#32 0x00007fffe73780ec in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#33 0x00007fffec90d3af in base::MessagePumpGlib::Run (this=0x198a35c3c180, delegate=0x7fffffffd1b0) at ../../base/message_loop/message_pump_glib.cc:309
#34 0x00007fffec9a4364 in base::MessageLoop::RunHandler (this=0x7fffffffd1b0) at ../../base/message_loop/message_loop.cc:445
#35 0x00007fffeca01f40 in base::RunLoop::Run (this=0x7fffffffcba0) at ../../base/run_loop.cc:55
#36 0x00007fffec9a303a in base::MessageLoop::Run (this=0x7fffffffd1b0) at ../../base/message_loop/message_loop.cc:288
#37 0x00007ffff37643d3 in content::GpuMain (parameters=...) at ../../content/gpu/gpu_main.cc:383
#38 0x00007ffff291fdc2 in content::RunNamedProcessTypeMain (process_type=\"gpu-process\", main_function_params=..., delegate=0x7fffffffdb80) at ../../content/app/content_main_runner.cc:379
#39 0x00007ffff2921597 in content::ContentMainRunnerImpl::Run (this=0x198a35ce7650) at ../../content/app/content_main_runner.cc:804
#40 0x00007ffff291f37f in content::ContentMain (params=...) at ../../content/app/content_main.cc:19
#41 0x0000555555bc41eb in ChromeMain (argc=15, argv=0x7fffffffdcc8) at ../../chrome/app/chrome_main.cc:66
#42 0x0000555555bc41a0 in main (argc=15, argv=0x7fffffffdcc8) at ../../chrome/app/chrome_exe_main_aura.cc:17
#0 gpu::gles2::GLES2Implementation::Viewport (this=0x70e94b7fd20, x=0, y=0, width=991, height=1117) at ../../gpu/command_buffer/client/gles2_implementation_impl_autogen.h:2839
#1 0x00007fffe4de3230 in gpu_blink::WebGraphicsContext3DImpl::viewport (this=0x70e94e70560, a1=0, a2=0, a3=991, a4=1117) at ../../gpu/blink/webgraphicscontext3d_impl.cc:742
#2 0x00007fffe055fad0 in blink::WebGLRenderingContextBase::initializeNewContext() () from /home/mkollaro/src/chromium/src/out/Debug/lib/libmodules.so
#3 0x00007fffe0551e30 in blink::WebGLRenderingContext::Factory::create(blink::HTMLCanvasElement*, blink::CanvasContextCreationAttributes const&, blink::Document&) () from /home/mkollaro/src/chromium/src/out/Debug/lib/libmodules.so
#4 0x00007fffe2658626 in blink::HTMLCanvasElement::getCanvasRenderingContext(WTF::String const&, blink::CanvasContextCreationAttributes const&) () from /home/mkollaro/src/chromium/src/out/Debug/lib/libwebcore_shared.so
#5 0x00007fffe2658410 in blink::HTMLCanvasElement::getContext(blink::ScriptState*, WTF::String const&, blink::CanvasContextCreationAttributes const&) () from /home/mkollaro/src/chromium/src/out/Debug/lib/libwebcore_shared.so
#6 0x00007fffe1ade1eb in blink::HTMLCanvasElementV8Internal::getContextMethod(v8::FunctionCallbackInfo<v8::Value> const&) () from /home/mkollaro/src/chromium/src/out/Debug/lib/libwebcore_shared.so
#7 0x00007fffe1ade293 in blink::HTMLCanvasElementV8Internal::getContextMethodCallback(v8::FunctionCallbackInfo<v8::Value> const&) () from /home/mkollaro/src/chromium/src/out/Debug/lib/libwebcore_shared.so
#8 0x00007ffff115582f in v8::internal::FunctionCallbackArguments::Call (this=this@entry=0x7fffffffa6e0, f=f@entry=0x7fffe1ade26f <blink::HTMLCanvasElementV8Internal::getContextMethodCallback(v8::FunctionCallbackInfo<v8::Value> const&)>) at ../../v8/src/arguments.cc:33
#9 0x00007ffff1197796 in v8::internal::HandleApiCallHelper<false> (isolate=isolate@entry=0x70e94944020, args=...) at ../../v8/src/builtins.cc:1009
#10 0x00007ffff11982eb in Builtin_Impl_HandleApiCall (isolate=0x70e94944020, args=...) at ../../v8/src/builtins.cc:1032
#11 v8::internal::Builtin_HandleApiCall (args_length=4, args_object=0x7fffffffa828, isolate=0x70e94944020) at ../../v8/src/builtins.cc:1028
...
(and about 20 more, but it seems like I don't have the debug symbols here)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment