diff options
author | levin@chromium.org <levin@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-11-20 02:05:34 +0000 |
---|---|---|
committer | levin@chromium.org <levin@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-11-20 02:05:34 +0000 |
commit | dea3b45eb051a0ef8b109703afe7d936b8bfc459 (patch) | |
tree | 8d1c20da3567e8a7f4f00fdc8810e99920665a05 /tools | |
parent | 7c2b1ea1b9ecf78f90ebf13baa5de6ed4d4587d3 (diff) | |
download | chromium_src-dea3b45eb051a0ef8b109703afe7d936b8bfc459.zip chromium_src-dea3b45eb051a0ef8b109703afe7d936b8bfc459.tar.gz chromium_src-dea3b45eb051a0ef8b109703afe7d936b8bfc459.tar.bz2 |
Fix unitialized memory access in workers.
The primary issue was that OnDestroy didn't change the entangled port
to have its entangled port be none.
A secondary issues that came up is that in very rare circumstances (like a crash
happening early in a worker process), it seemed like it may be possible that one
of the message ports may think it is entangled and the other half may not, so
the Erase method guards against this.
Also, some code was added to verify the internal structure before running code
and after.
BUG=27839
TEST=valgrind on linux running ui tests, specifically WorkerTest.WorkerFastLayoutTests.
Review URL: http://codereview.chromium.org/402106
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@32586 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'tools')
-rw-r--r-- | tools/valgrind/memcheck/suppressions.txt | 53 |
1 files changed, 0 insertions, 53 deletions
diff --git a/tools/valgrind/memcheck/suppressions.txt b/tools/valgrind/memcheck/suppressions.txt index 2a2c26e..0e9db9e 100644 --- a/tools/valgrind/memcheck/suppressions.txt +++ b/tools/valgrind/memcheck/suppressions.txt @@ -1139,16 +1139,6 @@ fun:_ZN12RenderThread15OnCreateNewViewEiRK19RendererPreferencesRK14WebPreferencesi } { - bug_27318 - Memcheck:Cond - fun:_ZN21MessagePortDispatcher7ObserveE16NotificationTypeRK18NotificationSourceRK19NotificationDetails - fun:_ZN19NotificationService6NotifyE16NotificationTypeRK18NotificationSourceRK19NotificationDetails - fun:_ZN17WorkerProcessHostD0Ev - fun:_ZN16ChildProcessHost11OnChildDiedEv - fun:_ZN16ChildProcessHost12ListenerHook14OnChannelErrorEv - fun:_ZN3IPC7Channel11ChannelImpl28OnFileCanReadWithoutBlockingEi -} -{ # See comment in main_menu.cc main_menu_leak Memcheck:Leak @@ -1203,49 +1193,6 @@ fun:_ZN11MessageLoop10RunHandlerEv } { - bug_27839 - Memcheck:Cond - fun:_ZN21MessagePortDispatcher7ObserveE16NotificationTypeRK18NotificationSourceRK19NotificationDetails - fun:_ZN19NotificationService6NotifyE16NotificationTypeRK18NotificationSourceRK19NotificationDetails - fun:_ZN21ResourceMessageFilterD0Ev - fun:_ZN12ChromeThread14DeleteOnThreadILNS_2IDE4EE8DestructI21ResourceMessageFilterEEvPT_ - fun:_ZN21ResourceMessageFilter10OnDestructEv - fun:_ZN3IPC12ChannelProxy19MessageFilterTraits8DestructEPNS0_13MessageFilterE - fun:_ZN4base20RefCountedThreadSafeIN3IPC12ChannelProxy13MessageFilterENS2_19MessageFilterTraitsEE7ReleaseEv - fun:_ZN13scoped_refptrIN3IPC12ChannelProxy13MessageFilterEED1Ev - fun:_ZSt8_DestroyI13scoped_refptrIN3IPC12ChannelProxy13MessageFilterEEEvPT_ - fun:_ZSt13__destroy_auxIP13scoped_refptrIN3IPC12ChannelProxy13MessageFilterEEEvT_S6_St12__false_type - fun:_ZSt8_DestroyIP13scoped_refptrIN3IPC12ChannelProxy13MessageFilterEEEvT_S6_ - fun:_ZSt8_DestroyIP13scoped_refptrIN3IPC12ChannelProxy13MessageFilterEES4_EvT_S6_SaIT0_E - fun:_ZNSt6vectorI13scoped_refptrIN3IPC12ChannelProxy13MessageFilterEESaIS4_EE15_M_erase_at_endEPS4_ - fun:_ZNSt6vectorI13scoped_refptrIN3IPC12ChannelProxy13MessageFilterEESaIS4_EE5clearEv - fun:_ZN3IPC12ChannelProxy7Context15OnChannelClosedEv - fun:_ZN3IPC11SyncChannel11SyncContext15OnChannelClosedEv - fun:_Z16DispatchToMethodIN3IPC12ChannelProxy7ContextEMS2_FvvEEvPT_T0_RK6Tuple0 - fun:_ZN14RunnableMethodIN3IPC12ChannelProxy7ContextEMS2_FvvE6Tuple0E3RunEv - fun:_ZN11MessageLoop7RunTaskEP4Task - fun:_ZN11MessageLoop21DeferOrRunPendingTaskERKNS_11PendingTaskE - fun:_ZN11MessageLoop6DoWorkEv - fun:_ZN4base19MessagePumpLibevent3RunEPNS_11MessagePump8DelegateE -} -{ - bug_27922 - Memcheck:Cond - fun:_ZN21MessagePortDispatcher7ObserveE16NotificationTypeRK18NotificationSourceRK19NotificationDetails - fun:_ZN19NotificationService6NotifyE16NotificationTypeRK18NotificationSourceRK19NotificationDetails - fun:_ZN21ResourceMessageFilter14OnChannelErrorEv - fun:_ZN3IPC12ChannelProxy7Context14OnChannelErrorEv - fun:_ZN3IPC11SyncChannel11SyncContext14OnChannelErrorEv - fun:_ZN3IPC12ChannelProxy7Context13OnSendMessageEPNS_7MessageE - fun:_ZN3IPC8SendTask3RunEv - fun:_ZN11MessageLoop7RunTaskEP4Task - fun:_ZN11MessageLoop21DeferOrRunPendingTaskERKNS_11PendingTaskE - fun:_ZN11MessageLoop6DoWorkEv - fun:_ZN4base19MessagePumpLibevent3RunEPNS_11MessagePump8DelegateE - fun:_ZN11MessageLoop11RunInternalEv - fun:_ZN11MessageLoop10RunHandlerEv -} -{ bug_27936 Memcheck:Leak fun:_Znw* |