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

Issue 870479 link

Starred by 3 users

Issue metadata

Status: Available
Owner: ----
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Android
Pri: 3
Type: Task



Sign in to add a comment

android.webkit.cts.HttpAuthHandlerTest CTS tests failing on ToT

Project Member Reported by aluo@chromium.org, Aug 2

Issue description

These tests are failing:

android.webkit.cts.HttpAuthHandlerTest#testProceed
android.webkit.cts.HttpAuthHandlerTest#testUseHttpAuthUsernamePassword
android.webkit.cts.HttpAuthHandlerTest#testCancel
android.webkit.cts.WebViewClientTest#testOnReceivedHttpAuthRequest

Stack:
Operating system: Android
                  Android/aosp_hammerhead/hammerhead:6.0/MRA58Z/2365975:userdebug/test-keys
CPU: arm
     4 CPUs
GPU: UNKNOWN
Crash reason:  SIGABRT
Crash address: 0x3be0
Process uptime: not available
Thread 0 (crashed)
 0  0xb6d0a43c
     r0 = 0x00000000    r1 = 0x00003bf5    r2 = 0x00000006    r3 = 0xaecfa978
     r4 = 0xaecfa980    r5 = 0xaecfa930    r6 = 0x0000000b    r7 = 0x0000010c
     r8 = 0xa6430cd8    r9 = 0xaecf9514   r10 = 0xaecf9510   r12 = 0x00000006
     fp = 0xaecf90dd    sp = 0xaecf9050    lr = 0xb6d08af1    pc = 0xb6d0a43c
    Found by: given as instruction pointer in context
 1  libwebviewchromium.so!base::debug::BreakDebugger() [debugger_posix.cc : 228 + 0x3]
     sp = 0xaecf90a0    pc = 0xa44ecf21
    Found by: stack scanning
 2  libwebviewchromium.so!logging::LogMessage::~LogMessage() [logging.cc : 865 + 0x3]
     r7 = 0x0defaced    sp = 0xaecf90a8    pc = 0xa44999e5
    Found by: call frame info
 3  libwebviewchromium.so!std::__ndk1::enable_if<((MakeFunctorTraits<WebDatabase::State (autofill::AutofillWebDataBackendImpl::*)(WebDatabase*)>::is_method) && (std::is_pointer<std::__ndk1::decay<autofill::AutofillWebDataBackendImpl*>::type>::value)) && (IsRefCountedType<std::__ndk1::remove_pointer<std::__ndk1::decay<autofill::AutofillWebDataBackendImpl*>::type>::type>::value), void>::type base::internal::BanUnconstructedRefCountedReceiver<WebDatabase::State (autofill::AutofillWebDataBackendImpl::*)(WebDatabase*), autofill::AutofillWebDataBackendImpl*>(autofill::AutofillWebDataBackendImpl* const&) [bind_internal.h : 810 + 0x5]
     r4 = 0xaecf9510    r5 = 0xaecf95f0    r6 = 0xaecf95f4    r7 = 0xa2e5ccdd
     r8 = 0xaecf9630    r9 = 0xaecf9630   r10 = 0xaecf96a8    fp = 0x00000000
     sp = 0xaecf9510    pc = 0xa2e5cdc9
    Found by: call frame info
 4  libwebviewchromium.so!base::internal::BindState<void (android_webview::AwLoginDelegate::*)(bool, base::RepeatingCallback<content::WebContents* ()> const&), scoped_refptr<android_webview::AwLoginDelegate>, bool, base::RepeatingCallback<content::WebContents* ()> >* base::internal::BindState<void (android_webview::AwLoginDelegate::*)(bool, base::RepeatingCallback<content::WebContents* ()> const&), scoped_refptr<android_webview::AwLoginDelegate>, bool, base::RepeatingCallback<content::WebContents* ()> >::Create<void (android_webview::AwLoginDelegate::*)(bool, base::RepeatingCallback<content::WebContents* ()> const&), android_webview::AwLoginDelegate*, bool&, base::RepeatingCallback<content::WebContents* ()>&>(void (*)(), void (android_webview::AwLoginDelegate::*&&)(bool, base::RepeatingCallback<content::WebContents* ()> const&), android_webview::AwLoginDelegate*&&, bool&&&, base::RepeatingCallback<content::WebContents* ()>&&&) [bind_internal.h : 833 + 0xb]
     r4 = 0xaecf9613    r5 = 0xaecf95f0    r6 = 0xaecf95f4    r7 = 0xa2e5ccdd
     r8 = 0xaecf9630    r9 = 0xaecf9630   r10 = 0xaecf96a8    fp = 0x00000000
     sp = 0xaecf95b8    pc = 0xa2e5cd05
    Found by: call frame info
 5  libwebviewchromium.so!base::OnceCallback<base::internal::BindTypeHelper<void (android_webview::AwLoginDelegate::*)(bool, base::RepeatingCallback<content::WebContents* ()> const&), android_webview::AwLoginDelegate*, bool&, base::RepeatingCallback<content::WebContents* ()>&>::UnboundRunType> base::BindOnce<void (android_webview::AwLoginDelegate::*)(bool, base::RepeatingCallback<content::WebContents* ()> const&), android_webview::AwLoginDelegate*, bool&, base::RepeatingCallback<content::WebContents* ()>&>(void (android_webview::AwLoginDelegate::*&&)(bool, base::RepeatingCallback<content::WebContents* ()> const&), android_webview::AwLoginDelegate*&&, bool&&&, base::RepeatingCallback<content::WebContents* ()>&&&) [bind.h : 219 + 0xf]
     r4 = 0xaecf95fc    r5 = 0xaecf95fc    r6 = 0xaecf9600    r7 = 0x00000000
     r8 = 0xaecf9654    r9 = 0xaecf9630   r10 = 0xaecf96a8    fp = 0x00000000
     sp = 0xaecf95d8    pc = 0xa2e5c7cd
    Found by: call frame info
 6  libwebviewchromium.so!android_webview::AwLoginDelegate::AwLoginDelegate(net::AuthChallengeInfo*, base::RepeatingCallback<content::WebContents* ()>, bool, base::OnceCallback<void (base::Optional<net::AuthCredentials> const&)>) [aw_login_delegate.cc : 32 + 0x9]
     r4 = 0x0defaced    r5 = 0xaecf95fc    r6 = 0xaecf9600    r7 = 0x00000000
     r8 = 0xaecf9654    r9 = 0xaecf9630   r10 = 0xaecf96a8    fp = 0x00000000
     sp = 0xaecf95e8    pc = 0xa2e5c793
    Found by: call frame info
 7  libwebviewchromium.so!scoped_refptr<android_webview::AwLoginDelegate> base::MakeRefCounted<android_webview::AwLoginDelegate, net::AuthChallengeInfo*&, base::RepeatingCallback<content::WebContents* ()>&, bool&, base::OnceCallback<void (base::Optional<net::AuthCredentials> const&)> >(net::AuthChallengeInfo*&&&, base::RepeatingCallback<content::WebContents* ()>&&&, bool&&&, base::OnceCallback<void (base::Optional<net::AuthCredentials> const&)>&&) [scoped_refptr.h : 91 + 0x9]
     r4 = 0x0defaced    r5 = 0x0defaced    r6 = 0xaecf962c    r7 = 0xaecf96ac
     r8 = 0xaecf9654    r9 = 0xaecf9630   r10 = 0xaecf96a8    fp = 0x00000000
     sp = 0xaecf9628    pc = 0xa2e4e5e9
    Found by: call frame info
 8  libwebviewchromium.so!android_webview::AwContentBrowserClient::CreateLoginDelegate(net::AuthChallengeInfo*, base::RepeatingCallback<content::WebContents* ()>, content::GlobalRequestID const&, bool, GURL const&, scoped_refptr<net::HttpResponseHeaders>, bool, base::OnceCallback<void (base::Optional<net::AuthCredentials> const&)>) [aw_content_browser_client.cc : 717 + 0x15]
     r4 = 0xaecf96b0    r5 = 0xaecf96ac    r6 = 0xaecf9654    r7 = 0xaecf96a4
     r8 = 0xaecf96b0    r9 = 0x0defaced   r10 = 0xaecf96a8    fp = 0x00000000
     sp = 0xaecf9650    pc = 0xa2e4e59b
    Found by: call frame info
 9  libwebviewchromium.so!content::ResourceDispatcherHostImpl::CreateLoginDelegate(content::ResourceLoader*, net::AuthChallengeInfo*) [resource_dispatcher_host_impl.cc : 549 + 0x1b]
     r4 = 0xaecf96ac    r5 = 0x0defaced    r6 = 0xa2e4e579    r7 = 0xaecf96a4
     r8 = 0xaecf96b0    r9 = 0x0defaced   r10 = 0xaecf96a8    fp = 0x00000000
     sp = 0xaecf9670    pc = 0xa362f7b9
    Found by: call frame info
10  libwebviewchromium.so!non-virtual thunk to content::ResourceDispatcherHostImpl::CreateLoginDelegate(content::ResourceLoader*, net::AuthChallengeInfo*) [resource_dispatcher_host_impl.cc : 0 + 0x3]
     r4 = 0x0defaced    r5 = 0xa362f8ad    r6 = 0xaecf9784    r7 = 0x0defaced
     r8 = 0xaecf991c    r9 = 0x0defaced   r10 = 0xaecf9bbc    fp = 0x0defaced
     sp = 0xaecf9778    pc = 0xa362f8b5
    Found by: call frame info
11  libwebviewchromium.so!content::ResourceLoader::OnAuthRequired(net::URLRequest*, net::AuthChallengeInfo*) [resource_loader.cc : 416 + 0xb]
     r4 = 0x0defaced    r5 = 0xa362f8ad    r6 = 0xaecf9784    r7 = 0x0defaced
     r8 = 0xaecf991c    r9 = 0x0defaced   r10 = 0xaecf9bbc    fp = 0x0defaced
     sp = 0xaecf9780    pc = 0xa3634ea1
    Found by: call frame info
12  libwebviewchromium.so!net::URLRequest::NotifyAuthRequiredComplete(net::NetworkDelegate::AuthRequiredResponse) [url_request.cc : 1044 + 0x3]
     r4 = 0x0defaced    r5 = 0x00000000    r6 = 0xaecf985c    r7 = 0x0defaced
     r8 = 0xaecf991c    r9 = 0x0defaced   r10 = 0xaecf9bbc    fp = 0x0defaced
     sp = 0xaecf9838    pc = 0xa4a7fa9f
    Found by: call frame info
13  libwebviewchromium.so!net::URLRequest::NotifyAuthRequired(net::AuthChallengeInfo*) [url_request.cc : 1022 + 0x7]
     r4 = 0x0defaced    r5 = 0x0defaced    r6 = 0x00000000    r7 = 0x0defaced
     r8 = 0xaecf991c    r9 = 0x0defaced   r10 = 0xaecf9bbc    fp = 0x0defaced
     sp = 0xaecf9908    pc = 0xa4a7fa11
    Found by: call frame info
14  libwebviewchromium.so!net::URLRequestJob::NotifyHeadersComplete() [url_request_job.cc : 459 + 0x3]
     r4 = 0x0defaced    r5 = 0xaecf9980    r6 = 0xaecf9a78    r7 = 0xa4a86461
     r8 = 0x0defaced    r9 = 0x0defaced   r10 = 0xaecf9bbc    fp = 0x0defaced
     sp = 0xaecf9938    pc = 0xa4a8686b
    Found by: call frame info
15  libwebviewchromium.so!net::URLRequestHttpJob::NotifyHeadersComplete() [url_request_http_job.cc : 523 + 0x5]
     r4 = 0x0defaced    r5 = 0xaecf9bb8    r6 = 0xaecf9bd0    r7 = 0x00000000
     r8 = 0x0defaced    r9 = 0x0defaced   r10 = 0xaecf9bbc    fp = 0x0defaced
     sp = 0xaecf9af8    pc = 0xa4a83479
    Found by: call frame info
16  libwebviewchromium.so!net::URLRequestHttpJob::SaveCookiesAndNotifyHeadersComplete(int) [url_request_http_job.cc : 810 + 0x5]
     r4 = 0xaecf9ba8    r5 = 0xaecf9bb8    r6 = 0xaecf9bd0    r7 = 0x00000000
     r8 = 0x0defaced    r9 = 0x0defaced   r10 = 0xaecf9bbc    fp = 0x0defaced
     sp = 0xaecf9ba0    pc = 0xa4a847df
    Found by: call frame info
17  libwebviewchromium.so!net::URLRequestHttpJob::OnStartCompleted(int) [url_request_http_job.cc : 1034 + 0x7]
     r4 = 0x0defaced    r5 = 0x0defaced    r6 = 0xaecf9c48    r7 = 0x0defaced
     r8 = 0x0defaced    r9 = 0x0defaced   r10 = 0x00000000    fp = 0x0defaced
     sp = 0xaecf9c18    pc = 0xa4a8419b
    Found by: call frame info
18  libwebviewchromium.so!void base::internal::Invoker<base::internal::BindState<void (IPC::SyncChannel::*)(base::WaitableEvent*), base::internal::UnretainedWrapper<IPC::SyncChannel> >, void (base::WaitableEvent*)>::RunImpl<void (IPC::SyncChannel::*)(base::WaitableEvent*), std::__ndk1::tuple<base::internal::UnretainedWrapper<IPC::SyncChannel> >, 0u>(void (IPC::SyncChannel::*&&)(base::WaitableEvent*), std::__ndk1::tuple<base::internal::UnretainedWrapper<IPC::SyncChannel> >&&, std::__ndk1::integer_sequence<unsigned int, 0u>, base::WaitableEvent*&&) + 0xb
     r4 = 0x00000000    r5 = 0xaecf9d2c    r6 = 0x0defaced    r7 = 0x0000002d
     r8 = 0x00000001    r9 = 0xaecf9d64   r10 = 0x00000000    fp = 0x00000000
     sp = 0xaecf9d08    pc = 0xa3022103
    Found by: call frame info
19  libwebviewchromium.so!base::internal::Invoker<base::internal::BindState<void (IPC::SyncChannel::*)(base::WaitableEvent*), base::internal::UnretainedWrapper<IPC::SyncChannel> >, void (base::WaitableEvent*)>::RunOnce(base::internal::BindStateBase*, base::WaitableEvent*) + 0x13
     r4 = 0x00000000    r5 = 0xaecf9d2c    r6 = 0x0defaced    r7 = 0x0000002d
     r8 = 0x00000001    r9 = 0xaecf9d64   r10 = 0x00000000    fp = 0x00000000
     sp = 0xaecf9d18    pc = 0xa30220f5
    Found by: call frame info
20  libwebviewchromium.so!base::OnceCallback<void (GURL const&)>::Run(GURL const&) && + 0x1b
     r4 = 0x00000000    r5 = 0xaecf9d2c    r6 = 0x0defaced    r7 = 0x0000002d
     r8 = 0x00000001    r9 = 0xaecf9d64   r10 = 0x00000000    fp = 0x00000000
     sp = 0xaecf9d28    pc = 0xa2e53a75
    Found by: call frame info
21  libwebviewchromium.so!net::HttpCache::Transaction::DoLoop(int) [http_cache_transaction.cc : 1032 + 0x5]
     r4 = 0xaecf9d64    r5 = 0x00000000    r6 = 0x0defaced    r7 = 0x0000002d
     r8 = 0x00000001    r9 = 0xaecf9d64   r10 = 0x00000000    fp = 0x00000000
     sp = 0xaecf9d40    pc = 0xa49a0f2d
    Found by: call frame info
22  libwebviewchromium.so!base::internal::Invoker<base::internal::BindState<void (android_webview::AndroidStreamReaderURLRequestJob::*)(int), base::WeakPtr<android_webview::AndroidStreamReaderURLRequestJob> >, void (int)>::RunOnce(base::internal::BindStateBase*, int) [bind_internal.h : 689 + 0x5]
     r4 = 0x00000000    r5 = 0xaecf9e34    r6 = 0x0defaced    r7 = 0x0defaced
     r8 = 0x00001000    r9 = 0xaecfa0e4   r10 = 0xaecfa0e8    fp = 0x0defaced
     sp = 0xaecf9e20    pc = 0xa2e745b7
    Found by: call frame info
23  libwebviewchromium.so!base::OnceCallback<void (GURL const&)>::Run(GURL const&) && + 0x1b
     r4 = 0x00000000    r5 = 0xaecf9e34    r6 = 0x0defaced    r7 = 0x0defaced
     r8 = 0x00001000    r9 = 0xaecfa0e4   r10 = 0xaecfa0e8    fp = 0x0defaced
     sp = 0xaecf9e30    pc = 0xa2e53a75
    Found by: call frame info
24  libwebviewchromium.so!net::HttpNetworkTransaction::DoCallback(int) [http_network_transaction.cc : 683 + 0x5]
     r4 = 0xaecf9e4c    r5 = 0xaecf9e4c    r6 = 0x0defaced    r7 = 0x0defaced
     r8 = 0x00001000    r9 = 0xaecfa0e4   r10 = 0xaecfa0e8    fp = 0x0defaced
     sp = 0xaecf9e48    pc = 0xa49ad2fb
    Found by: call frame info
25  libwebviewchromium.so!void base::internal::Invoker<base::internal::BindState<void (IPC::SyncChannel::*)(base::WaitableEvent*), base::internal::UnretainedWrapper<IPC::SyncChannel> >, void (base::WaitableEvent*)>::RunImpl<void (IPC::SyncChannel::*)(base::WaitableEvent*), std::__ndk1::tuple<base::internal::UnretainedWrapper<IPC::SyncChannel> >, 0u>(void (IPC::SyncChannel::*&&)(base::WaitableEvent*), std::__ndk1::tuple<base::internal::UnretainedWrapper<IPC::SyncChannel> >&&, std::__ndk1::integer_sequence<unsigned int, 0u>, base::WaitableEvent*&&) + 0xb
     r4 = 0x00000000    r5 = 0xaecf9f1c    r6 = 0x0defaced    r7 = 0x0defaced
     r8 = 0x00001000    r9 = 0xaecfa0e4   r10 = 0xaecfa0e8    fp = 0x0defaced
     sp = 0xaecf9ef8    pc = 0xa3022103
    Found by: call frame info
26  libwebviewchromium.so!base::internal::Invoker<base::internal::BindState<void (IPC::SyncChannel::*)(base::WaitableEvent*), base::internal::UnretainedWrapper<IPC::SyncChannel> >, void (base::WaitableEvent*)>::RunOnce(base::internal::BindStateBase*, base::WaitableEvent*) + 0x13
     r4 = 0x00000000    r5 = 0xaecf9f1c    r6 = 0x0defaced    r7 = 0x0defaced
     r8 = 0x00001000    r9 = 0xaecfa0e4   r10 = 0xaecfa0e8    fp = 0x0defaced
     sp = 0xaecf9f08    pc = 0xa30220f5
    Found by: call frame info
27  libwebviewchromium.so!base::OnceCallback<void (GURL const&)>::Run(GURL const&) && + 0x1b
     r4 = 0x00000000    r5 = 0xaecf9f1c    r6 = 0x0defaced    r7 = 0x0defaced
     r8 = 0x00001000    r9 = 0xaecfa0e4   r10 = 0xaecfa0e8    fp = 0x0defaced
     sp = 0xaecf9f18    pc = 0xa2e53a75
    Found by: call frame info
28  libwebviewchromium.so!net::HttpStreamParser::OnIOComplete(int) [http_stream_parser.cc : 391 + 0x5]
     r4 = 0xaecf9f34    r5 = 0xaecf9f54    r6 = 0x0defaced    r7 = 0x0defaced
     r8 = 0x00001000    r9 = 0xaecfa0e4   r10 = 0xaecfa0e8    fp = 0x0defaced
     sp = 0xaecf9f30    pc = 0xa49c134d
    Found by: call frame info
29  libwebviewchromium.so!base::internal::Invoker<base::internal::BindState<void (android_webview::AndroidStreamReaderURLRequestJob::*)(int), base::WeakPtr<android_webview::AndroidStreamReaderURLRequestJob> >, void (int)>::RunOnce(base::internal::BindStateBase*, int) [bind_internal.h : 689 + 0x5]
     r4 = 0x000000b7    r5 = 0xaecf9f54    r6 = 0x0defaced    r7 = 0x0defaced
     r8 = 0x00001000    r9 = 0xaecfa0e4   r10 = 0xaecfa0e8    fp = 0x0defaced
     sp = 0xaecf9f40    pc = 0xa2e745b7
    Found by: call frame info
30  libwebviewchromium.so!base::OnceCallback<void (GURL const&)>::Run(GURL const&) && + 0x1b
     r4 = 0x000000b7    r5 = 0xaecf9f54    r6 = 0x0defaced    r7 = 0x0defaced
     r8 = 0x00001000    r9 = 0xaecfa0e4   r10 = 0xaecfa0e8    fp = 0x0defaced
     sp = 0xaecf9f50    pc = 0xa2e53a75
    Found by: call frame info
31  libwebviewchromium.so!net::TCPClientSocket::DidCompleteRead(base::OnceCallback<void (int)>, int) [tcp_client_socket.cc : 371 + 0x5]
     r4 = 0xaecf9f6c    r5 = 0xaecf9fbc    r6 = 0x0defaced    r7 = 0x0defaced
     r8 = 0x00001000    r9 = 0xaecfa0e4   r10 = 0xaecfa0e8    fp = 0x0defaced
     sp = 0xaecf9f68    pc = 0xa49ff991
    Found by: call frame info
32  libwebviewchromium.so!void base::internal::FunctorTraits<void (android_webview::CookieManager::*)(base::RepeatingCallback<void (bool)>, unsigned int), void>::Invoke<void (android_webview::CookieManager::*)(base::RepeatingCallback<void (bool)>, unsigned int), android_webview::CookieManager*, base::RepeatingCallback<void (bool)>, unsigned int>(void (android_webview::CookieManager::*)(base::RepeatingCallback<void (bool)>, unsigned int), android_webview::CookieManager*&&, base::RepeatingCallback<void (bool)>&&, unsigned int&&) [bind_internal.h : 516 + 0x1]
     r4 = 0xaecf9f7c    r5 = 0xaecf9fbc    r6 = 0x0defaced    r7 = 0x0defaced
     r8 = 0x00001000    r9 = 0xaecfa0e4   r10 = 0xaecfa0e8    fp = 0x0defaced
     sp = 0xaecf9f78    pc = 0xa2e7009d
    Found by: call frame info
33  libwebviewchromium.so!void base::internal::InvokeHelper<false, void>::MakeItSo<void (android_webview::CookieManager::*)(base::RepeatingCallback<void (bool)>, unsigned int), android_webview::CookieManager*, base::RepeatingCallback<void (bool)>, unsigned int>(void (android_webview::CookieManager::*&&)(base::RepeatingCallback<void (bool)>, unsigned int), android_webview::CookieManager*&&, base::RepeatingCallback<void (bool)>&&, unsigned int&&) [bind_internal.h : 616 + 0xb]
     r4 = 0x000000b7    r5 = 0xaecf9fbc    r6 = 0x0defaced    r7 = 0x0defaced
     r8 = 0x00001000    r9 = 0xaecfa0e4   r10 = 0xaecfa0e8    fp = 0x0defaced
     sp = 0xaecf9f88    pc = 0xa2e70075
    Found by: call frame info
34  libwebviewchromium.so!void base::internal::Invoker<base::internal::BindState<void (android_webview::CookieManager::*)(base::RepeatingCallback<void (bool)>, unsigned int), base::internal::UnretainedWrapper<android_webview::CookieManager>, base::RepeatingCallback<void (bool)> >, void (unsigned int)>::RunImpl<void (android_webview::CookieManager::*)(base::RepeatingCallback<void (bool)>, unsigned int), std::__ndk1::tuple<base::internal::UnretainedWrapper<android_webview::CookieManager>, base::RepeatingCallback<void (bool)> >, 0u, 1u>(void (android_webview::CookieManager::*&&)(base::RepeatingCallback<void (bool)>, unsigned int), std::__ndk1::tuple<base::internal::UnretainedWrapper<android_webview::CookieManager>, base::RepeatingCallback<void (bool)> >&&, std::__ndk1::integer_sequence<unsigned int, 0u, 1u>, unsigned int&&) [bind_internal.h : 689 + 0x3]
     r4 = 0x000000b7    r5 = 0xaecf9fbc    r6 = 0x0defaced    r7 = 0x0defaced
     r8 = 0x00001000    r9 = 0xaecfa0e4   r10 = 0xaecfa0e8    fp = 0x0defaced
     sp = 0xaecf9f98    pc = 0xa2e7005d
    Found by: call frame info
35  libwebviewchromium.so!base::internal::Invoker<base::internal::BindState<void (android_webview::CookieManager::*)(base::RepeatingCallback<void (bool)>, unsigned int), base::internal::UnretainedWrapper<android_webview::CookieManager>, base::RepeatingCallback<void (bool)> >, void (unsigned int)>::RunOnce(base::internal::BindStateBase*, unsigned int) [bind_internal.h : 658 + 0x5]
     r4 = 0x000000b7    r5 = 0xaecf9fbc    r6 = 0x0defaced    r7 = 0x0defaced
     r8 = 0x00001000    r9 = 0xaecfa0e4   r10 = 0xaecfa0e8    fp = 0x0defaced
     sp = 0xaecf9fa8    pc = 0xa2e7004b
    Found by: call frame info
36  libwebviewchromium.so!base::OnceCallback<void (GURL const&)>::Run(GURL const&) && + 0x1b
     r4 = 0x000000b7    r5 = 0xaecf9fbc    r6 = 0x0defaced    r7 = 0x0defaced
     r8 = 0x00001000    r9 = 0xaecfa0e4   r10 = 0xaecfa0e8    fp = 0x0defaced
     sp = 0xaecf9fb8    pc = 0xa2e53a75
    Found by: call frame info
37  libwebviewchromium.so!net::TCPSocketPosix::ReadCompleted(scoped_refptr<net::IOBuffer> const&, base::OnceCallback<void (int)>, int) [tcp_socket_posix.cc : 701 + 0x5]
     r4 = 0xaecfa084    r5 = 0x0defaced    r6 = 0x0defaced    r7 = 0x0defaced
     r8 = 0x00001000    r9 = 0xaecfa0e4   r10 = 0xaecfa0e8    fp = 0x0defaced
     sp = 0xaecf9fd0    pc = 0xa4a95031
    Found by: call frame info
38  libwebviewchromium.so!void base::internal::FunctorTraits<void (net::TCPSocketPosix::*)(scoped_refptr<net::IOBuffer> const&, base::OnceCallback<void (int)>, int), void>::Invoke<void (net::TCPSocketPosix::*)(scoped_refptr<net::IOBuffer> const&, base::OnceCallback<void (int)>, int), net::TCPSocketPosix*, scoped_refptr<net::IOBuffer>, base::OnceCallback<void (int)>, int>(void (net::TCPSocketPosix::*)(scoped_refptr<net::IOBuffer> const&, base::OnceCallback<void (int)>, int), net::TCPSocketPosix*&&, scoped_refptr<net::IOBuffer>&&, base::OnceCallback<void (int)>&&, int&&) [bind_internal.h : 516 + 0x3]
     r4 = 0xaecfa084    r5 = 0xaecfa0c4    r6 = 0x000000b7    r7 = 0x0defaced
     r8 = 0x00001000    r9 = 0xaecfa0e4   r10 = 0xaecfa0e8    fp = 0x0defaced
     sp = 0xaecfa080    pc = 0xa4a95f07
    Found by: call frame info
39  libwebviewchromium.so!void base::internal::InvokeHelper<false, void>::MakeItSo<void (net::TCPSocketPosix::*)(scoped_refptr<net::IOBuffer> const&, base::OnceCallback<void (int)>, int), net::TCPSocketPosix*, scoped_refptr<net::IOBuffer>, base::OnceCallback<void (int)>, int>(void (net::TCPSocketPosix::*&&)(scoped_refptr<net::IOBuffer> const&, base::OnceCallback<void (int)>, int), net::TCPSocketPosix*&&, scoped_refptr<net::IOBuffer>&&, base::OnceCallback<void (int)>&&, int&&) [bind_internal.h : 616 + 0xd]
     r4 = 0x000000b7    r5 = 0xaecfa0c4    r6 = 0x000000b7    r7 = 0x0defaced
     r8 = 0x00001000    r9 = 0xaecfa0e4   r10 = 0xaecfa0e8    fp = 0x0defaced
     sp = 0xaecfa090    pc = 0xa4a95ed9
    Found by: call frame info
40  libwebviewchromium.so!void base::internal::Invoker<base::internal::BindState<void (net::TCPSocketPosix::*)(scoped_refptr<net::IOBuffer> const&, base::OnceCallback<void (int)>, int), base::internal::UnretainedWrapper<net::TCPSocketPosix>, scoped_refptr<net::IOBuffer>, base::OnceCallback<void (int)> >, void (int)>::RunImpl<void (net::TCPSocketPosix::*)(scoped_refptr<net::IOBuffer> const&, base::OnceCallback<void (int)>, int), std::__ndk1::tuple<base::internal::UnretainedWrapper<net::TCPSocketPosix>, scoped_refptr<net::IOBuffer>, base::OnceCallback<void (int)> >, 0u, 1u, 2u>(void (net::TCPSocketPosix::*&&)(scoped_refptr<net::IOBuffer> const&, base::OnceCallback<void (int)>, int), std::__ndk1::tuple<base::internal::UnretainedWrapper<net::TCPSocketPosix>, scoped_refptr<net::IOBuffer>, base::OnceCallback<void (int)> >&&, std::__ndk1::integer_sequence<unsigned int, 0u, 1u, 2u>, int&&) [bind_internal.h : 689 + 0x3]
     r4 = 0x000000b7    r5 = 0xaecfa0c4    r6 = 0x000000b7    r7 = 0x0defaced
     r8 = 0x00001000    r9 = 0xaecfa0e4   r10 = 0xaecfa0e8    fp = 0x0defaced
     sp = 0xaecfa0a0    pc = 0xa4a95ebd
    Found by: call frame info
41  libwebviewchromium.so!base::internal::Invoker<base::internal::BindState<void (net::TCPSocketPosix::*)(scoped_refptr<net::IOBuffer> const&, base::OnceCallback<void (int)>, int), base::internal::UnretainedWrapper<net::TCPSocketPosix>, scoped_refptr<net::IOBuffer>, base::OnceCallback<void (int)> >, void (int)>::RunOnce(base::internal::BindStateBase*, int) [bind_internal.h : 658 + 0x5]
     r4 = 0x000000b7    r5 = 0xaecfa0c4    r6 = 0x000000b7    r7 = 0x0defaced
     r8 = 0x00001000    r9 = 0xaecfa0e4   r10 = 0xaecfa0e8    fp = 0x0defaced
     sp = 0xaecfa0b0    pc = 0xa4a95e83
    Found by: call frame info
42  libwebviewchromium.so!base::OnceCallback<void (GURL const&)>::Run(GURL const&) && + 0x1b
     r4 = 0x000000b7    r5 = 0xaecfa0c4    r6 = 0x000000b7    r7 = 0x0defaced
     r8 = 0x00001000    r9 = 0xaecfa0e4   r10 = 0xaecfa0e8    fp = 0x0defaced
     sp = 0xaecfa0c0    pc = 0xa2e53a75
    Found by: call frame info
43  libwebviewchromium.so!net::SocketPosix::RetryRead(int) [socket_posix.cc : 552 + 0x3]
     r4 = 0x00000000    r5 = 0x0defaced    r6 = 0x000000b7    r7 = 0x0defaced
     r8 = 0x00001000    r9 = 0xaecfa0e4   r10 = 0xaecfa0e8    fp = 0x0defaced
     sp = 0xaecfa0d8    pc = 0xa4a93d05
    Found by: call frame info
44  libwebviewchromium.so!void base::internal::Invoker<base::internal::BindState<void (IPC::SyncChannel::*)(base::WaitableEvent*), base::internal::UnretainedWrapper<IPC::SyncChannel> >, void (base::WaitableEvent*)>::RunImpl<void (IPC::SyncChannel::*)(base::WaitableEvent*), std::__ndk1::tuple<base::internal::UnretainedWrapper<IPC::SyncChannel> >, 0u>(void (IPC::SyncChannel::*&&)(base::WaitableEvent*), std::__ndk1::tuple<base::internal::UnretainedWrapper<IPC::SyncChannel> >&&, std::__ndk1::integer_sequence<unsigned int, 0u>, base::WaitableEvent*&&) + 0xb
     r4 = 0x00000000    r5 = 0xaecfa1cc    r6 = 0x0defaced    r7 = 0x00000000
     r8 = 0x0defaced    r9 = 0x0defaced   r10 = 0x00000053    fp = 0x00000000
     sp = 0xaecfa1a8    pc = 0xa3022103
    Found by: call frame info
45  libwebviewchromium.so!base::internal::Invoker<base::internal::BindState<void (IPC::SyncChannel::*)(base::WaitableEvent*), base::internal::UnretainedWrapper<IPC::SyncChannel> >, void (base::WaitableEvent*)>::RunOnce(base::internal::BindStateBase*, base::WaitableEvent*) + 0x13
     r4 = 0x00000000    r5 = 0xaecfa1cc    r6 = 0x0defaced    r7 = 0x00000000
     r8 = 0x0defaced    r9 = 0x0defaced   r10 = 0x00000053    fp = 0x00000000
     sp = 0xaecfa1b8    pc = 0xa30220f5
    Found by: call frame info
46  libwebviewchromium.so!base::OnceCallback<void (GURL const&)>::Run(GURL const&) && + 0x1b
     r4 = 0x00000000    r5 = 0xaecfa1cc    r6 = 0x0defaced    r7 = 0x00000000
     r8 = 0x0defaced    r9 = 0x0defaced   r10 = 0x00000053    fp = 0x00000000
     sp = 0xaecfa1c8    pc = 0xa2e53a75
    Found by: call frame info
47  libwebviewchromium.so!net::SocketPosix::ReadCompleted() [socket_posix.cc : 560 + 0x7]
     r4 = 0x0defaced    r5 = 0x0defaced    r6 = 0x0defaced    r7 = 0x00000000
     r8 = 0x0defaced    r9 = 0x0defaced   r10 = 0x00000053    fp = 0x00000000
     sp = 0xaecfa1e0    pc = 0xa4a94439
    Found by: call frame info
48  libwebviewchromium.so!net::SocketPosix::OnFileCanReadWithoutBlocking(int) [socket_posix.cc : 464 + 0x5]
     r4 = 0x0defaced    r5 = 0x0defaced    r6 = 0x0defaced    r7 = 0x00000000
     r8 = 0x0defaced    r9 = 0x0defaced   r10 = 0x00000053    fp = 0x00000000
     sp = 0xaecfa288    pc = 0xa4a942c9
    Found by: call frame info
49  libwebviewchromium.so!base::MessagePumpLibevent::OnLibeventNotification(int, short, void*) [message_pump_libevent.cc : 90 + 0x7]
     r4 = 0x0defaced    r5 = 0x0defaced    r6 = 0x00000002    r7 = 0x0defaced
     r8 = 0x0defaced    r9 = 0x0defaced   r10 = 0x00000053    fp = 0x00000000
     sp = 0xaecfa390    pc = 0xa44feb25
    Found by: call frame info
50  libwebviewchromium.so!event_base_loop [event.c : 381 + 0x1]
     r4 = 0x0defaced    r5 = 0x0defaced    r6 = 0x0defaced    r7 = 0xa44fea7d
     r8 = 0x0defaced    r9 = 0x0defaced   r10 = 0x0defaced    fp = 0x0defaced
     sp = 0xaecfa4b8    pc = 0xa4503541
    Found by: call frame info
51  libwebviewchromium.so!base::MessagePumpLibevent::Run(base::MessagePump::Delegate*) [message_pump_libevent.cc : 247 + 0x5]
     r4 = 0x0defaced    r5 = 0x0defaced    r6 = 0xaecfa530    r7 = 0x0defaced
     r8 = 0x00000000    r9 = 0x00000000   r10 = 0xa44fed19    fp = 0x0defaced
     sp = 0xaecfa510    pc = 0xa44fece1
    Found by: call frame info
52  libwebviewchromium.so!base::MessageLoop::Run(bool) [message_loop.cc : 383 + 0x3]
     r4 = 0x0defaced    r5 = 0x00000001    r6 = 0xaecfa610    r7 = 0x0defaced
     r8 = 0x0defaced    r9 = 0x00000000   r10 = 0x0defaced    fp = 0xa44f5485
     sp = 0xaecfa560    pc = 0xa449d92f
    Found by: call frame info
53  libwebviewchromium.so!base::RunLoop::Run() [run_loop.cc : 102 + 0x5]
     r4 = 0xaecfa824    r5 = 0xaecfa834    r6 = 0xaecfa610    r7 = 0x0defaced
     r8 = 0x0defaced    r9 = 0x00000000   r10 = 0x0defaced    fp = 0xa44f5485
     sp = 0xaecfa608    pc = 0xa44b0cd1
    Found by: call frame info
54  libwebviewchromium.so!base::Thread::Run(base::RunLoop*) [thread.cc : 262 + 0x5]
     r4 = 0xaecfa824    r5 = 0x0defaced    r6 = 0xaecfa824    r7 = 0x0defaced
     r8 = 0x0defaced    r9 = 0x00000000   r10 = 0x0defaced    fp = 0xa44f5485
     sp = 0xaecfa6b8    pc = 0xa44d6c9f
    Found by: call frame info
55  libwebviewchromium.so!content::BrowserProcessSubThread::IOThreadRun(base::RunLoop*) [browser_process_sub_thread.cc : 178 + 0x3]
     r4 = 0xaecfa824    r5 = 0x0defaced    r6 = 0xaecfa824    r7 = 0x0defaced
     r8 = 0x0defaced    r9 = 0x00000000   r10 = 0x0defaced    fp = 0xa44f5485
     sp = 0xaecfa768    pc = 0xa351b431
    Found by: call frame info
56  libwebviewchromium.so!content::BrowserProcessSubThread::Run(base::RunLoop*) [browser_process_sub_thread.cc : 128 + 0x7]
     r4 = 0xaecfa824    r5 = 0x0defaced    r6 = 0xaecfa824    r7 = 0x0defaced
     r8 = 0x0defaced    r9 = 0x00000000   r10 = 0x0defaced    fp = 0xa44f5485
     sp = 0xaecfa778    pc = 0xa351b401
    Found by: call frame info
57  libwebviewchromium.so!base::Thread::ThreadMain() [thread.cc : 357 + 0x5]
     r4 = 0x0defaced    r5 = 0x0defaced    r6 = 0xaecfa824    r7 = 0x0defaced
     r8 = 0x0defaced    r9 = 0x00000000   r10 = 0x0defaced    fp = 0xa44f5485
     sp = 0xaecfa820    pc = 0xa44d6f17
    Found by: call frame info
58  libwebviewchromium.so!base::(anonymous namespace)::ThreadFunc(void*) [platform_thread_posix.cc : 76 + 0x7]
     r4 = 0x0defaced    r5 = 0x0defaced    r6 = 0xaecfa930    r7 = 0x0defaced
     r8 = 0x0defaced    r9 = 0x0defaced   r10 = 0x0defaced    fp = 0xa44f5485
     sp = 0xaecfa900    pc = 0xa44f54c5
    Found by: call frame info
59  0xb6d083ef
     r4 = 0xaecfa930    r5 = 0xaecfa970    r6 = 0xaecfa930    r7 = 0x00000078
     r8 = 0x0defaced    r9 = 0x0defaced   r10 = 0x0defaced    fp = 0xa44f5485
     sp = 0xaecfa918    pc = 0xb6d083f1
    Found by: call frame info
60  libwebviewchromium.so!base::PlatformThread::GetCurrentThreadPriority() [platform_thread_posix.cc : 0 + 0x13]
     sp = 0xaecfa964    pc = 0xa44f5485
    Found by: stack scanning

Looks to be autofill related from the stack.


Regression range:

https://luci-milo.appspot.com/p/chromium/builders/luci.chromium.ci/Android%20WebView%20M%20%28dbg%29/1930



 
Labels: hasbisect-per-revision
Owner: tzik@chromium.org
Status: Assigned (was: Untriaged)
Bisected to: https://chromium-review.googlesource.com/1144813 not sure if webview is using ownerless RefCounted receiver on base::Bind or the cl has a bug.  Assigning to tzik@ to take a look.
Cc: michaelbai@chromium.org
Cc: torne@chromium.org
torne@ can you take a quick look at this, or help assign to someone that can investigate if these tests are using a pattern that should be banned?

WebView CTS tests started consistently failing on N and O after the CL identified in #1 landed.  As commented in #1 it's unclear whether the CL has an issue or the test is being flagged for doing the unreliable bind the the CL has banned.  Maybe you can verify if it's the latter?

https://ci.chromium.org/p/chromium/builders/luci.chromium.ci/Android%20WebView%20N%20%28dbg%29
Owner: michaelbai@chromium.org
This shouldn't be a test bug, the test is a high level Java API integration test that shouldn't be able to provoke bad behaviour at this level :|

So probably WebView itself is doing something wrong and we were just previously getting away with it. Michael, is this related to autofill code or is it something else?
Cc: tzik@chromium.org
Cc: -tzik@chromium.org
Owner: tzik@chromium.org
I don't think this related to autofill, and don't have time to look at it now, it might related to MakeRefCounted(), tzik@ touched it recently and might look at it first. 
So AwContentBrowserClient::CreateLoginDelegate() does:

base::MakeRefCounted<AwLoginDelegate>(...);

and then the AwLoginDelegate constructor posts a task with a callback that's a member function of itself. That's the exact pattern of bug that tzik's change is intended to flush out, as far as I can tell :)

tzik, are you able to fix this, or do we need to do it? What's the right way to resolve this?

(my intuition tells me it's a bad idea to post a task with a reference to "this" from a constructor anyway regardless of refcounting because of the risk of seeing a partially initialised object, but i'm not sure if that actually applies here?)
Cc: donnd@chromium.org
Labels: sheriff-android
tzik@, would it make sense to create a version of base::Bind that works the old way for clients like this one?  You could name it something like base::BindUnsafe so it's clear that no new code should use it.  Then clients that use Base::Bind in an unsafe way can update their code so they will run and the code will be clearly marked as doing something unsafe that needs longer term work.

This should help us update these failing tests, which is urgently needed.

Issue 872376 has been merged into this issue.
Friendly sheriff's ping. Any update here? Tests have been failing for about a week now.
Clank sheriff: Test are still failing.
What's the current status about this issue? Taiju, do you have any update?
Tests are still failing.

If I understand correctly the discussion, it should be very simple to fix the problem. I made a trivial fix here:
https://chromium-review.googlesource.com/c/chromium/src/+/1179758

This bug being caught not on Chrome's test, but on the Android compatibility test suite means we are never instantiating this class. We should keep this bug open until a test, using this class at least once, is added.
Project Member

Comment 14 by bugdroid1@chromium.org, Aug 17

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/dbce3023c913f7937d295b3193b4f8451a30d1b1

commit dbce3023c913f7937d295b3193b4f8451a30d1b1
Author: arthursonzogni <arthursonzogni@chromium.org>
Date: Fri Aug 17 16:08:49 2018

[WebView] Remove Bind on an ownerless refcounted instance.

CL https://chromium-review.googlesource.com/1144813 prevents ownerless
RefCounted receiver on base::Bind.

The class AwLoginDelegate does a PostTask in its constructor using
'this'. This violate a CHECK(...).

The CL makes the constructor private. It introduces the static method
Create(). It wraps the raw pointer in the scoped_refptr class first and
THEN call base::Bind on it.

Bug: 870479
Change-Id: Iebbd51e3136fb1a52962b8f5a0951f6b89145742
Reviewed-on: https://chromium-review.googlesource.com/1179758
Reviewed-by: Richard Coles <torne@chromium.org>
Commit-Queue: Arthur Sonzogni <arthursonzogni@chromium.org>
Cr-Commit-Position: refs/heads/master@{#584092}
[modify] https://crrev.com/dbce3023c913f7937d295b3193b4f8451a30d1b1/android_webview/browser/aw_content_browser_client.cc
[modify] https://crrev.com/dbce3023c913f7937d295b3193b4f8451a30d1b1/android_webview/browser/aw_login_delegate.cc
[modify] https://crrev.com/dbce3023c913f7937d295b3193b4f8451a30d1b1/android_webview/browser/aw_login_delegate.h

Cc: arthurso...@chromium.org tzik@chromium.org
Labels: -Pri-1 -ReleaseBlock-Beta -Needs-Bisect -hasbisect-per-revision -sheriff-android -M-70 Pri-3
Owner: benm@chromium.org
Test are passing after my patch in previous comment:
https://ci.chromium.org/p/chromium/builders/luci.chromium.ci/Android%20WebView%20N%20%28dbg%29/19271

Removing "sheriff-android" label.

+benm@. As a followup (comment 13), it would be nice to have a test somewhere using the AwLoginDelegate class. This class is never instantiated. Could you please take a look or find someone? Feel free to close this issue immediately if you don't want or judge it not to be necessary.
Labels: -Type-Bug Type-Task
Owner: ----
Status: Available (was: Assigned)
Ben doesn't work on WebView any more. Putting in our task backlog for writing a chromium-level instrumentation test.

Sign in to add a comment