NetLog::AddEntry is causing a DCHECK in Lock::CheckUnheldAndMark |
|||||
Issue descriptionA recent Android Cronet Builder (dbg) failed. https://build.chromium.org/p/chromium.android/builders/Android%20Cronet%20Builder%20%28dbg%29/builds/1636 Looking at stack_tool_with_logcat_dump, you can ctrl+f for 0x00000005. The SIGSEGV is caused from inside a call to new. However, the reason new is being called is because a DCHECK inside Lock::CheckUnheldAndMark is failing: https://code.google.com/p/chromium/codesearch#chromium/src/base/synchronization/lock.cc&q=lock.cc:32&sq=package:chromium&type=cs&l=31 This is coming from a call to NetLog::AddEntry: https://code.google.com/p/chromium/codesearch#chromium/src/net/log/net_log.cc&q=net_log.cc:385&sq=package:chromium&l=385
,
Apr 6 2016
,
Apr 6 2016
Thanks! This is probably related to DiskStorageTest#testCacheVersionCurrent crash too (https://build.chromium.org/p/chromium.android/builders/Android%20Cronet%20Builder%20%28dbg%29/builds/1643) I will take a look.
,
Apr 6 2016
I think this is the same shutdown bug as Issue 486120 . The tests call CronetEngine.shutdown() and then SimpleCache calls back to the destroyed NetLog. 007f8c1f base::Lock::CheckUnheldAndMark()+50 /b/build/slave/Android_Cronet_Builder__dbg_/build/src/base/synchronization/lock.cc:32 v------> base::Lock::Acquire() /b/build/slave/Android_Cronet_Builder__dbg_/build/src/base/synchronization/lock.h:46 v------> base::AutoLock::AutoLock(base::Lock&) /b/build/slave/Android_Cronet_Builder__dbg_/build/src/base/synchronization/lock.h:102 000b9ce1 net::NetLog::AddEntry(net::NetLog::EventType, net::NetLog::Source const&, net::NetLog::EventPhase, base::Callback<std::__1::unique_ptr<base::Value, std::__1::default_delete<base::Value> > (net::NetLogCaptureMode), (base::internal::CopyMode)1> const*)+72 /b/build/slave/Android_Cronet_Builder__dbg_/build/src/net/log/net_log.cc:385 000ba7d1 net::BoundNetLog::AddEntry(net::NetLog::EventType, net::NetLog::EventPhase) const+26 /b/build/slave/Android_Cronet_Builder__dbg_/build/src/net/log/net_log.cc:399 00153e65 disk_cache::SimpleEntryImpl::CloseOperationComplete()+164 /b/build/slave/Android_Cronet_Builder__dbg_/build/src/net/disk_cache/simple/simple_entry_impl.cc:1385 v------> base::Callback<void (), (base::internal::CopyMode)1>::Run() const /b/build/slave/Android_Cronet_Builder__dbg_/build/src/base/callback.h:397 00802881 base::(anonymous namespace)::PostTaskAndReplyRelay::RunReplyAndSelfDestruct()+76 /b/build/slave/Android_Cronet_Builder__dbg_/build/src/base/threading/post_task_and_reply_impl.cc:58 v------> base::Callback<void (), (base::internal::CopyMode)1>::Run() const /b/build/slave/Android_Cronet_Builder__dbg_/build/src/base/callback.h:397 007c4e47 base::debug::TaskAnnotator::RunTask(char const*, base::PendingTask const&)+306 /b/build/slave/Android_Cronet_Builder__dbg_/build/src/base/debug/task_annotator.cc:51 007d7ef9 base::MessageLoop::RunTask(base::PendingTask const&)+344 /b/build/slave/Android_Cronet_Builder__dbg_/build/src/base/message_loop/message_loop.cc:479 007d8507 base::MessageLoop::DeferOrRunPendingTask(base::PendingTask const&)+26 /b/build/slave/Android_Cronet_Builder__dbg_/build/src/base/message_loop/message_loop.cc:488 007d85e3 base::MessageLoop::DoWork()+114 /b/build/slave/Android_Cronet_Builder__dbg_/build/src/base/message_loop/message_loop.cc:600 007da52d base::MessagePumpLibevent::Run(base::MessagePump::Delegate*)+68 /b/build/slave/Android_Cronet_Builder__dbg_/build/src/base/message_loop/message_pump_libevent.cc:230 007d965b base::MessageLoop::RunHandler()+78 /b/build/slave/Android_Cronet_Builder__dbg_/build/src/base/message_loop/message_loop.cc:443 007ed7a1 base::RunLoop::Run()+28 /b/build/slave/Android_Cronet_Builder__dbg_/build/src/base/run_loop.cc:35 007d7c5d base::MessageLoop::Run()+64 /b/build/slave/Android_Cronet_Builder__dbg_/build/src/base/message_loop/message_loop.cc:295 00805ea7 base::Thread::ThreadMain()+334 /b/build/slave/Android_Cronet_Builder__dbg_/build/src/base/threading/thread.cc:254 00802543 base::(anonymous namespace)::ThreadFunc(void*)+58 /b/build/slave/Android_Cronet_Builder__dbg_/build/src/base/threading/platform_thread_posix.cc:70 0000d170 __thread_entry+72 /system/lib/libc.so 0000d308 pthread_create+240
,
Apr 7 2016
,
Apr 7 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/732deb3a4536d90f0469a6a498bb6f73fe9bf6d2 commit 732deb3a4536d90f0469a6a498bb6f73fe9bf6d2 Author: xunjieli <xunjieli@chromium.org> Date: Thu Apr 07 22:35:09 2016 [Cronet] Leak NetLog instance used by CronetUrlRequestContextAdapter BUG= 486120 BUG= 600890 Review URL: https://codereview.chromium.org/1868433003 Cr-Commit-Position: refs/heads/master@{#385906} [modify] https://crrev.com/732deb3a4536d90f0469a6a498bb6f73fe9bf6d2/components/cronet/android/api/src/org/chromium/net/CronetEngine.java [modify] https://crrev.com/732deb3a4536d90f0469a6a498bb6f73fe9bf6d2/components/cronet/android/cronet_url_request_context_adapter.cc [modify] https://crrev.com/732deb3a4536d90f0469a6a498bb6f73fe9bf6d2/components/cronet/android/cronet_url_request_context_adapter.h [modify] https://crrev.com/732deb3a4536d90f0469a6a498bb6f73fe9bf6d2/components/cronet/android/test/javatests/src/org/chromium/net/CronetUrlRequestContextTest.java [modify] https://crrev.com/732deb3a4536d90f0469a6a498bb6f73fe9bf6d2/components/cronet/android/test/javatests/src/org/chromium/net/DiskStorageTest.java
,
Apr 8 2016
Bots seem to be happy. Thanks, everyone! |
|||||
►
Sign in to add a comment |
|||||
Comment 1 by mmenke@chromium.org
, Apr 6 2016