New issue
Advanced search Search tips

Issue 766696 link

Starred by 2 users

Issue metadata

Status: Duplicate
Merged: issue 839186
Owner: ----
Closed: May 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Mac
Pri: 3
Type: Bug



Sign in to add a comment

Damaged history file causes DCHECK in master.

Reported by yorikpig...@gmail.com, Sep 19 2017

Issue description

UserAgent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.125 YaBrowser/17.7.1.720 Yowser/2.5 Safari/537.36

Steps to reproduce the problem:
1. Open browser.
2. Enter couple of urls.
3. Close browser.
4. Open ~/Library/Application\ Support/Chromium/Default/History with text editor. Insert a few symbols close to the beginning.
5. Open browser.

What is the expected behavior?
Browser reports that the "History" is corrupted. 

What went wrong?
The browser crashes with DCHECK.

Stack trace:
out/gn/Chromium.app/Contents/MacOS/Chromium --enable-logging
[6659:57347:0919/180214.369042:ERROR:connection.cc(1953)] History sqlite error 1, errno 0: unsupported file format, sql: PRAGMA auto_vacuum
[6659:57347:0919/180214.369257:ERROR:connection.cc(1953)] History sqlite error 1, errno 0: unsupported file format, sql: PRAGMA journal_mode = TRUNCATE
[6659:57347:0919/180214.369289:FATAL:connection.cc(1447)] SQL Error in PRAGMA journal_mode = TRUNCATE, unsupported file format
0   libbase.dylib                       0x0000000108a42c8c base::debug::StackTrace::StackTrace(unsigned long) + 28
1   libbase.dylib                       0x0000000108a6d2f0 logging::LogMessage::~LogMessage() + 224
2   libsql.dylib                        0x000000010f5ee0ba sql::Connection::Execute(char const*) + 362
3   libsql.dylib                        0x000000010f5ecb3f sql::Connection::OpenInternal(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, sql::Connection::Retry) + 1935
4   libsql.dylib                        0x000000010f5ec390 sql::Connection::Open(base::FilePath const&) + 320
5   libchrome_dll.dylib                 0x00000001027ecd30 history::HistoryDatabase::Init(base::FilePath const&) + 112
6   libchrome_dll.dylib                 0x00000001027df579 history::HistoryBackend::InitImpl(history::HistoryDatabaseParams const&) + 425
7   libchrome_dll.dylib                 0x00000001027df197 history::HistoryBackend::Init(bool, history::HistoryDatabaseParams const&) + 103
8   libbase.dylib                       0x0000000108a4360f base::debug::TaskAnnotator::RunTask(char const*, base::PendingTask*) + 255
9   libbase.dylib                       0x0000000108a83eac base::internal::IncomingTaskQueue::RunTask(base::PendingTask*) + 124
10  libbase.dylib                       0x0000000108a86da2 base::MessageLoop::RunTask(base::PendingTask*) + 434
11  libbase.dylib                       0x0000000108a875fc base::MessageLoop::DoWork() + 700
12  libbase.dylib                       0x0000000108a8ba6a base::MessagePumpCFRunLoopBase::RunWork() + 42
13  libbase.dylib                       0x0000000108a6f56a base::mac::CallWithEHFrame(void () block_pointer) + 10
14  libbase.dylib                       0x0000000108a8b35f base::MessagePumpCFRunLoopBase::RunWorkSource(void*) + 63
15  CoreFoundation                      0x00007fffa8bde321 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 17
16  CoreFoundation                      0x00007fffa8bbf21d __CFRunLoopDoSources0 + 557
17  CoreFoundation                      0x00007fffa8bbe716 __CFRunLoopRun + 934
18  CoreFoundation                      0x00007fffa8bbe114 CFRunLoopRunSpecific + 420
19  libbase.dylib                       0x0000000108a8bebf base::MessagePumpCFRunLoop::DoRun(base::MessagePump::Delegate*) + 79
20  libbase.dylib                       0x0000000108a8ab7c base::MessagePumpCFRunLoopBase::Run(base::MessagePump::Delegate*) + 92
21  libbase.dylib                       0x0000000108a86892 base::MessageLoop::Run() + 146
22  libbase.dylib                       0x0000000108ac3fc8 base::RunLoop::Run() + 168
23  libbase.dylib                       0x0000000108b0b37e base::Thread::Run(base::RunLoop*) + 206
24  libbase.dylib                       0x0000000108b0b93c base::Thread::ThreadMain() + 908
25  libbase.dylib                       0x0000000108b00c6f base::(anonymous namespace)::ThreadFunc(void*) + 95
26  libsystem_pthread.dylib             0x00007fffbe55f93b _pthread_body + 180
27  libsystem_pthread.dylib             0x00007fffbe55f887 _pthread_body + 0
28  libsystem_pthread.dylib             0x00007fffbe55f08d thread_start + 13

Crashed report ID: 

How much crashed? Whole browser

Is it a problem with a plugin? No 

Did this work before? N/A 

Chrome version:   Channel: n/a
OS Version: OS X 10.12.6
Flash Version: Shockwave Flash 27.0 r0

DCHECK is not OK, since this is a possible situation in production, and DCHECK forbids testing it.
 
Labels: Needs-Milestone
Components: Blink>Storage
@patricia

Why is it Blink>Storage? The problem seems to be in History.

Comment 4 by jsb...@chromium.org, Sep 20 2017

Cc: pwnall@chromium.org
Components: -Blink>Storage UI>Browser>History
Yeah, not blink.

Although storage folks do own sqlite and may be able to provide help here. CC'ing pwnall@

Comment 5 by sdy@chromium.org, Sep 26 2017

Labels: -Pri-2 Pri-3
Status: Available (was: Unconfirmed)
[Mac triage] Marking as available. This looks like a real issue but uncommonly hit.
Mergedinto: 839186
Status: Duplicate (was: Available)
Duplicating into a new issue that describes the root cause and what we need to do to fix it.

Sign in to add a comment