New issue
Advanced search Search tips

Issue 591532 link

Starred by 1 user

Issue metadata

Status: Duplicate
Owner:
Closed: Aug 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 2
Type: Bug



Sign in to add a comment

crash in task posted from content::ServiceWorkerContextCore::AddLiveRegistration

Project Member Reported by wfh@chromium.org, Mar 2 2016

Issue description

Version: 50.0.2652.0
OS: Windows

example crashes

crash/20fae25400000000
crash/2fee5b8800000000
crash/3d28ecb000000000
crash/81dd625400000000
crash/b92fbd8800000000

task posted from here:

549    observer_list_->Notify(FROM_HERE,
550                           &ServiceWorkerContextObserver::OnNewLiveRegistration,
551                           registration->id(), registration->pattern()); <- HERE

crashes with stack:

0:012> kn
  *** Stack trace for last set context - .thread/.cxr resets it
 # ChildEBP RetAddr  
WARNING: Frame IP not in any known module. Following frames may be wrong.
00 0567f928 6a1f6fa8 0x0
01 (Inline) -------- chrome_69e40000!base::ObserverListThreadSafe<content::ServiceWorkerContextObserver>::NotifyWrapper<void (__thiscall content::ServiceWorkerContextObserver::*)(__int64,GURL const &),std::tuple<__int64,GURL> >+0x79 [c:\b\build\slave\win\build\src\base\observer_list_threadsafe.h @ 237]
02 0567f964 6a1f6f2d chrome_69e40000!base::ObserverListThreadSafe<content::ServiceWorkerContextObserver>::NotifyWrapper<void (__thiscall content::ServiceWorkerContextObserver::*)(__int64,GURL const &),std::tuple<__int64,GURL> >+0x79 [c:\b\build\slave\win\build\src\base\observer_list_threadsafe.h @ 237]
03 (Inline) -------- chrome_69e40000!base::internal::RunnableAdapter<void (__thiscall base::ObserverListThreadSafe<content::ServiceWorkerContextObserver>::*)(base::ObserverListThreadSafe<content::ServiceWorkerContextObserver>::ObserverListContext *,base::internal::UnboundMethod<content::ServiceWorkerContextObserver,void (__thiscall content::ServiceWorkerContextObserver::*)(__int64,GURL const &),std::tuple<__int64,GURL> > const &)>::Run+0x13 [c:\b\build\slave\win\build\src\base\bind_internal.h @ 181]
04 (Inline) -------- chrome_69e40000!base::internal::InvokeHelper<0,void,base::internal::RunnableAdapter<void (__thiscall base::ObserverListThreadSafe<content::ServiceWorkerContextObserver>::*)(base::ObserverListThreadSafe<content::ServiceWorkerContextObserver>::ObserverListContext *,base::internal::UnboundMethod<content::ServiceWorkerContextObserver,void (__thiscall content::ServiceWorkerContextObserver::*)(__int64,GURL const &),std::tuple<__int64,GURL> > const &)> >::MakeItSo+0x13 [c:\b\build\slave\win\build\src\base\bind_internal.h @ 301]
05 0567f974 69eab7b1 chrome_69e40000!base::internal::Invoker<base::IndexSequence<0,1,2>,base::internal::BindState<base::internal::RunnableAdapter<void (__thiscall base::ObserverListThreadSafe<content::ServiceWorkerContextObserver>::*)(base::ObserverListThreadSafe<content::ServiceWorkerContextObserver>::ObserverListContext *,base::internal::UnboundMethod<content::ServiceWorkerContextObserver,void (__thiscall content::ServiceWorkerContextObserver::*)(__int64,GURL const &),std::tuple<__int64,GURL> > const &)>,void __cdecl(base::ObserverListThreadSafe<content::ServiceWorkerContextObserver> *,base::ObserverListThreadSafe<content::ServiceWorkerContextObserver>::ObserverListContext *,base::internal::UnboundMethod<content::ServiceWorkerContextObserver,void (__thiscall content::ServiceWorkerContextObserver::*)(__int64,GURL const &),std::tuple<__int64,GURL> > const &),base::ObserverListThreadSafe<content::ServiceWorkerContextObserver> *,base::ObserverListThreadSafe<content::ServiceWorkerContextObserver>::ObserverListContext *,base::internal::UnboundMethod<content::ServiceWorkerContextObserver,void (__thiscall content::ServiceWorkerContextObserver::*)(__int64,GURL const &),std::tuple<__int64,GURL> > >,base::internal::TypeList<base::internal::UnwrapTraits<base::ObserverListThreadSafe<content::ServiceWorkerContextObserver> *>,base::internal::UnwrapTraits<base::ObserverListThreadSafe<content::ServiceWorkerContextObserver>::ObserverListContext *>,base::internal::UnwrapTraits<base::internal::UnboundMethod<content::ServiceWorkerContextObserver,void (__thiscall content::ServiceWorkerContextObserver::*)(__int64,GURL const &),std::tuple<__int64,GURL> > > >,base::internal::InvokeHelper<0,void,base::internal::RunnableAdapter<void (__thiscall base::ObserverListThreadSafe<content::ServiceWorkerContextObserver>::*)(base::ObserverListThreadSafe<content::ServiceWorkerContextObserver>::ObserverListContext *,base::internal::UnboundMethod<content::ServiceWorkerContextObserver,void (__thiscall content::ServiceWorkerContextObserver:+0x19 [c:\b\build\slave\win\build\src\base\bind_internal.h @ 358]
06 (Inline) -------- chrome_69e40000!base::Callback<void __cdecl(void)>::Run+0xb [c:\b\build\slave\win\build\src\base\callback.h @ 394]
07 0567f9d0 69eab534 chrome_69e40000!base::debug::TaskAnnotator::RunTask+0x130 [c:\b\build\slave\win\build\src\base\debug\task_annotator.cc @ 51]
08 0567fa3c 69eaaf30 chrome_69e40000!base::MessageLoop::RunTask+0x181 [c:\b\build\slave\win\build\src\base\message_loop\message_loop.cc @ 488]
09 (Inline) -------- chrome_69e40000!base::MessageLoop::DeferOrRunPendingTask+0x10e [c:\b\build\slave\win\build\src\base\message_loop\message_loop.cc @ 495]
0a 0567fb70 69eaaa2b chrome_69e40000!base::MessageLoop::DoWork+0x478 [c:\b\build\slave\win\build\src\base\message_loop\message_loop.cc @ 608]
0b 0567fb8c 69eaa991 chrome_69e40000!base::MessagePumpForIO::DoRunLoop+0x8f [c:\b\build\slave\win\build\src\base\message_loop\message_pump_win.cc @ 498]
0c (Inline) -------- chrome_69e40000!base::MessagePumpWin::RunWithDispatcher+0x37 [c:\b\build\slave\win\build\src\base\message_loop\message_pump_win.cc @ 52]
0d 0567fbac 69eaa790 chrome_69e40000!base::MessagePumpWin::Run+0x3d [c:\b\build\slave\win\build\src\base\message_loop\message_pump_win.cc @ 58]
0e 0567fbd0 69eaa698 chrome_69e40000!base::MessageLoop::RunHandler+0x65 [c:\b\build\slave\win\build\src\base\message_loop\message_loop.cc @ 451]
0f 0567fbf8 69eaa554 chrome_69e40000!base::RunLoop::Run+0x89 [c:\b\build\slave\win\build\src\base\run_loop.cc @ 57]
10 (Inline) -------- chrome_69e40000!base::MessageLoop::Run+0x19 [c:\b\build\slave\win\build\src\base\message_loop\message_loop.cc @ 293]
11 0567fc24 69f62567 chrome_69e40000!base::Thread::Run+0x22 [c:\b\build\slave\win\build\src\base\threading\thread.cc @ 200]
12 0567fcf4 69f30b21 chrome_69e40000!content::BrowserThreadImpl::IOThreadRun+0x22 [c:\b\build\slave\win\build\src\content\browser\browser_thread_impl.cc @ 216]
13 0567fd0c 69ea3aab chrome_69e40000!content::BrowserThreadImpl::Run+0x93 [c:\b\build\slave\win\build\src\content\browser\browser_thread_impl.cc @ 251]
14 0567fd48 69ea37b3 chrome_69e40000!base::Thread::ThreadMain+0x153 [c:\b\build\slave\win\build\src\base\threading\thread.cc @ 255]
*** WARNING: Unable to verify checksum for kernel32.dll
15 0567fd6c 77003c45 chrome_69e40000!base::`anonymous namespace'::ThreadFunc+0x8b [c:\b\build\slave\win\build\src\base\threading\platform_thread_win.cc @ 86]
16 0567fd78 77a037f5 kernel32!BaseThreadInitThunk+0xe
17 0567fdb8 77a037c8 ntdll!__RtlUserThreadStart+0x70
18 0567fdd0 00000000 ntdll!_RtlUserThreadStart+0x1b

could this be a lifetime issue?

Found by crash analysis in issue 493452
 

Comment 1 by horo@chromium.org, Mar 3 2016

Components: Blink>ServiceWorker

Comment 2 by horo@chromium.org, Mar 3 2016

humm.. I can't reproduce this crash.

I think that the all ServiceWorkerContextObservers are correctly removed from the observer list.
- BackgroundSyncManager
- GeofencingManager
- PlatformNotificationContextImpl
- ServiceWorkerContextWatcher
- ServiceWorkerInternalsUI::PartitionObserver

Comment 4 by horo@chromium.org, Aug 18 2017

Mergedinto: 751709
Status: Duplicate (was: Assigned)

Sign in to add a comment