Thanks to Jaap Joris Vens for helping me figure out why my dumb ass couldn't find the debug package with apt-cache (they're in a separate repo now as the README points out).

I've discovered two interesting things, the first one is possibly unrelated:

1. I can reliably cause Chromium to SIGSEGV by opening the Task Manager (Ctrl+Esc). Here's a backtrace from such a crash:

----
Thread 1 "chromium" received signal SIGSEGV, Segmentation fault.
0x000055555a77cf87 in memory_instrumentation::MemoryInstrumentation::RequestPrivateMemoryFootprint(int, base::OnceCallback<void (bool, std::unique_ptr<memory_instrumentation::GlobalMemoryDump, std::default_delete<memory_instrumentation::GlobalMemoryDump> >)>) ()
(gdb) bt
#0 0x000055555a77cf87 in memory_instrumentation::MemoryInstrumentation::RequestPrivateMemoryFootprint(int, base::OnceCallback<void (bool, std::unique_ptr<memory_instrumentation::GlobalMemoryDump, std::default_delete<memory_instrumentation::GlobalMemoryDump> >)>) ()
#1  0x00005555591baaa9 in task_manager::TaskManagerImpl::Refresh() ()
#2  0x00005555593e7c76 in base::RepeatingTimer::RunUserTask() ()
#3 0x00005555593b5165 in base::TaskAnnotator::RunTask(char const*, base::PendingTask*) () #4 0x00005555593c466b in base::sequence_manager::internal::ThreadControllerWithMessagePumpImpl::DoWorkImpl(base::sequence_manager::LazyNow*, bool*) () #5 0x00005555593c5fec in base::sequence_manager::internal::ThreadControllerWithMessagePumpImpl::DoSomeWork() () #6 0x0000555559376aca in base::(anonymous namespace)::WorkSourceDispatch(_GSource*, int (*)(void*), void*) () #7 0x00007ffff7064f2e in g_main_context_dispatch () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0 #8 0x00007ffff70651c8 in () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0 #9 0x00007ffff706525c in g_main_context_iteration () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0 #10 0x0000555559376dd0 in base::MessagePumpGlib::Run(base::MessagePump::Delegate*) () #11 0x00005555593c62a9 in base::sequence_manager::internal::ThreadControllerWithMessagePumpImpl::Run(bool, base::TimeDelta) ()
#12 0x00005555593a22fa in base::RunLoop::Run() ()
#13 0x0000555558ea8217 in ChromeBrowserMainParts::MainMessageLoopRun(int*) () #14 0x00005555571cd1c6 in content::BrowserMainLoop::RunMainMessageLoopParts() ()
#15 0x00005555571cd375 in content::BrowserMainRunnerImpl::Run() ()
#16 0x00005555571a35f7 in content::BrowserMain(content::MainFunctionParams const&) () #17 0x0000555558e30101 in content::RunBrowserProcessMain(content::MainFunctionParams const&, content::ContentMainDelegate*) () #18 0x0000555558e30338 in content::ContentMainRunnerImpl::RunServiceManager(content::MainFunctionParams&, bool) ()
#19 0x0000555558e306a7 in content::ContentMainRunnerImpl::Run(bool) ()
#20 0x0000555558e66802 in service_manager::Main(service_manager::MainParams const&) () #21 0x0000555558e2e0c6 in content::ContentMain(content::ContentMainParams const&) ()
#22 0x000055555635c3e5 in ChromeMain ()
#23 0x00007ffff04a1bbb in __libc_start_main (main=
0x555556339f80 <main>, argc=1, argv=0x7fffffffe168, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7fffffffe158)
    at ../csu/libc-start.c:308
#24 0x000055555635c22a in _start ()
(gdb)
----

Might be an unrelated issue though.

2. While running in gbd and watching a YouTube video in full screen, I tried to pause it and couldn't (no cursor, YouTube UI not showing up), only to find it had segfaulted randomly. The video continued to play until I killed the process. This is that backtrace:

----
Thread 1 "chromium" received signal SIGSEGV, Segmentation fault.
0x000055555a77cee7 in memory_instrumentation::MemoryInstrumentation::RequestGlobalDump(std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&, base::OnceCallback<void (bool, std::unique_ptr<memory_instrumentation::GlobalMemoryDump, std::default_delete<memory_instrumentation::GlobalMemoryDump> >)>) ()
(gdb) bt
#0 0x000055555a77cee7 in memory_instrumentation::MemoryInstrumentation::RequestGlobalDump(std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&, base::OnceCallback<void (bool, std::unique_ptr<memory_instrumentation::GlobalMemoryDump, std::default_delete<memory_instrumentation::GlobalMemoryDump> >)>) () #1 0x0000555558f8ddb0 in ProcessMemoryMetricsEmitter::FetchAndEmitProcessMemoryMetrics() () #2 0x0000555558f85e82 in (anonymous namespace)::RecordMemoryMetrics() () #3 0x00005555593b5165 in base::TaskAnnotator::RunTask(char const*, base::PendingTask*) () #4 0x00005555593c466b in base::sequence_manager::internal::ThreadControllerWithMessagePumpImpl::DoWorkImpl(base::sequence_manager::LazyNow*, bool*) () #5 0x00005555593c5fec in base::sequence_manager::internal::ThreadControllerWithMessagePumpImpl::DoSomeWork() () #6 0x0000555559376aca in base::(anonymous namespace)::WorkSourceDispatch(_GSource*, int (*)(void*), void*) () #7 0x00007ffff7064f2e in g_main_context_dispatch () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0 #8 0x00007ffff70651c8 in () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0 #9 0x00007ffff706525c in g_main_context_iteration () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0 #10 0x0000555559376dd0 in base::MessagePumpGlib::Run(base::MessagePump::Delegate*) () #11 0x00005555593c62a9 in base::sequence_manager::internal::ThreadControllerWithMessagePumpImpl::Run(bool, base::TimeDelta) ()
#12 0x00005555593a22fa in base::RunLoop::Run() ()
#13 0x0000555558ea8217 in ChromeBrowserMainParts::MainMessageLoopRun(int*) () #14 0x00005555571cd1c6 in content::BrowserMainLoop::RunMainMessageLoopParts() ()
#15 0x00005555571cd375 in content::BrowserMainRunnerImpl::Run() ()
#16 0x00005555571a35f7 in content::BrowserMain(content::MainFunctionParams const&) () #17 0x0000555558e30101 in content::RunBrowserProcessMain(content::MainFunctionParams const&, content::ContentMainDelegate*) () #18 0x0000555558e30338 in content::ContentMainRunnerImpl::RunServiceManager(content::MainFunctionParams&, bool) ()
#19 0x0000555558e306a7 in content::ContentMainRunnerImpl::Run(bool) ()
#20 0x0000555558e66802 in service_manager::Main(service_manager::MainParams const&) () #21 0x0000555558e2e0c6 in content::ContentMain(content::ContentMainParams const&) ()
#22 0x000055555635c3e5 in ChromeMain ()
#23 0x00007ffff04a1bbb in __libc_start_main (main=
0x555556339f80 <main>, argc=1, argv=0x7fffffffe168, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7fffffffe158)
    at ../csu/libc-start.c:308
#24 0x000055555635c22a in _start ()
(gdb)
----

Finally, it crashed twice while I was composing this message, so here's one of those:

----
Thread 1 "chromium" received signal SIGSEGV, Segmentation fault.
0x000055555a77cee7 in memory_instrumentation::MemoryInstrumentation::RequestGlobalDump(std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&, base::OnceCallback<void (bool, std::unique_ptr<memory_instrumentation::GlobalMemoryDump, std::default_delete<memory_instrumentation::GlobalMemoryDump> >)>) ()
(gdb) bt
#0 0x000055555a77cee7 in memory_instrumentation::MemoryInstrumentation::RequestGlobalDump(std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&, base::OnceCallback<void (bool, std::unique_ptr<memory_instrumentation::GlobalMemoryDump, std::default_delete<memory_instrumentation::GlobalMemoryDump> >)>) () #1 0x0000555558f8ddb0 in ProcessMemoryMetricsEmitter::FetchAndEmitProcessMemoryMetrics() () #2 0x0000555558f85e82 in (anonymous namespace)::RecordMemoryMetrics() () #3 0x00005555593b5165 in base::TaskAnnotator::RunTask(char const*, base::PendingTask*) () #4 0x00005555593c466b in base::sequence_manager::internal::ThreadControllerWithMessagePumpImpl::DoWorkImpl(base::sequence_manager::LazyNow*, bool*) () #5 0x00005555593c5fec in base::sequence_manager::internal::ThreadControllerWithMessagePumpImpl::DoSomeWork() () #6 0x0000555559376aca in base::(anonymous namespace)::WorkSourceDispatch(_GSource*, int (*)(void*), void*) () #7 0x00007ffff7064f2e in g_main_context_dispatch () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0 #8 0x00007ffff70651c8 in () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0 #9 0x00007ffff706525c in g_main_context_iteration () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0 #10 0x0000555559376dd0 in base::MessagePumpGlib::Run(base::MessagePump::Delegate*) () #11 0x00005555593c62a9 in base::sequence_manager::internal::ThreadControllerWithMessagePumpImpl::Run(bool, base::TimeDelta) ()
#12 0x00005555593a22fa in base::RunLoop::Run() ()
#13 0x0000555558ea8217 in ChromeBrowserMainParts::MainMessageLoopRun(int*) () #14 0x00005555571cd1c6 in content::BrowserMainLoop::RunMainMessageLoopParts() ()
#15 0x00005555571cd375 in content::BrowserMainRunnerImpl::Run() ()
#16 0x00005555571a35f7 in content::BrowserMain(content::MainFunctionParams const&) () #17 0x0000555558e30101 in content::RunBrowserProcessMain(content::MainFunctionParams const&, content::ContentMainDelegate*) () #18 0x0000555558e30338 in content::ContentMainRunnerImpl::RunServiceManager(content::MainFunctionParams&, bool) ()
#19 0x0000555558e306a7 in content::ContentMainRunnerImpl::Run(bool) ()
#20 0x0000555558e66802 in service_manager::Main(service_manager::MainParams const&) () #21 0x0000555558e2e0c6 in content::ContentMain(content::ContentMainParams const&) ()
#22 0x000055555635c3e5 in ChromeMain ()
#23 0x00007ffff04a1bbb in __libc_start_main (main=
0x555556339f80 <main>, argc=1, argv=0x7fffffffe168, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7fffffffe158)
    at ../csu/libc-start.c:308
#24 0x000055555635c22a in _start ()
(gdb)

----

- Michel

Reply via email to