New issue
Advanced search Search tips

Issue 905800 link

Starred by 1 user

Issue metadata

Status: Assigned
Owner:
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Bug



Sign in to add a comment

DCHECK "StorageArea::GetAllCallback was destroyed without first either being run or its corresponding binding being closed."

Project Member Reported by mpdenton@google.com, Nov 15

Issue description

I hit the DCHECK:
[FATAL:storage_area.mojom.cc(1828)] Check failed: !connected. StorageArea::GetAllCallback was destroyed without first either being run or its corresponding binding being closed. It is an error to drop response callbacks which still correspond to an open interface pipe.

Here's a backtrace:
./../../base/debug/stack_trace_posix.cc:820
./../../base/debug/stack_trace.cc:203
./../../base/logging.cc:592
./gen/third_party/blink/public/mojom/dom_storage/storage_area.mojom.cc:1828
./../../base/bind_internal.h:416
./../../base/bind_internal.h:616
./../../base/bind_internal.h:689
./../../base/bind_internal.h:658
./../../base/callback.h:99
./../../mojo/public/cpp/bindings/lib/interface_endpoint_client.cc:32
./../../mojo/public/cpp/bindings/lib/interface_endpoint_client.cc:96
./gen/third_party/blink/public/mojom/dom_storage/storage_area.mojom.cc:1808
./../../buildtools/third_party/libc++/trunk/include/memory:2325
./../../buildtools/third_party/libc++/trunk/include/tuple:365
./../../buildtools/third_party/libc++/trunk/include/tuple:470
./../../base/bind_internal.h:871
./../../base/bind_internal.h:874
./../../base/callback_internal.cc:29
./../../base/memory/ref_counted.h:403
./../../base/memory/scoped_refptr.h:284
./../../base/memory/scoped_refptr.h:208
./../../base/callback_internal.cc:84
./../../base/callback_forward.h:11
./../../buildtools/third_party/libc++/trunk/include/tuple:171
./../../buildtools/third_party/libc++/trunk/include/tuple:365
./../../buildtools/third_party/libc++/trunk/include/tuple:470
./../../base/bind_internal.h:871
./../../base/bind_internal.h:874
./../../base/callback_internal.cc:29
./../../base/memory/ref_counted.h:403
./../../base/memory/scoped_refptr.h:284
./../../base/memory/scoped_refptr.h:208
./../../base/callback_internal.cc:84
./../../base/callback_forward.h:11
./../../buildtools/third_party/libc++/trunk/include/memory:1867
./../../content/browser/dom_storage/local_storage_context_mojo.cc:495
./../../base/bind_internal.h:516
./../../base/bind_internal.h:616
./../../base/bind_internal.h:689
./../../base/bind_internal.h:658
./../../base/callback.h:99
./../../base/debug/task_annotator.cc:99
./../../base/message_loop/message_loop_impl.cc:404
./../../base/message_loop/message_loop_impl.cc:415
./../../base/message_loop/message_loop_impl.cc:499
./../../base/message_loop/message_pump_libevent.cc:210
./../../base/message_loop/message_loop_impl.cc:356
./../../base/run_loop.cc:102
./../../base/threading/thread.cc:257
./../../content/browser/browser_process_sub_thread.cc:174
./../../content/browser/browser_process_sub_thread.cc:126
./../../base/threading/thread.cc:353
./../../base/threading/platform_thread_posix.cc:81

This is during shutdown. It appears https://cs.chromium.org/chromium/src/content/browser/dom_storage/storage_area_impl.cc?rcl=9e5c91f5695c84ffdc06ddbff56f1a7b8d2bb42a&l=139 will clear all the callbacks before the pipe is closed.
 
Components: -Blink>Storage Blink>Storage>DOMStorage
Status: Assigned (was: Untriaged)
Sounds like we need to close the pipe before canceling the callbacks.
Components: -Internals>Services>Storage Internals>Storage
The Storage team monitors Internals>Storage. The Internals>Services>Storage label will be deprecated & removed.

Sign in to add a comment