New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 658735 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Oct 2016
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 1
Type: Bug



Sign in to add a comment

[USS] Crash on re-sign-in

Project Member Reported by s...@chromium.org, Oct 24 2016

Issue description

1. Run Chrome w/ USS 
> out/Default/chrome --enable-features=EnableSyncUSSDeviceInfo
2. Sign in
3. Sign out
4. Sign in

[49163:49163:1024/074728:FATAL:shared_model_type_processor.cc(55)] Check failed: !is_metadata_loaded_. 
#0 0x7efdba897d8e base::debug::StackTrace::StackTrace()
#1 0x7efdba9070bf logging::LogMessage::~LogMessage()
#2 0x7efdc0029fe5 syncer::SharedModelTypeProcessor::OnMetadataLoaded()
#3 0x7efdbff4d109 syncer::DeviceInfoService::OnReadAllMetadata()
#4 0x7efdbff5c0fc _ZN4base8internal13FunctorTraitsIMN6syncer17DeviceInfoServiceEFvNS2_14ModelTypeStore6ResultESt10unique_ptrINSt7__debug6vectorINS4_6RecordESaIS9_EEESt14default_deleteISB_EERKSsEvE6InvokeIRKNS_7WeakPtrIS3_EEJS5_SE_SG_EEEvSI_OT_DpOT0_
#5 0x7efdbff5c029 _ZN4base8internal12InvokeHelperILb1EvE8MakeItSoIRKMN6syncer17DeviceInfoServiceEFvNS4_14ModelTypeStore6ResultESt10unique_ptrINSt7__debug6vectorINS6_6RecordESaISB_EEESt14default_deleteISD_EERKSsERKNS_7WeakPtrIS5_EEJS7_SG_SI_EEEvOT_OT0_DpOT1_
#6 0x7efdbff5bf71 _ZN4base8internal7InvokerINS0_9BindStateIMN6syncer17DeviceInfoServiceEFvNS3_14ModelTypeStore6ResultESt10unique_ptrINSt7__debug6vectorINS5_6RecordESaISA_EEESt14default_deleteISC_EERKSsEJNS_7WeakPtrIS4_EEEEEFvS6_SF_SH_EE7RunImplIRKSJ_RKSt5tupleIJSL_EEJLm0EEEEvOT_OT0_NS_13IndexSequenceIJXspT1_EEEEOS6_OSF_SH_
#7 0x7efdbff5be83 _ZN4base8internal7InvokerINS0_9BindStateIMN6syncer17DeviceInfoServiceEFvNS3_14ModelTypeStore6ResultESt10unique_ptrINSt7__debug6vectorINS5_6RecordESaISA_EEESt14default_deleteISC_EERKSsEJNS_7WeakPtrIS4_EEEEEFvS6_SF_SH_EE3RunEPNS0_13BindStateBaseEOS6_OSF_SH_
#8 0x7efdbbfb729f base::internal::RunMixin<>::Run()
#9 0x7efdc001c63c syncer::ModelTypeStoreImpl::ReadAllMetadataDone()
#10 0x7efdc00275d3 _ZN4base8internal13FunctorTraitsIMN6syncer18ModelTypeStoreImplEFvRKNS_8CallbackIFvNS2_14ModelTypeStore6ResultESt10unique_ptrINSt7__debug6vectorINS5_6RecordESaISA_EEESt14default_deleteISC_EERKSsELNS0_8CopyModeE1ELNS0_10RepeatModeE1EEESF_SF_S7_INS9_ISsSaISsEEESD_ISP_EES6_EvE6InvokeIRKNS_7WeakPtrIS3_EEJSN_SF_SF_SR_S6_EEEvST_OT_DpOT0_
#11 0x7efdc0027400 _ZN4base8internal12InvokeHelperILb1EvE8MakeItSoIRKMN6syncer18ModelTypeStoreImplEFvRKNS_8CallbackIFvNS4_14ModelTypeStore6ResultESt10unique_ptrINSt7__debug6vectorINS7_6RecordESaISC_EEESt14default_deleteISE_EERKSsELNS0_8CopyModeE1ELNS0_10RepeatModeE1EEESH_SH_S9_INSB_ISsSaISsEEESF_ISR_EES8_ERKNS_7WeakPtrIS5_EEJSP_SH_SH_ST_S8_EEEvOT_OT0_DpOT1_
#12 0x7efdc00272fc _ZN4base8internal7InvokerINS0_9BindStateIMN6syncer18ModelTypeStoreImplEFvRKNS_8CallbackIFvNS3_14ModelTypeStore6ResultESt10unique_ptrINSt7__debug6vectorINS6_6RecordESaISB_EEESt14default_deleteISD_EERKSsELNS0_8CopyModeE1ELNS0_10RepeatModeE1EEESG_SG_S8_INSA_ISsSaISsEEESE_ISQ_EES7_EJNS_7WeakPtrIS4_EESM_NS0_13PassedWrapperISG_EESY_NSX_ISS_EEEEEFvS7_EE7RunImplIRKSU_RKSt5tupleIJSW_SM_SY_SY_SZ_EEJLm0ELm1ELm2ELm3ELm4EEEEvOT_OT0_NS_13IndexSequenceIJXspT1_EEEEOS7_
#13 0x7efdc002713c _ZN4base8internal7InvokerINS0_9BindStateIMN6syncer18ModelTypeStoreImplEFvRKNS_8CallbackIFvNS3_14ModelTypeStore6ResultESt10unique_ptrINSt7__debug6vectorINS6_6RecordESaISB_EEESt14default_deleteISD_EERKSsELNS0_8CopyModeE1ELNS0_10RepeatModeE1EEESG_SG_S8_INSA_ISsSaISsEEESE_ISQ_EES7_EJNS_7WeakPtrIS4_EESM_NS0_13PassedWrapperISG_EESY_NSX_ISS_EEEEEFvS7_EE3RunEPNS0_13BindStateBaseEOS7_
#14 0x7efdbb78f7ff base::internal::RunMixin<>::Run()
#15 0x7efdbb9204e0 base::internal::ReplyAdapter<>()
#16 0x7efdbb790f5f _ZN4base8internal13FunctorTraitsIPFvRKNS_8CallbackIFSt10unique_ptrINS_5ValueESt14default_deleteIS4_EEvELNS0_8CopyModeE1ELNS0_10RepeatModeE1EEEPS7_EvE6InvokeIJSD_RKSE_EEEvSG_DpOT_
#17 0x7efdbb920cfd _ZN4base8internal12InvokeHelperILb0EvE8MakeItSoIRKPFvRKNS_8CallbackIFviELNS0_8CopyModeE1ELNS0_10RepeatModeE1EEEPiEJSA_SB_EEEvOT_DpOT0_
#18 0x7efdc0024e28 _ZN4base8internal7InvokerINS0_9BindStateIPFvRKNS_8CallbackIFvN6syncer14ModelTypeStore6ResultEELNS0_8CopyModeE1ELNS0_10RepeatModeE1EEEPS6_EJSA_NS0_12OwnedWrapperIS6_EEEEEFvvEE7RunImplIRKSF_RKSt5tupleIJSA_SH_EEJLm0ELm1EEEEvOT_OT0_NS_13IndexSequenceIJXspT1_EEEE
#19 0x7efdc0024d3c _ZN4base8internal7InvokerINS0_9BindStateIPFvRKNS_8CallbackIFvN6syncer14ModelTypeStore6ResultEELNS0_8CopyModeE1ELNS0_10RepeatModeE1EEEPS6_EJSA_NS0_12OwnedWrapperIS6_EEEEEFvvEE3RunEPNS0_13BindStateBaseE
#20 0x7efdba86925b base::internal::RunMixin<>::Run()
#21 0x7efdbaa63a98 base::(anonymous namespace)::PostTaskAndReplyRelay::RunReplyAndSelfDestruct()
#22 0x7efdbaa63eb9 _ZN4base8internal13FunctorTraitsIMNS_12_GLOBAL__N_121PostTaskAndReplyRelayEFvvEvE6InvokeIPS3_JEEEvS5_OT_DpOT0_
#23 0x7efdbaa63dc1 _ZN4base8internal12InvokeHelperILb0EvE8MakeItSoIRKMNS_12_GLOBAL__N_121PostTaskAndReplyRelayEFvvEJPS5_EEEvOT_DpOT0_
#24 0x7efdbaa63d67 _ZN4base8internal7InvokerINS0_9BindStateIMNS_12_GLOBAL__N_121PostTaskAndReplyRelayEFvvEJNS0_17UnretainedWrapperIS4_EEEEEFvvEE7RunImplIRKS6_RKSt5tupleIJS8_EEJLm0EEEEvOT_OT0_NS_13IndexSequenceIJXspT1_EEEE
#25 0x7efdbaa63cac _ZN4base8internal7InvokerINS0_9BindStateIMNS_12_GLOBAL__N_121PostTaskAndReplyRelayEFvvEJNS0_17UnretainedWrapperIS4_EEEEEFvvEE3RunEPNS0_13BindStateBaseE
#26 0x7efdba89dc71 _ZNO4base8internal8RunMixinINS_8CallbackIFvvELNS0_8CopyModeE0ELNS0_10RepeatModeE0EEEE3RunEv
#27 0x7efdba89d679 base::debug::TaskAnnotator::RunTask()
#28 0x7efdba92fcda base::MessageLoop::RunTask()
#29 0x7efdba92ff64 base::MessageLoop::DeferOrRunPendingTask()
#30 0x7efdba93024e base::MessageLoop::DoWork()
#31 0x7efdba94856c base::MessagePumpGlib::HandleDispatch()
#32 0x7efdba948d31 base::(anonymous namespace)::WorkSourceDispatch()
#33 0x7efdaad8ee04 g_main_context_dispatch
#34 0x7efdaad8f048 <unknown>
#35 0x7efdaad8f0ec g_main_context_iteration
#36 0x7efdba94866f base::MessagePumpGlib::Run()
#37 0x7efdba92f85a base::MessageLoop::RunHandler()
#38 0x7efdba9d5f14 base::RunLoop::Run()
#39 0x7efdbcd92b4f ChromeBrowserMainParts::MainMessageLoopRun()
#40 0x7efdb43e7c59 content::BrowserMainLoop::RunMainMessageLoopParts()
#41 0x7efdb43f3195 content::BrowserMainRunnerImpl::Run()
#42 0x7efdb43e1888 content::BrowserMain()
#43 0x7efdb5aec796 content::RunNamedProcessTypeMain()
#44 0x7efdb5aee842 content::ContentMainRunnerImpl::Run()
#45 0x7efdb5aeba82 content::ContentMain()
#46 0x7efdbb6f8f5b ChromeMain
#47 0x7efdbb6f8ef2 main
#48 0x7efda817ef45 __libc_start_main
#49 0x7efdbb6f8df5 <unknown>

 

Comment 1 by s...@chromium.org, Oct 24 2016

In https://codereview.chromium.org/2406163006/ I changed DisableSync to re-create a processor immediately and hand it empty metadata. I thought this was safe, but it looks like after you re-sign-in, DeviceInfoService::OnProviderInitialized() gets called. Which happily tries to read metadata off of disk again, and hand it to the processor. And the processor doesn't like getting metadata twice, and we DCHECK blow up.

Comment 3 by s...@chromium.org, Oct 25 2016

Status: Fixed (was: Assigned)

Sign in to add a comment