this is the crbug version of b/62219143.
Thread 0 CRASHED [SIGSEGV @ 0x00000000 ]
Stack Quality100%Show frame trust levels
0xf67a0180 (libmojo.so -unordered_map:1142 ) mojo::edk::NodeController::OnAcceptBrokerClient(mojo::edk::ports::NodeName const&, mojo::edk::ports::NodeName const&, mojo::edk::ScopedPlatformHandle)
0xf67a0381 (libmojo.so -node_controller.cc:943 ) non-virtual thunk to mojo::edk::NodeController::OnAcceptBrokerClient(mojo::edk::ports::NodeName const&, mojo::edk::ports::NodeName const&, mojo::edk::ScopedPlatformHandle)
0xf679abf0 (libmojo.so -node_channel.cc:587 ) mojo::edk::NodeChannel::OnChannelMessage(void const*, unsigned int, std::__1::unique_ptr<std::__1::vector<mojo::edk::PlatformHandle, std::__1::allocator<mojo::edk::PlatformHandle> >, mojo::edk::PlatformHandleVectorDeleter>)
0xf678913f (libmojo.so -channel.cc:563 ) mojo::edk::Channel::OnReadComplete(unsigned int, unsigned int*)
0xf678a6e4 (libmojo.so -channel_posix.cc:288 ) mojo::edk::(anonymous namespace)::ChannelPosix::OnFileCanReadWithoutBlocking(int)
0xf678a8aa (libmojo.so -channel_posix.cc:266 ) non-virtual thunk to mojo::edk::(anonymous namespace)::ChannelPosix::OnFileCanReadWithoutBlocking(int)
0xf6668682 (libchrome.so -message_pump_libevent.cc:97 ) base::MessagePumpLibevent::OnLibeventNotification(int, short, void*)
0xf6557b9f (libevent.so -event.c:1319 ) event_base_loop
0xf6668a19 (libchrome.so -message_pump_libevent.cc:246 ) base::MessagePumpLibevent::Run(base::MessagePump::Delegate*)
0xf6665840 (libchrome.so -message_loop.cc:457 ) base::MessageLoop::RunHandler()
0xf6687155 (libchrome.so -run_loop.cc:35 ) base::RunLoop::Run()
0xf66aee34 (libchrome.so -thread.cc:204 ) base::Thread::Run(base::MessageLoop*)
0xf66aefbc (libchrome.so -thread.cc:254 ) base::Thread::ThreadMain()
0xf66a7b5c (libchrome.so -platform_thread_posix.cc:70 ) base::(anonymous namespace)::ThreadFunc(void*)
0xf62249e2 (libc.so -pthread_create.cpp:198 ) __pthread_start(void*)
0xf61ce73e (libc.so -clone.cpp:41 ) __start_thread
0xf61cc3f6 (libc.so + 0x0002d3f6 ) __bionic_clone
What happens is that NodeController::pending_broker_clients_ and NodeController::pending_invitations_ are diverging, so the DCHECK in mojo::edk::NodeController::OnAcceptBrokerClient:932 is firing. Or would fire if we weren't building in Release mode, so clang is free to leverage undefined behavior and crash in mysterious and confusing ways.
Comment 1 by bugdroid1@chromium.org
, May 23 2018