Skip to content

Brave crashes on clearing browsing data for content settings over all time #497

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
riastradh-brave opened this issue Jul 6, 2018 · 3 comments

Comments

@riastradh-brave
Copy link
Contributor

Description

Brave crashes on clearing browsing data for content settings over all time.

Steps to Reproduce

  1. Open Settings.
  2. Open Clear Browsing Data.
  3. Switch to the Advanced tab.
  4. For Time range, select All time.
  5. Check Content settings.
  6. Hit CLEAR DATA.

Actual result:

[7787:7796:0706/155113.366843:FATAL:cookie_settings.cc(31)] Check failed: IsValidSetting(setting). 
#0 0x7efcd95e446d base::debug::StackTrace::StackTrace()
#1 0x7efcd95e2a2c base::debug::StackTrace::StackTrace()
#2 0x7efcd966dc0a logging::LogMessage::~LogMessage()
#3 0x556211bf48ae (anonymous namespace)::IsAllowed()
#4 0x556211bf47ed content_settings::CookieSettings::IsCookieAccessAllowed()
#5 0x55621092c7fd client_hints::RequestBeginning()
#6 0x556210a79345 ChromeResourceDispatcherHostDelegate::RequestBeginning()
#7 0x7efcd3886b6d content::ResourceDispatcherHostImpl::AddStandardHandlers()
#8 0x7efcd388476f content::ResourceDispatcherHostImpl::CreateResourceHandler()
#9 0x7efcd38825af content::ResourceDispatcherHostImpl::ContinuePendingBeginRequest()
#10 0x7efcd387d3f6 content::ResourceDispatcherHostImpl::BeginRequest()
#11 0x7efcd387c05e content::ResourceDispatcherHostImpl::OnRequestResourceInternal()
#12 0x7efcd3891f2d content::ResourceDispatcherHostImpl::OnRequestResourceWithMojo()
#13 0x7efcd38c5746 content::URLLoaderFactoryImpl::CreateLoaderAndStart()
#14 0x7efcd38b55c6 content::ResourceMessageFilter::CreateLoaderAndStart()
#15 0x7efcd38b5660 content::ResourceMessageFilter::CreateLoaderAndStart()
#16 0x7efcd20e2c36 network::mojom::URLLoaderFactoryStubDispatch::Accept()
#17 0x7efcd300ade3 network::mojom::URLLoaderFactoryStub<>::Accept()
#18 0x7efcd7a5fc55 mojo::InterfaceEndpointClient::HandleValidatedMessage()
#19 0x7efcd7a5e6a1 mojo::InterfaceEndpointClient::HandleIncomingMessageThunk::Accept()
#20 0x7efcd7a5cb32 mojo::FilterChain::Accept()
#21 0x7efcd7a62885 mojo::InterfaceEndpointClient::HandleIncomingMessage()
#22 0x7efcd785732c IPC::(anonymous namespace)::ChannelAssociatedGroupController::Accept()
#23 0x7efcd7a5cb32 mojo::FilterChain::Accept()
#24 0x7efcd7a4eabf mojo::Connector::ReadSingleMessage()
#25 0x7efcd7a4fb0a mojo::Connector::ReadAllAvailableMessages()
#26 0x7efcd7a4f8d5 mojo::Connector::OnHandleReadyInternal()
#27 0x7efcd7a4f7bb mojo::Connector::OnWatcherHandleReady()
#28 0x7efcd7a5322f _ZN4base8internal13FunctorTraitsIMN4mojo9ConnectorEFvjEvE6InvokeIPS3_JjEEEvS5_OT_DpOT0_
#29 0x7efcd7a5318f _ZN4base8internal12InvokeHelperILb0EvE8MakeItSoIRKMN4mojo9ConnectorEFvjEJPS5_jEEEvOT_DpOT0_
#30 0x7efcd7a53125 _ZN4base8internal7InvokerINS0_9BindStateIMN4mojo9ConnectorEFvjEJNS0_17UnretainedWrapperIS4_EEEEEFvjEE7RunImplIRKS6_RKNSt3__15tupleIJS8_EEEJLm0EEEEvOT_OT0_NSF_16integer_sequenceImJXspT1_EEEEOj
#31 0x7efcd7a5305b _ZN4base8internal7InvokerINS0_9BindStateIMN4mojo9ConnectorEFvjEJNS0_17UnretainedWrapperIS4_EEEEEFvjEE3RunEPNS0_13BindStateBaseEj
#32 0x7efcd7a4a09e _ZNKR4base17RepeatingCallbackIFvjEE3RunEj
#33 0x7efcd7a522af mojo::SimpleWatcher::DiscardReadyState()
#34 0x7efcd7a52524 _ZN4base8internal13FunctorTraitsIPFvRKNS_17RepeatingCallbackIFvjEEEjRKN4mojo18HandleSignalsStateEEvE6InvokeIJS6_jSA_EEEvSC_DpOT_
#35 0x7efcd7a524d0 _ZN4base8internal12InvokeHelperILb0EvE8MakeItSoIRKPFvRKNS_17RepeatingCallbackIFvjEEEjRKN4mojo18HandleSignalsStateEEJS8_jSC_EEEvOT_DpOT0_
#36 0x7efcd7a52470 _ZN4base8internal7InvokerINS0_9BindStateIPFvRKNS_17RepeatingCallbackIFvjEEEjRKN4mojo18HandleSignalsStateEEJS5_EEEFvjSB_EE7RunImplIRKSD_RKNSt3__15tupleIJS5_EEEJLm0EEEEvOT_OT0_NSK_16integer_sequenceImJXspT1_EEEEOjSB_
#37 0x7efcd7a523a6 _ZN4base8internal7InvokerINS0_9BindStateIPFvRKNS_17RepeatingCallbackIFvjEEEjRKN4mojo18HandleSignalsStateEEJS5_EEEFvjSB_EE3RunEPNS0_13BindStateBaseEjSB_
#38 0x7efcd79e129e _ZNKR4base17RepeatingCallbackIFvjRKN4mojo18HandleSignalsStateEEE3RunEjS4_
#39 0x7efcd79e0be9 mojo::SimpleWatcher::OnHandleReady()
#40 0x7efcd79e1a93 _ZN4base8internal13FunctorTraitsIMN4mojo13SimpleWatcherEFvijRKNS2_18HandleSignalsStateEEvE6InvokeIRKNS_7WeakPtrIS3_EEJRKiRKjS6_EEEvS8_OT_DpOT0_
#41 0x7efcd79e19d5 _ZN4base8internal12InvokeHelperILb1EvE8MakeItSoIRKMN4mojo13SimpleWatcherEFvijRKNS4_18HandleSignalsStateEERKNS_7WeakPtrIS5_EEJRKiRKjS8_EEEvOT_OT0_DpOT1_
#42 0x7efcd79e1932 _ZN4base8internal7InvokerINS0_9BindStateIMN4mojo13SimpleWatcherEFvijRKNS3_18HandleSignalsStateEEJNS_7WeakPtrIS4_EEijS5_EEEFvvEE7RunImplIRKS9_RKNSt3__15tupleIJSB_ijS5_EEEJLm0ELm1ELm2ELm3EEEEvOT_OT0_NSI_16integer_sequenceImJXspT1_EEEE
#43 0x7efcd79e17ac _ZN4base8internal7InvokerINS0_9BindStateIMN4mojo13SimpleWatcherEFvijRKNS3_18HandleSignalsStateEEJNS_7WeakPtrIS4_EEijS5_EEEFvvEE3RunEPNS0_13BindStateBaseE
#44 0x7efcd95911de _ZNO4base12OnceCallbackIFvvEE3RunEv
#45 0x7efcd95e8622 base::debug::TaskAnnotator::RunTask()
#46 0x7efcd968c9a9 base::internal::IncomingTaskQueue::RunTask()
#47 0x7efcd9695de7 base::MessageLoop::RunTask()
#48 0x7efcd9696058 base::MessageLoop::DeferOrRunPendingTask()
#49 0x7efcd9696389 base::MessageLoop::DoWork()
#50 0x7efcd969bbfe base::MessagePumpLibevent::Run()
#51 0x7efcd96955bc base::MessageLoop::Run()
#52 0x7efcd974d16d base::RunLoop::Run()
#53 0x7efcd980d788 base::Thread::Run()
#54 0x7efcd317844f content::BrowserProcessSubThread::IOThreadRun()
#55 0x7efcd317834a content::BrowserProcessSubThread::Run()
#56 0x7efcd980e348 base::Thread::ThreadMain()
#57 0x7efcd9803dfd base::(anonymous namespace)::ThreadFunc()
#58 0x7efcd9b597fc start_thread
#59 0x7efcba39fb5f clone

Received signal 6
#0 0x7efcd95e446d base::debug::StackTrace::StackTrace()
#1 0x7efcd95e2a2c base::debug::StackTrace::StackTrace()
#2 0x7efcd95e3ec4 base::debug::(anonymous namespace)::StackDumpSignalHandler()
#3 0x7efcd9b65150 <unknown>
#4 0x7efcba2c20bb gsignal
#5 0x7efcba2c3f5d abort
#6 0x7efcd95df8e6 base::debug::(anonymous namespace)::DebugBreak()
#7 0x7efcd95df8c8 base::debug::BreakDebugger()
#8 0x7efcd966ea04 logging::LogMessage::~LogMessage()
#9 0x556211bf48ae (anonymous namespace)::IsAllowed()
#10 0x556211bf47ed content_settings::CookieSettings::IsCookieAccessAllowed()
#11 0x55621092c7fd client_hints::RequestBeginning()
#12 0x556210a79345 ChromeResourceDispatcherHostDelegate::RequestBeginning()
#13 0x7efcd3886b6d content::ResourceDispatcherHostImpl::AddStandardHandlers()
#14 0x7efcd388476f content::ResourceDispatcherHostImpl::CreateResourceHandler()
#15 0x7efcd38825af content::ResourceDispatcherHostImpl::ContinuePendingBeginRequest()
#16 0x7efcd387d3f6 content::ResourceDispatcherHostImpl::BeginRequest()
#17 0x7efcd387c05e content::ResourceDispatcherHostImpl::OnRequestResourceInternal()
#18 0x7efcd3891f2d content::ResourceDispatcherHostImpl::OnRequestResourceWithMojo()
#19 0x7efcd38c5746 content::URLLoaderFactoryImpl::CreateLoaderAndStart()
#20 0x7efcd38b55c6 content::ResourceMessageFilter::CreateLoaderAndStart()
#21 0x7efcd38b5660 content::ResourceMessageFilter::CreateLoaderAndStart()
#22 0x7efcd20e2c36 network::mojom::URLLoaderFactoryStubDispatch::Accept()
#23 0x7efcd300ade3 network::mojom::URLLoaderFactoryStub<>::Accept()
#24 0x7efcd7a5fc55 mojo::InterfaceEndpointClient::HandleValidatedMessage()
#25 0x7efcd7a5e6a1 mojo::InterfaceEndpointClient::HandleIncomingMessageThunk::Accept()
#26 0x7efcd7a5cb32 mojo::FilterChain::Accept()
#27 0x7efcd7a62885 mojo::InterfaceEndpointClient::HandleIncomingMessage()
#28 0x7efcd785732c IPC::(anonymous namespace)::ChannelAssociatedGroupController::Accept()
#29 0x7efcd7a5cb32 mojo::FilterChain::Accept()
#30 0x7efcd7a4eabf mojo::Connector::ReadSingleMessage()
#31 0x7efcd7a4fb0a mojo::Connector::ReadAllAvailableMessages()
#32 0x7efcd7a4f8d5 mojo::Connector::OnHandleReadyInternal()
#33 0x7efcd7a4f7bb mojo::Connector::OnWatcherHandleReady()
#34 0x7efcd7a5322f _ZN4base8internal13FunctorTraitsIMN4mojo9ConnectorEFvjEvE6InvokeIPS3_JjEEEvS5_OT_DpOT0_
#35 0x7efcd7a5318f _ZN4base8internal12InvokeHelperILb0EvE8MakeItSoIRKMN4mojo9ConnectorEFvjEJPS5_jEEEvOT_DpOT0_
#36 0x7efcd7a53125 _ZN4base8internal7InvokerINS0_9BindStateIMN4mojo9ConnectorEFvjEJNS0_17UnretainedWrapperIS4_EEEEEFvjEE7RunImplIRKS6_RKNSt3__15tupleIJS8_EEEJLm0EEEEvOT_OT0_NSF_16integer_sequenceImJXspT1_EEEEOj
#37 0x7efcd7a5305b _ZN4base8internal7InvokerINS0_9BindStateIMN4mojo9ConnectorEFvjEJNS0_17UnretainedWrapperIS4_EEEEEFvjEE3RunEPNS0_13BindStateBaseEj
#38 0x7efcd7a4a09e _ZNKR4base17RepeatingCallbackIFvjEE3RunEj
#39 0x7efcd7a522af mojo::SimpleWatcher::DiscardReadyState()
#40 0x7efcd7a52524 _ZN4base8internal13FunctorTraitsIPFvRKNS_17RepeatingCallbackIFvjEEEjRKN4mojo18HandleSignalsStateEEvE6InvokeIJS6_jSA_EEEvSC_DpOT_
#41 0x7efcd7a524d0 _ZN4base8internal12InvokeHelperILb0EvE8MakeItSoIRKPFvRKNS_17RepeatingCallbackIFvjEEEjRKN4mojo18HandleSignalsStateEEJS8_jSC_EEEvOT_DpOT0_
#42 0x7efcd7a52470 _ZN4base8internal7InvokerINS0_9BindStateIPFvRKNS_17RepeatingCallbackIFvjEEEjRKN4mojo18HandleSignalsStateEEJS5_EEEFvjSB_EE7RunImplIRKSD_RKNSt3__15tupleIJS5_EEEJLm0EEEEvOT_OT0_NSK_16integer_sequenceImJXspT1_EEEEOjSB_
#43 0x7efcd7a523a6 _ZN4base8internal7InvokerINS0_9BindStateIPFvRKNS_17RepeatingCallbackIFvjEEEjRKN4mojo18HandleSignalsStateEEJS5_EEEFvjSB_EE3RunEPNS0_13BindStateBaseEjSB_
#44 0x7efcd79e129e _ZNKR4base17RepeatingCallbackIFvjRKN4mojo18HandleSignalsStateEEE3RunEjS4_
#45 0x7efcd79e0be9 mojo::SimpleWatcher::OnHandleReady()
#46 0x7efcd79e1a93 _ZN4base8internal13FunctorTraitsIMN4mojo13SimpleWatcherEFvijRKNS2_18HandleSignalsStateEEvE6InvokeIRKNS_7WeakPtrIS3_EEJRKiRKjS6_EEEvS8_OT_DpOT0_
#47 0x7efcd79e19d5 _ZN4base8internal12InvokeHelperILb1EvE8MakeItSoIRKMN4mojo13SimpleWatcherEFvijRKNS4_18HandleSignalsStateEERKNS_7WeakPtrIS5_EEJRKiRKjS8_EEEvOT_OT0_DpOT1_
#48 0x7efcd79e1932 _ZN4base8internal7InvokerINS0_9BindStateIMN4mojo13SimpleWatcherEFvijRKNS3_18HandleSignalsStateEEJNS_7WeakPtrIS4_EEijS5_EEEFvvEE7RunImplIRKS9_RKNSt3__15tupleIJSB_ijS5_EEEJLm0ELm1ELm2ELm3EEEEvOT_OT0_NSI_16integer_sequenceImJXspT1_EEEE
#49 0x7efcd79e17ac _ZN4base8internal7InvokerINS0_9BindStateIMN4mojo13SimpleWatcherEFvijRKNS3_18HandleSignalsStateEEJNS_7WeakPtrIS4_EEijS5_EEEFvvEE3RunEPNS0_13BindStateBaseE
#50 0x7efcd95911de _ZNO4base12OnceCallbackIFvvEE3RunEv
#51 0x7efcd95e8622 base::debug::TaskAnnotator::RunTask()
#52 0x7efcd968c9a9 base::internal::IncomingTaskQueue::RunTask()
#53 0x7efcd9695de7 base::MessageLoop::RunTask()
#54 0x7efcd9696058 base::MessageLoop::DeferOrRunPendingTask()
#55 0x7efcd9696389 base::MessageLoop::DoWork()
#56 0x7efcd969bbfe base::MessagePumpLibevent::Run()
#57 0x7efcd96955bc base::MessageLoop::Run()
#58 0x7efcd974d16d base::RunLoop::Run()
#59 0x7efcd980d788 base::Thread::Run()
#60 0x7efcd317844f content::BrowserProcessSubThread::IOThreadRun()
#61 0x7efcd317834a content::BrowserProcessSubThread::Run()
  r8: 0000000000000000  r9: 00007efca9613c90 r10: 0000000000000008 r11: 0000000000000246
 r12: 000004606b317020 r13: 000000000000000e r14: 0000000000000001 r15: 0000000000000003
  di: 0000000000000002  si: 00007efca9613c90  bp: 00007efca9613ee0  bx: 00007efca9617a58
  dx: 0000000000000000  ax: 0000000000000000  cx: 00007efcba2c20bb  sp: 00007efca9613c90
  ip: 00007efcba2c20bb efl: 0000000000000246 cgf: 002b000000000033 erf: 0000000000000000
 trp: 0000000000000000 msk: 0000000000000000 cr2: 0000000000000000
[end of stack trace]
Calling _exit(1). Core file will not be generated.

Expected result:

A squeaky clean history that no federal prosecutor would think twice about impugning.

Reproduces how often:

100%

Brave version (about:brave info)

about:brave doesn't work, so here's about:version:

Brave 67.0.3396.103 (Developer Build) (64-bit)
Revision 870d56e631070860a3ddb6e724eecc4a6992c079-refs/branch-heads/3396@{#794}
OS Linux
JavaScript V8 6.7.288.46
Flash (Disabled)
User Agent Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.103 Safari/537.36
Command Line /home/riastradh/brave/brave/src/out/Debug/brave --enable-logging --v=0 --enable-tab-audio-muting --enable-features=EnableEmojiContextMenu,DesktopPWAWindowing --flag-switches-begin --flag-switches-end
Executable Path /home/riastradh/brave/brave/src/out/Debug/brave
Profile Path /home/riastradh/.config/Brave-Browser-Development/Default
Variations BackgroundVideoOptimizations:BackgroundOptimizationEnabled1sOrLessMediaSourceBlinkSchedulerHighPriorityInput:BlinkSchedulerHighPriorityInputBlockTabUnders:EnabledBrowserScheduler:RedirectWithDefaultInitParamsCSSExternalScanner:Enabled_ScanAndPreloadCertificateTransparencyLogAuditing:EnabledCheckerImaging:CheckerImagingDataReductionProxyRobustConnection:EnabledDynamicExpectCT:DynamicExpectCTEnabledEnableCastDiscovery:EnabledGaiaPasswordReuse:SofterWarningWarnOnLowReputationGuestViewCrossProcessFrames:EnabledIncognitoWindowInProductHelp:EnabledInstanceID:EnabledLocalScreenCasting:EnabledLowPriorityIframes2:EnabledModernMediaControls:EnabledMojoInputMessages:EnabledNTPUseGoogleLocalNtp:EnabledNavigationMojoResponse:NavigationMojoResponseNetworkQualityEstimator:EnabledNewTabInProductHelp:Enabled_1NoStatePrefetchRollout:NoStatePrefetchEnabledOmniboxBundledExperimentV1:DesktopExperimentsOverflowIconsForMediaControls:EnabledPWAFullCodeCache:EnabledPassiveDocumentEventListeners:EnabledPassiveEventListenersDueToFling:EnabledPasswordProtectionForEnterprise:V1EnabledPermissionPromptUIViews:BlockPromptsEnabledPersistentHistograms:EnabledOnDisk5QUIC:EnabledRendererSchedulerWakeUpThrottling:RendererSchedulerWakeUpThrottlingRendererSideResourceScheduler:Enabled_2_1024ReportingAPI:ReportingEnabledResourceLoadScheduler:Enabled_bg_limit_3_1SafeBrowsingAdSamplerTrigger:AdSampler_NormalRateSafeBrowsingScoutTransitionStudy:CanShowScoutOptInGroup2SafeBrowsingThreatDomDetailsTagAttributes:AdIdentifiersSavePreviousDocumentResources:until‑dclServiceWorkerPaymentApps:EnabledServiceWorkerScriptFullCodeCache:EnabledSignInProcessIsolation:Enabled_50_20171026SimpleCacheTrial:ExperimentYesSimplifyHttpsIndicator:EvToSecureSocketReadIfReady:EnabledSpeculativePreconnectValidation:Preconnect2TLS13Variant:Draft23V4ThrottleDelayable:EnabledTokenBinding:TokenBindingTranslateRankerModel:20180123_launchTranslateUserEvents:EnabledUKM:EnabledUseHeuristicLanguageModel:ExperimentUseMojoAudioOutputStreamFactory:UseMojoAudioOutputStreamFactoryUsePdfCompositorServiceForPrint:UsePdfCompositorServiceForPrintV8AsmJSToWasm:AsmJsToWebAssemblyV8ContextSnapshot:EnabledV8WasmTrapHandler:WasmTrapHandlerActiveVideoCaptureService:Enabled2VideoSurfaceLayer:EnabledVsyncAlignedInput:EnableWheelScrollLatchingAndAsyncWheelEvents:EnabledWorkStealingInScriptRunner:WorkStealingAndBackgroundCompile

Reproducible on current release:

no

Additional Information

I haven't actually consulted any federal prosecutors about the squeakiness of my history.

@emerick
Copy link
Contributor

emerick commented Jul 31, 2018

I wasn't able to repro this problem on Windows. Will give it a go on Linux once my build completes there. In looking at the code stack trace, it seems to me that the DCHECK in IsAllowed isn't really correct since GetCookieSetting could potentially return something other than what's being listed as valid:

https://github.com/brave/brave-core/blob/4cfd4c3fa1f80e1b3109b13415127caf0b08a7f7/components/content_settings/core/browser/brave_cookie_settings.cc#L20

Perhaps the solution is to eliminate the DCHECK (unless it's actually checking for a real problem, of course)?

@srirambv
Copy link
Contributor

Verified on Windows and Linux with 0.55.2. Works great with a squeaky clean history that no federal prosecutor would think anytime about impugning.

@srirambv
Copy link
Contributor

Verification Passed on

Brave 0.55.5 Chromium: 70.0.3538.16 (Official Build) dev (64-bit)
Revision 16ed95b41bb05e565b11fb66ac33c660b721f778-refs/branch-heads/3538@{#306}
OS Linux

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants