diff options
author | jvoung <jvoung@chromium.org> | 2015-05-13 14:16:07 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2015-05-13 21:16:22 +0000 |
commit | 7862c2537ff491d5865a451b3f9f96bb7c2f3483 (patch) | |
tree | 72583f7c601b1b756c3696bb6f7b22efc6f0b422 /cc/quads | |
parent | 9d137bfcbb5420949b90dedd42dafb763c827e4a (diff) | |
download | chromium_src-7862c2537ff491d5865a451b3f9f96bb7c2f3483.zip chromium_src-7862c2537ff491d5865a451b3f9f96bb7c2f3483.tar.gz chromium_src-7862c2537ff491d5865a451b3f9f96bb7c2f3483.tar.bz2 |
PNaCl: Hold subprocess_mu while doing StartSrpcServices.
StartSrpcServices will require using the service_runtime pointer,
to set up the srpc_client pointer. So we cannot destroy the
service_runtime at the same time.
E.g., if I add a sleep() to induce the race, I get:
../../native_client/src/include/nacl_scoped_ptr.h:96: C *nacl::scoped_ptr<plugin::SelLdrLauncherChrome>::operator->() const [C = plugin::SelLdrLauncherChrome]: Assertion `ptr_ != __null' failed.
Received signal 6
#0 0x7f687f4aef7e base::debug::StackTrace::StackTrace()
#1 0x7f687f4aeabf base::debug::(anonymous namespace)::StackDumpSignalHandler()
#2 0x7f6879dee340 <unknown>
#3 0x7f6876504cc9 gsignal
#4 0x7f68765080d8 abort
#5 0x7f68764fdb86 <unknown>
#6 0x7f68764fdc32 __assert_fail
#7 0x7f688e2887f2 nacl::scoped_ptr<>::operator->()
#8 0x7f688e288487 plugin::ServiceRuntime::SetupAppChannel()
#9 0x7f688e28cb76 plugin::NaClSubprocess::StartSrpcServices()
#10 0x7f688e281810 plugin::PnaclTranslateThread::DoLink()
#11 0x7f688e27fe7d plugin::PnaclTranslateThread::DoLinkThread()
#12 0x7f6879de6182 start_thread
#13 0x7f68765c847d clone
Should have checked this in previous refactoring:
https://codereview.chromium.org/1128943003
BUG=473474
Review URL: https://codereview.chromium.org/1128373005
Cr-Commit-Position: refs/heads/master@{#329718}
Diffstat (limited to 'cc/quads')
0 files changed, 0 insertions, 0 deletions