New issue
Advanced search Search tips

Issue 738961 link

Starred by 5 users

Issue metadata

Status: Fixed
Owner:
Closed: Jul 2017
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux
Pri: 2
Type: Bug


Show other hotlists

Hotlists containing this issue:
Hotlist-1


Sign in to add a comment

Repeated LevelDB recovery failures (from IndexedDB open) on Linux / btrfs on chrome startup after computer crash

Reported by mer...@gmail.com, Jul 4 2017

Issue description

UserAgent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36

Steps to reproduce the problem:
1) use btrfs as filesystem
2) crash the system/unclear shutdown
3) restart chrome

What is the expected behavior?
tabs restore

What went wrong?
sometimes tabs restore, sometimes they don't.
Often chrome starts, opens a window and hangs there without even giving me the option to restore tabs. The only way out is ^C. Restarting chrome then usually restarts it clean with all my tabs lost (not being asked to restore them).

sometimes I get a chrome warning that my profile is corrupted and submit an automated-ish bugreport from that
some other times, after that is all fixed, I get never ending sqlite and other read/write errors on the console

Did this work before? No 

Chrome version: 58.0.3029.110  Channel: beta
OS Version: debian/testing
Flash Version: 

Usually if my tabs are lost, I rsync a btrfs snapshot over my chrome config dir, and that pretty reliably gives me a back a working profile with my saved tabs.

Problems to fix:
1) there is no good reason for chrome to give me never ending errors about sqlite problems. It should wipe the damaged file and restart fresh (possibly after asking me whether it's ok to do so)

2) I'm reasonably sure that btrfs does write consistent data on disk as per the filesystem semantics, even when the system crashes. If it's in the middle of writing data, it uses COW and only atomically repoints block pointers to the new COW blocks after they've been fully ritten. Btrfs also has per block checksums and does not get corrupted data without complaining loudly in syslog. I have not gotten any such warnings.
Maybe chrome is missing some fsync statements in places, or sqlite is just buggy when it doesn't get to write all its data like it wished it had been able to.
 

Comment 1 by mer...@gmail.com, Jul 4 2017

this is a typical google-chrome-beta start after an rsync restore of my .config dir:
I then get "restore pages, chrome did not shut down properly"

saruman:~# ulimit -n 120000; su - merlin -c '/usr/bin/google-chrome-beta' &
[1] 15820
saruman:~# [15828:15828:0703/233610.394934:ERROR:background_mode_manager_aura.cc(13)] Not implemented reached in virtual void BackgroundModeManager::EnableLaunchOnStartup(bool)
--2017-07-03 23:36:10--  https://clients2.google.com/cr/report
Resolving clients2.google.com (clients2.google.com)... 2607:f8b0:4005:809::200e, 172.217.6.46
Connecting to clients2.google.com (clients2.google.com)|2607:f8b0:4005:809::200e|:443... connected.
HTTP request sent, awaiting response... [15828:15915:0703/233610.884890:ERROR:simple_index_file_posix.cc(49)] Could not get file info for /var/change/merlin-change/.config/google-chrome-dir/google-chrome-beta/Default/Cache/496f1894c1926f8a_0
200 OK
Length: unspecified [text/html]
Saving to: ‘/dev/fd/4’

     0K
Crash dump id:  b95aba1508000000 
                                                      1.26M=0s

--2017-07-03 23:36:11--  https://clients2.google.com/cr/report
Resolving clients2.google.com (clients2.google.com)... 2607:f8b0:4005:809::200e, 172.217.6.46
Connecting to clients2.google.com (clients2.google.com)|2607:f8b0:4005:809::200e|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: unspecified [text/html]
Saving to: ‘/dev/fd/4’


     0KCrash dump id:         e686461508000000 
                                                523K=0s

2017-07-03 23:36:11 (523 KB/s) - ‘/dev/fd/4’ saved [16]

--2017-07-03 23:36:11--  https://clients2.google.com/cr/report
Resolving clients2.google.com (clients2.google.com)... 2607:f8b0:4005:809::200e, 172.217.6.46
Connecting to clients2.google.com (clients2.google.com)|2607:f8b0:4005:809::200e|:443... connected.
HTTP request sent, awaiting response... [15828:15888:0703/233612.091373:ERROR:object_proxy.cc(583)] Failed to call method: org.freedesktop.NetworkManager.GetDevices: object_path= /org/freedesktop/NetworkManager: org.freedesktop.DBus.Error.ServiceUnknown: The name org.freedesktop.NetworkManager was not provided by any .service files
[15828:15888:0703/233612.091394:ERROR:networking_private_linux.cc(720)] Failed to enumerate network devices
200 OK
Length: unspecified [text/html]
Saving to: ‘/dev/fd/4’

     0K       
  Crash dump id:   c463b7cb38000000  
                                           1.23M=0s

2017-07-03 23:36:12 (1.23 MB/s) - ‘/dev/fd/4’ saved [16]

--2017-07-03 23:36:12--  https://clients2.google.com/cr/report
Resolving clients2.google.com (clients2.google.com)... 2607:f8b0:4005:809::200e, 172.217.6.46
Connecting to clients2.google.com (clients2.google.com)|2607:f8b0:4005:809::200e|:443... connected.
HTTP request sent, awaiting response... [15828:15861:0703/233612.495909:ERROR:browser_gpu_channel_host_factory.cc(103)] Failed to launch GPU process.
[15828:15861:0703/233612.499310:ERROR:browser_gpu_channel_host_factory.cc(103)] Failed to launch GPU process.
[15828:15861:0703/233612.502570:ERROR:browser_gpu_channel_host_factory.cc(103)] Failed to launch GPU process.
[15828:15861:0703/233612.514184:ERROR:service_manager.cc(425)] InterfaceProviderSpec prevented connection from: content_utility to: content_browser
[15828:15861:0703/233612.691893:ERROR:service_manager.cc(425)] InterfaceProviderSpec prevented connection from: content_utility to: content_browser
200 OK
Length: unspecified [text/html]
Saving to: ‘/dev/fd/4’

     0K
 Crash dump id:  4f1d861508000000 
                                                     1.61M=0s

2017-07-03 23:36:12 (1.61 MB/s) - ‘/dev/fd/4’ saved [16]

[15828:15861:0703/233612.814786:ERROR:service_manager.cc(425)] InterfaceProviderSpec prevented connection from: content_utility to: content_browser
--2017-07-03 23:36:12--  https://clients2.google.com/cr/report
[15828:15862:0703/233612.868721:ERROR:leveldb_database.cc(317)] Failed to open LevelDB database from /var/change/merlin-change/.config/google-chrome-dir/google-chrome-beta/Default/IndexedDB/https_docs.google.com_0.indexeddb.leveldb,IO error: /var/change/merlin-change/.config/google-chrome-dir/google-chrome-beta/Default/IndexedDB/https_docs.google.com_0.indexeddb.leveldb/MANIFEST-010814: Unable to create sequential file (ChromeMethodBFE: 7::NewSequentialFile::4)
[15828:15862:0703/233612.869435:ERROR:indexed_db_backing_store.cc(1406)] Unable to open backing store, not trying to recover - IO error: /var/change/merlin-change/.config/google-chrome-dir/google-chrome-beta/Default/IndexedDB/https_docs.google.com_0.indexeddb.leveldb/MANIFEST-010814: Unable to create sequential file (ChromeMethodBFE: 7::NewSequentialFile::4)
Resolving clients2.google.com (clients2.google.com)... 2607:f8b0:4005:809::200e, 172.217.6.46
Connecting to clients2.google.com (clients2.google.com)|2607:f8b0:4005:809::200e|:443... connected.
HTTP request sent, awaiting response... [15828:15862:0703/233613.015778:ERROR:leveldb_database.cc(317)] Failed to open LevelDB database from /var/change/merlin-change/.config/google-chrome-dir/google-chrome-beta/Default/IndexedDB/https_docs.google.com_0.indexeddb.leveldb,IO error: /var/change/merlin-change/.config/google-chrome-dir/google-chrome-beta/Default/IndexedDB/https_docs.google.com_0.indexeddb.leveldb/MANIFEST-010814: Unable to create sequential file (ChromeMethodBFE: 7::NewSequentialFile::4)
[15828:15862:0703/233613.016071:ERROR:indexed_db_backing_store.cc(1406)] Unable to open backing store, not trying to recover - IO error: /var/change/merlin-change/.config/google-chrome-dir/google-chrome-beta/Default/IndexedDB/https_docs.google.com_0.indexeddb.leveldb/MANIFEST-010814: Unable to create sequential file (ChromeMethodBFE: 7::NewSequentialFile::4)
[15828:15861:0703/233613.230259:ERROR:service_manager.cc(425)] InterfaceProviderSpec prevented connection from: content_utility to: content_browser
200 OK
Length: unspecified [text/html]
Saving to: ‘/dev/fd/4’

     0K  
 Crash dump id:  22fb71de40000000 
                                                    606K=0s

[15828:15861:0703/233613.492992:ERROR:service_manager.cc(425)] InterfaceProviderSpec prevented connection from: content_utility to: content_browser
--2017-07-03 23:36:13--  https://clients2.google.com/cr/report
Resolving clients2.google.com (clients2.google.com)... 2607:f8b0:4005:809::200e, 172.217.6.46
Connecting to clients2.google.com (clients2.google.com)|2607:f8b0:4005:809::200e|:443... [15828:15862:0703/233613.566657:ERROR:leveldb_database.cc(317)] Failed to open LevelDB database from /var/change/merlin-change/.config/google-chrome-dir/google-chrome-beta/Default/IndexedDB/https_docs.google.com_0.indexeddb.leveldb,IO error: /var/change/merlin-change/.config/google-chrome-dir/google-chrome-beta/Default/IndexedDB/https_docs.google.com_0.indexeddb.leveldb/MANIFEST-010814: Unable to create sequential file (ChromeMethodBFE: 7::NewSequentialFile::4)
[15828:15862:0703/233613.566987:ERROR:indexed_db_backing_store.cc(1406)] Unable to open backing store, not trying to recover - IO error: /var/change/merlin-change/.config/google-chrome-dir/google-chrome-beta/Default/IndexedDB/https_docs.google.com_0.indexeddb.leveldb/MANIFEST-010814: Unable to create sequential file (ChromeMethodBFE: 7::NewSequentialFile::4)
connected.
HTTP request sent, awaiting response... [15828:15862:0703/233613.634375:ERROR:leveldb_database.cc(317)] Failed to open LevelDB database from /var/change/merlin-change/.config/google-chrome-dir/google-chrome-beta/Default/IndexedDB/https_docs.google.com_0.indexeddb.leveldb,IO error: /var/change/merlin-change/.config/google-chrome-dir/google-chrome-beta/Default/IndexedDB/https_docs.google.com_0.indexeddb.leveldb/MANIFEST-010814: Unable to create sequential file (ChromeMethodBFE: 7::NewSequentialFile::4)
[15828:15862:0703/233613.634828:ERROR:indexed_db_backing_store.cc(1406)] Unable to open backing store, not trying to recover - IO error: /var/change/merlin-change/.config/google-chrome-dir/google-chrome-beta/Default/IndexedDB/https_docs.google.com_0.indexeddb.leveldb/MANIFEST-010814: Unable to create sequential file (ChromeMethodBFE: 7::NewSequentialFile::4)
200 OK
Length: unspecified [text/html]
Saving to: ‘/dev/fd/4’


     0KCrash dump id:  409d861508000000 
                                                       253K=0s

2017-07-03 23:36:14 (253 KB/s) - ‘/dev/fd/4’ saved [16]

--2017-07-03 23:36:14--  https://clients2.google.com/cr/report
Resolving clients2.google.com (clients2.google.com)... 2607:f8b0:4005:809::200e, 172.217.6.46
Connecting to clients2.google.com (clients2.google.com)|2607:f8b0:4005:809::200e|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: unspecified [text/html]
Saving to: ‘/dev/fd/4’

     0K    
 Crash dump id:  79df71de40000000 
                                                 1.30M=0s

2017-07-03 23:36:14 (1.30 MB/s) - ‘/dev/fd/4’ saved [16]



Comment 2 by mer...@gmail.com, Jul 4 2017

After the above, chrome seems to start correctly after some extra complaining on the console. However the complaining eventually stops.
Sadly, this is business as usual for google-chrome on my laptop (all versions, been true for at least 3 years)

[15828:15861:0703/233619.588274:ERROR:service_manager.cc(425)] InterfaceProviderSpec prevented connection from: content_utility to: content_browser
[15828:15861:0703/233619.734462:ERROR:service_manager.cc(425)] InterfaceProviderSpec prevented connection from: content_utility to: content_browser
[15828:15861:0703/233710.346837:ERROR:service_manager.cc(425)] InterfaceProviderSpec prevented connection from: content_utility to: content_browser
[15828:15862:0703/233713.287063:ERROR:leveldb_database.cc(317)] Failed to open LevelDB database from /var/change/merlin-change/.config/google-chrome-dir/google-chrome-beta/Default/IndexedDB/https_docs.google.com_0.indexeddb.leveldb,IO error: /var/change/merlin-change/.config/google-chrome-dir/google-chrome-beta/Default/IndexedDB/https_docs.google.com_0.indexeddb.leveldb/MANIFEST-010814: Unable to create sequential file (ChromeMethodBFE: 7::NewSequentialFile::4)
[15828:15862:0703/233713.287236:ERROR:indexed_db_backing_store.cc(1406)] Unable to open backing store, not trying to recover - IO error: /var/change/merlin-change/.config/google-chrome-dir/google-chrome-beta/Default/IndexedDB/https_docs.google.com_0.indexeddb.leveldb/MANIFEST-010814: Unable to create sequential file (ChromeMethodBFE: 7::NewSequentialFile::4)
[15828:15862:0703/233713.347559:ERROR:leveldb_database.cc(317)] Failed to open LevelDB database from /var/change/merlin-change/.config/google-chrome-dir/google-chrome-beta/Default/IndexedDB/https_docs.google.com_0.indexeddb.leveldb,IO error: /var/change/merlin-change/.config/google-chrome-dir/google-chrome-beta/Default/IndexedDB/https_docs.google.com_0.indexeddb.leveldb/MANIFEST-010814: Unable to create sequential file (ChromeMethodBFE: 7::NewSequentialFile::4)
[15828:15862:0703/233713.347920:ERROR:indexed_db_backing_store.cc(1406)] Unable to open backing store, not trying to recover - IO error: /var/change/merlin-change/.config/google-chrome-dir/google-chrome-beta/Default/IndexedDB/https_docs.google.com_0.indexeddb.leveldb/MANIFEST-010814: Unable to create sequential file (ChromeMethodBFE: 7::NewSequentialFile::4)
[15828:15954:0703/233756.667114:ERROR:cert_verify_proc_nss.cc(923)] CERT_PKIXVerifyCert for home.merlins.org failed err=-8172
[15828:15862:0703/233758.748365:ERROR:leveldb_database.cc(317)] Failed to open LevelDB database from /var/change/merlin-change/.config/google-chrome-dir/google-chrome-beta/Default/IndexedDB/https_docs.google.com_0.indexeddb.leveldb,IO error: /var/change/merlin-change/.config/google-chrome-dir/google-chrome-beta/Default/IndexedDB/https_docs.google.com_0.indexeddb.leveldb/MANIFEST-010814: Unable to create sequential file (ChromeMethodBFE: 7::NewSequentialFile::4)
[15828:15862:0703/233758.748633:ERROR:indexed_db_backing_store.cc(1406)] Unable to open backing store, not trying to recover - IO error: /var/change/merlin-change/.config/google-chrome-dir/google-chrome-beta/Default/IndexedDB/https_docs.google.com_0.indexeddb.leveldb/MANIFEST-010814: Unable to create sequential file (ChromeMethodBFE: 7::NewSequentialFile::4)
[15828:15828:0703/233800.056332:ERROR:background_mode_manager_aura.cc(18)] Not implemented reached in virtual void BackgroundModeManager::DisplayClientInstalledNotification(const base::string16 &)
[15828:15888:0703/233800.388241:ERROR:object_proxy.cc(583)] Failed to call method: org.freedesktop.NetworkManager.GetDevices: object_path= /org/freedesktop/NetworkManager: org.freedesktop.DBus.Error.ServiceUnknown: The name org.freedesktop.NetworkManager was not provided by any .service files

Cc: pwnall@chromium.org
Components: Blink>Storage>IndexedDB
+pwnall, leveldb and sqlite owner. 

merlin@, thanks for filing the bug with all the logs. What you says makes sense. 
Just a clarification, you repeatedly mention "sqlite" in your bug, however the log files in #1 #2 don't mention sqlite but indexeddb (which is backed by leveldb).
Can I just ask where sqlite came from? Is there a log missing here?

> 1) there is no good reason for chrome to give me never ending errors about sqlite problems. It should wipe the damaged file and restart fresh (possibly after asking me whether it's ok to do so)

Not an owner of the area, but the request seems reasonable. We shouldn't just choke.


> 2) I'm reasonably sure that btrfs does write consistent data on disk as per the filesystem semantics, even when the system crashes. 

Fun, I've been a btrfs aficionados since the early days :).
It is possible that we (chrome) are implicitly making some assumption that holds only on ext4 or other FS but not btrfs.

As regards the actual crashes, they seem to be GL related. Forked  Issue 739095  for the actual crash problem. Let's keep this bug to discuss the indexeddb corruption.



Slightly unrelated, I see from the crash logs that you could be affected by the Skylake bug*. Did you get a microcode update? Not sure if that is related here but that could explain some of the instability.
* https://lists.debian.org/debian-devel/2017/06/msg00308.html
Labels: -Pri-2 Needs-Feedback Pri-3
Summary: Repeated LevelDB recovery failures (from IndexedDB open) on Linux / btrfs on chrome startup after computer crash (was: repeated sqlite failures on linux when restarting chrome after a computer crash)
IMPORTANT ASIDE: The current _stable_ version is Chrome 59. Running an older version is a security hazard. The package repository that you are using is fairly out of date, and you should get Chrome from a better source.

This is entirely LevelDB / IndexedDB. SQLite is not involved here at all.

I think that the problem is that the LevelDB CURRENT file points to a log file (MANIFEST-010814) that doesn't exist.

Reporter: If you still see this issue, can you please open a shell and tell us the result of the command below:
cat /var/change/merlin-change/.config/google-chrome-dir/google-chrome-beta/Default/IndexedDB/https_docs.google.com_0.indexeddb.leveldb/CURRENT

This is based on the directory in the following log line:
[15828:15862:0703/233713.347920:ERROR:indexed_db_backing_store.cc(1406)] Unable to open backing store, not trying to recover - IO error: /var/change/merlin-change/.config/google-chrome-dir/google-chrome-beta/Default/IndexedDB/https_docs.google.com_0.indexeddb.leveldb/MANIFEST-010814: Unable to create sequential file (ChromeMethodBFE: 7::NewSequentialFile::4)

If your log lines show a different path, please try replacing MANIFEST-* with CURRENT in that path, and please report the log line and the contents of the CURRENT file. The file should consist of a single line that says "MANIFEST-010814" -- the digits might differ.


Details:

The IndexedDB log line seems to be coming from here: https://cs.chromium.org/chromium/src/content/browser/indexed_db/indexed_db_backing_store.cc?type=cs&q=file:indexed_db_backing_store.cc+not+trying+to+recover&l=1411

The LevelDB log line is most likely:
https://cs.chromium.org/chromium/src/content/browser/indexed_db/leveldb/leveldb_database.cc?type=cs&q=file:leveldb_database.cc+failed+to+open+LevelDB+database+from&l=317

The "Unable to create sequential file" bit comes from either https://cs.chromium.org/chromium/src/components/leveldb/env_mojo.cc?q=NewSequentialFile+%22Unable+to+create+sequential+file%22&l=334&dr=C or https://cs.chromium.org/chromium/src/third_party/leveldatabase/env_chromium.cc?q=NewSequentialFile+%22Unable+to+create+sequential+file%22&l=857&dr=C

The ChromeMethodBFE error detail seems to come from: https://cs.chromium.org/chromium/src/third_party/leveldatabase/env_chromium.cc?q=(ChromeMethodBFE:+%25d::%25s::%25d)&l=426

The ::4 bit at the end is FILE_NOT_FOUND: https://cs.chromium.org/chromium/src/base/files/file.h?type=cs&q=file:base/files/file.h+%22-4%22&l=105

I think the NewSequentialFile call is coming from leveldb::DB::Open -> leveldb::DBImpl::Recover -> leveldb::VersionSet::Recover at
https://cs.chromium.org/chromium/src/third_party/leveldatabase/src/db/version_set.cc?gsn=Recover&l=926

Comment 5 by mer...@gmail.com, Jul 6 2017

@primiano:thanks for having a look. I thought I saw sqlite earlier before, but you are correct that my report had data on leveldb, not sqlite.
Thanks for the pointer on skylake, no I don't think I got the microcode update and my laptop has been hanging a bit too often since I upgraded from 4.4 kernel to 4.11.6. I will look into installing that, very much appreciated.
@pwnall: I have 
google-chrome-beta        59.0.3071.61-1
google-chrome-stable      58.0.3029.110-1 
yes, I'm one rev behind, I know I need to upgrade, will do soon.

saruman:~$ cat /var/change/merlin-change/.config/google-chrome-dir/google-chrome-beta/Default/IndexedDB/https_docs.google.com_0.indexeddb.leveldb/CURRENT
MANIFEST-010814

I just had my computer crash and I'm recovering right now. Both google-chrome-stable and google-chrome-beta failed to recover. One of the two just sent 2 different reports while loading up. I'll attach the logs of each.
Project Member

Comment 6 by sheriffbot@chromium.org, Jul 6 2017

Labels: -Needs-Feedback
Thank you for providing more feedback. Adding requester "pwnall@chromium.org" to the cc list and removing "Needs-Feedback" label.

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot

Comment 7 by mer...@gmail.com, Jul 6 2017

google-chrome-beta complained quite a bit on restart, but to its credit, managed to restore all my tabs without crashing (yes, I've just upgraded beta from 59 to 60 now):
saruman:~# ulimit -n 120000; su - merlin -c '/usr/bin/google-chrome-beta' &
[1] 11796
saruman:~# [1:1:0705/211648.994732:ERROR:chrome_content_client.cc(372)] Failed to locate and load the component updated flash plugin.
[11804:11804:0705/211649.079990:ERROR:chrome_content_client.cc(372)] Failed to locate and load the component updated flash plugin.
[11804:11804:0705/211649.322109:ERROR:desktop_window_tree_host_x11.cc(1148)] Not implemented reached in virtual void views::DesktopWindowTreeHostX11::InitModalType(ui::ModalType)
[11804:11804:0705/211649.736448:ERROR:background_mode_manager_aura.cc(13)] Not implemented reached in virtual void BackgroundModeManager::EnableLaunchOnStartup(bool)
[11804:11902:0705/211649.803074:ERROR:simple_index_file_posix.cc(49)] Could not get file info for /var/change/merlin-change/.config/google-chrome-dir/google-chrome-beta/Default/Cache/496f1894c1926f8a_0
--2017-07-05 21:16:49--  https://clients2.google.com/cr/report
Resolving clients2.google.com (clients2.google.com)... 2607:f8b0:4005:80a::200e, 172.217.6.78
Connecting to clients2.google.com (clients2.google.com)|2607:f8b0:4005:80a::200e|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: unspecified [text/html]
Saving to: ‘/dev/fd/4’

     0K                                                         984K=0s

2017-07-05 21:16:50 (984 KB/s) - ‘/dev/fd/4’ saved [16]


Crash dump id: 065b4a3d08000000
--2017-07-05 21:16:50--  https://clients2.google.com/cr/report
Resolving clients2.google.com (clients2.google.com)... 2607:f8b0:4005:80a::200e, 172.217.6.78
Connecting to clients2.google.com (clients2.google.com)|2607:f8b0:4005:80a::200e|:443... connected.
HTTP request sent, awaiting response... [11804:11867:0705/211650.706460:ERROR:object_proxy.cc(583)] Failed to call method: org.freedesktop.NetworkManager.GetDevices: object_path= /org/freedesktop/NetworkManager: org.freedesktop.DBus.Error.ServiceUnknown: The name org.freedesktop.NetworkManager was not provided by any .service files
[11804:11867:0705/211650.706481:ERROR:networking_private_linux.cc(720)] Failed to enumerate network devices
[11804:11837:0705/211650.947292:ERROR:service_manager.cc(425)] InterfaceProviderSpec prevented connection from: content_utility to: content_browser
[11804:11837:0705/211651.084777:ERROR:service_manager.cc(425)] InterfaceProviderSpec prevented connection from: content_utility to: content_browser
200 OK
Length: unspecified [text/html]
Saving to: ‘/dev/fd/4’

     0K    
 Crash dump id:  5fd759fc68000000 
                                                  904K=0s

2017-07-05 21:16:51 (904 KB/s) - ‘/dev/fd/4’ saved [16]

[11804:11837:0705/211651.143557:ERROR:browser_gpu_channel_host_factory.cc(103)] Failed to launch GPU process.
[11804:11837:0705/211651.146618:ERROR:browser_gpu_channel_host_factory.cc(103)] Failed to launch GPU process.
[11804:11837:0705/211651.147913:ERROR:browser_gpu_channel_host_factory.cc(103)] Failed to launch GPU process.
[11804:11837:0705/211651.150692:ERROR:browser_gpu_channel_host_factory.cc(103)] Failed to launch GPU process.
--2017-07-05 21:16:51--  https://clients2.google.com/cr/report
Resolving clients2.google.com (clients2.google.com)... 2607:f8b0:4005:80a::200e, 172.217.6.78
Connecting to clients2.google.com (clients2.google.com)|2607:f8b0:4005:80a::200e|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: unspecified [text/html]
Saving to: ‘/dev/fd/4’

     0K                            
  Crash dump id:  249f59fc68000000 
                         849K=0s

2017-07-05 21:16:51 (849 KB/s) - ‘/dev/fd/4’ saved [16]

--2017-07-05 21:16:51--  https://clients2.google.com/cr/report
Resolving clients2.google.com (clients2.google.com)... 2607:f8b0:4005:80a::200e, 172.217.6.78
Connecting to clients2.google.com (clients2.google.com)|2607:f8b0:4005:80a::200e|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: unspecified [text/html]
Saving to: ‘/dev/fd/4’

     0K                                                        1.50M=0s


2017-07-05 21:16:52 (1.50 MB/s) - ‘/dev/fd/4’ saved [16]

Crash dump id: d6c45fde40000000
--2017-07-05 21:16:52--  https://clients2.google.com/cr/report
Resolving clients2.google.com (clients2.google.com)... 2607:f8b0:4005:80a::200e, 172.217.6.78
Connecting to clients2.google.com (clients2.google.com)|2607:f8b0:4005:80a::200e|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: unspecified [text/html]
Saving to: ‘/dev/fd/4’

     0K                     
 Crash dump id:   1580d9fc68000000 
                                507K=0s

2017-07-05 21:16:52 (507 KB/s) - ‘/dev/fd/4’ saved [16]

--2017-07-05 21:16:52--  https://clients2.google.com/cr/report
Resolving clients2.google.com (clients2.google.com)... 2607:f8b0:4005:80a::200e, 172.217.6.78
Connecting to clients2.google.com (clients2.google.com)|2607:f8b0:4005:80a::200e|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: unspecified [text/html]
Saving to: ‘/dev/fd/4’


     0KCrash dump id:  9d205fde40000000 
                                                       498K--2017-07-05 21:16:53--  https://clients2.google.com/cr/report
Resolving clients2.google.com (clients2.google.com)... 2607:f8b0:4005:80a::200e, 172.217.6.78
Connecting to clients2.google.com (clients2.google.com)|2607:f8b0:4005:80a::200e|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: unspecified [text/html]
Saving to: ‘/dev/fd/4’

     0K                 
 Crash dump id:  193f9fde40000000 
                                     650K=0s

2017-07-05 21:16:53 (650 KB/s) - ‘/dev/fd/4’ saved [16]

[11804:11837:0705/211745.222455:ERROR:socket_stream.cc(210)] Closing stream with result -101
[11804:11837:0705/211749.220528:ERROR:service_manager.cc(425)] InterfaceProviderSpec prevented connection from: content_utility to: content_browser
[11804:11837:0705/211850.744677:ERROR:socket_stream.cc(210)] Closing stream with result -101
[11804:11837:0705/212010.621313:ERROR:socket_stream.cc(210)] Closing stream with result -101
[11804:11837:0705/212130.256259:ERROR:service_manager.cc(425)] InterfaceProviderSpec prevented connection from: content_utility to: content_browser
[11804:11837:0705/212130.392062:ERROR:service_manager.cc(425)] InterfaceProviderSpec prevented connection from: content_utility to: content_browser
[11804:11837:0705/212130.535583:ERROR:socket_stream.cc(210)] Closing stream with result -101


Comment 8 by mer...@gmail.com, Jul 6 2017

google-chrome (58) did the semi usual thing of starting and hanging during start without displaying anything. Semi usual meaning it's done this will all versions of chrome for the last 3 years (yes, I realize it may be a different bug, if so, feel free to fork this).
saruman:~# ulimit -n 65000; su - merlin -c '/usr/bin/google-chrome' &
[1] 12132
saruman:~# [12140:12140:0705/211704.257766:ERROR:background_mode_manager_aura.cc(13)] Not implemented reached in virtual void BackgroundModeManager::EnableLaunchOnStartup(bool)
[12140:12140:0705/211704.300921:ERROR:desktop_window_tree_host_x11.cc(1147)] Not implemented reached in virtual void views::DesktopWindowTreeHostX11::InitModalType(ui::ModalType)
--2017-07-05 21:17:04--  https://clients2.google.com/cr/report
Resolving clients2.google.com (clients2.google.com)... 2607:f8b0:4005:80a::200e, 172.217.6.78
Connecting to clients2.google.com (clients2.google.com)|2607:f8b0:4005:80a::200e|:443... connected.
HTTP request sent, awaiting response... [12140:12170:0705/211704.845991:ERROR:form_field_data.cc(333)] Unknown FormFieldData pickle version 41
[12140:12170:0705/211704.847034:ERROR:form_field_data.cc(333)] Unknown FormFieldData pickle version 8
[12140:12170:0705/211704.848456:ERROR:form_field_data.cc(250)] Could not deserialize FormFieldData from pickle
[12140:12170:0705/211704.852271:ERROR:form_field_data.cc(250)] Could not deserialize FormFieldData from pickle
[12140:12170:0705/211704.854709:ERROR:form_field_data.cc(333)] Unknown FormFieldData pickle version 8
[12140:12170:0705/211704.854958:ERROR:form_field_data.cc(250)] Could not deserialize FormFieldData from pickle
[12140:12170:0705/211704.855706:ERROR:form_field_data.cc(312)] Could not deserialize FormFieldData from pickle
200 OK
Length: unspecified [text/html]
Saving to: ‘/dev/fd/4’

     0K   
 Crash dump id:   82576bdf38000000 
                                                  672K=0s

2017-07-05 21:17:05 (672 KB/s) - ‘/dev/fd/4’ saved [16]

--2017-07-05 21:17:05--  https://clients2.google.com/cr/report
Resolving clients2.google.com (clients2.google.com)... 2607:f8b0:4005:80a::200e, 172.217.6.78
Connecting to clients2.google.com (clients2.google.com)|2607:f8b0:4005:80a::200e|:443... connected.
HTTP request sent, awaiting response... [12140:12175:0705/211705.402083:ERROR:browser_gpu_channel_host_factory.cc(113)] Failed to launch GPU process.
[12140:12175:0705/211705.442769:ERROR:browser_gpu_channel_host_factory.cc(113)] Failed to launch GPU process.
[12140:12175:0705/211705.471943:ERROR:browser_gpu_channel_host_factory.cc(113)] Failed to launch GPU process.
[12140:12174:0705/211705.512931:ERROR:simple_version_upgrade.cc(164)] File structure does not match the disk cache backend.
[12140:12174:0705/211705.512953:ERROR:simple_backend_impl.cc(621)] Simple Cache Backend: wrong file structure on disk: /home/merlin/.config/google-chrome/Default/Service Worker/CacheStorage/4b3c19c3f2722f26e3232756cd5969a07cd830d1/773af946-b5b4-48c8-8608-02becb8f4ea3
[12140:12174:0705/211705.513229:ERROR:simple_version_upgrade.cc(164)] File structure does not match the disk cache backend.
[12140:12175:0705/211705.513266:ERROR:disk_cache.cc(132)] Unable to create cache
[12140:12174:0705/211705.513244:ERROR:simple_backend_impl.cc(621)] Simple Cache Backend: wrong file structure on disk: /home/merlin/.config/google-chrome/Default/Service Worker/CacheStorage/3a540d1e37ee145760ae0664f65701da31f9ea56/028239fc-97eb-4e4b-b230-fb1016ed8f64
[12140:12175:0705/211705.513574:ERROR:disk_cache.cc(132)] Unable to create cache
[12140:12174:0705/211705.514581:ERROR:simple_version_upgrade.cc(164)] File structure does not match the disk cache backend.
[12140:12174:0705/211705.514607:ERROR:simple_backend_impl.cc(621)] Simple Cache Backend: wrong file structure on disk: /home/merlin/.config/google-chrome/Default/Service Worker/CacheStorage/783e7ccd1569e6f0af8b16953519e77950ae84e4/485649e7-c1d1-4032-b717-0f66e82c84a1
[12140:12175:0705/211705.514879:ERROR:disk_cache.cc(132)] Unable to create cache
[12140:12174:0705/211705.518923:ERROR:simple_version_upgrade.cc(164)] File structure does not match the disk cache backend.
[12140:12174:0705/211705.518988:ERROR:simple_backend_impl.cc(621)] Simple Cache Backend: wrong file structure on disk: /home/merlin/.config/google-chrome/Default/Service Worker/CacheStorage/28da9c56fde4021055a681112c092453f74d8dd8/2bc8b9da-1a4b-4377-a32b-1a6cf7088030
[12140:12175:0705/211705.522767:ERROR:disk_cache.cc(132)] Unable to create cache
[12140:12174:0705/211705.526213:ERROR:simple_version_upgrade.cc(164)] File structure does not match the disk cache backend.
[12140:12174:0705/211705.526241:ERROR:simple_backend_impl.cc(621)] Simple Cache Backend: wrong file structure on disk: /home/merlin/.config/google-chrome/Default/Service Worker/CacheStorage/bf537d81268177ef05a3e3a1617232fce0d7767b/e1bf22a8-4169-4d2f-b1c4-205f293c5bb6
[12140:12175:0705/211705.526895:ERROR:disk_cache.cc(132)] Unable to create cache
200 OK
Length: unspecified [text/html]
Saving to: ‘/dev/fd/4’


     0KCrash dump id:  16420a3d08000000 
                                                      1.29M=0s

--2017-07-05 21:17:05--  https://clients2.google.com/cr/report
Resolving clients2.google.com (clients2.google.com)... 2607:f8b0:4005:80a::200e, 172.217.6.78
Connecting to clients2.google.com (clients2.google.com)|2607:f8b0:4005:80a::200e|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: unspecified [text/html]
Saving to: ‘/dev/fd/4’

     0K
  Crash dump id:  5040d9fc68000000
                                                     1.67M=0s

[12140:12170:0705/211706.660344:ERROR:form_field_data.cc(333)] Unknown FormFieldData pickle version 41
[12140:12170:0705/211706.660856:ERROR:form_field_data.cc(333)] Unknown FormFieldData pickle version 8
[12140:12170:0705/211706.661358:ERROR:form_field_data.cc(250)] Could not deserialize FormFieldData from pickle
[12140:12170:0705/211706.663242:ERROR:form_field_data.cc(250)] Could not deserialize FormFieldData from pickle
[12140:12170:0705/211706.664300:ERROR:form_field_data.cc(333)] Unknown FormFieldData pickle version 8
[12140:12170:0705/211706.664587:ERROR:form_field_data.cc(250)] Could not deserialize FormFieldData from pickle
[12140:12170:0705/211706.665402:ERROR:form_field_data.cc(312)] Could not deserialize FormFieldData from pickle
[12140:12140:0705/211706.680463:ERROR:sessions_sync_manager.cc(252)] No windows present, see  crbug.com/639009 
[12140:12170:0705/211714.622199:ERROR:form_field_data.cc(333)] Unknown FormFieldData pickle version 41
[12140:12170:0705/211714.623374:ERROR:form_field_data.cc(333)] Unknown FormFieldData pickle version 8
[12140:12170:0705/211714.624592:ERROR:form_field_data.cc(250)] Could not deserialize FormFieldData from pickle
[12140:12170:0705/211714.629696:ERROR:form_field_data.cc(250)] Could not deserialize FormFieldData from pickle
[12140:12170:0705/211714.632023:ERROR:form_field_data.cc(333)] Unknown FormFieldData pickle version 8
[12140:12170:0705/211714.632613:ERROR:form_field_data.cc(250)] Could not deserialize FormFieldData from pickle
[12140:12170:0705/211714.634818:ERROR:form_field_data.cc(312)] Could not deserialize FormFieldData from pickle
[12140:12174:0705/211720.789235:ERROR:simple_version_upgrade.cc(164)] File structure does not match the disk cache backend.
[12140:12174:0705/211720.789266:ERROR:simple_backend_impl.cc(621)] Simple Cache Backend: wrong file structure on disk: /home/merlin/.config/google-chrome/Default/Service Worker/CacheStorage/28da9c56fde4021055a681112c092453f74d8dd8/2bc8b9da-1a4b-4377-a32b-1a6cf7088030
[12140:12175:0705/211720.789346:ERROR:disk_cache.cc(132)] Unable to create cache
[12140:12174:0705/211720.856730:ERROR:simple_version_upgrade.cc(164)] File structure does not match the disk cache backend.
[12140:12174:0705/211720.856754:ERROR:simple_backend_impl.cc(621)] Simple Cache Backend: wrong file structure on disk: /home/merlin/.config/google-chrome/Default/Service Worker/CacheStorage/28da9c56fde4021055a681112c092453f74d8dd8/2bc8b9da-1a4b-4377-a32b-1a6cf7088030
[12140:12175:0705/211720.856867:ERROR:disk_cache.cc(132)] Unable to create cache

I killed it and restarted it and all my tabs got lost after being told that my profile could not be read:
saruman:~# ulimit -n 65000; su - merlin -c '/usr/bin/google-chrome' &
[1] 26812
saruman:~# [26820:26820:0705/214038.123481:ERROR:desktop_window_tree_host_x11.cc(1148)] Not implemented reached in virtual void views::DesktopWindowTreeHostX11::InitModalType(ui::ModalType)
[26820:26820:0705/214038.407699:ERROR:background_mode_manager_aura.cc(13)] Not implemented reached in virtual void BackgroundModeManager::EnableLaunchOnStartup(bool)
--2017-07-05 21:40:38--  https://clients2.google.com/cr/report
Resolving clients2.google.com (clients2.google.com)... 2607:f8b0:4005:80a::200e, 172.217.6.78
Connecting to clients2.google.com (clients2.google.com)|2607:f8b0:4005:80a::200e|:443... connected.
HTTP request sent, awaiting response... [26820:26820:0705/214039.025433:ERROR:display_info_provider_aura.cc(31)] Not implemented reached in virtual void extensions::DisplayInfoProviderAura::UpdateDisplayUnitInfoForPlatform(const display::Display &, extensions::api::system_display::DisplayUnitInfo *)
200 OK
Length: unspecified [text/html]
Saving to: ‘/dev/fd/4’

     0K 
 Crash dump id:   5877ce3d08000000 
                                                   1.11M=0s

2017-07-05 21:40:39 (1.11 MB/s) - ‘/dev/fd/4’ saved [16]

--2017-07-05 21:40:39--  https://clients2.google.com/cr/report
Resolving clients2.google.com (clients2.google.com)... 2607:f8b0:4005:80a::200e, 172.217.6.78
Connecting to clients2.google.com (clients2.google.com)|2607:f8b0:4005:80a::200e|:443... connected.
[26820:26879:0705/214039.155244:ERROR:object_proxy.cc(583)] Failed to call method: org.freedesktop.NetworkManager.GetDevices: object_path= /org/freedesktop/NetworkManager: org.freedesktop.DBus.Error.ServiceUnknown: The name org.freedesktop.NetworkManager was not provided by any .service files
[26820:26879:0705/214039.155259:ERROR:networking_private_linux.cc(720)] Failed to enumerate network devices
HTTP request sent, awaiting response... 200 OK
Length: unspecified [text/html]
Saving to: ‘/dev/fd/4’

     0K                             
 Crash dump id:  8343d9fc68000000 
                         577K=0s

2017-07-05 21:40:39 (577 KB/s) - ‘/dev/fd/4’ saved [16]

--2017-07-05 21:40:39--  https://clients2.google.com/cr/report
Resolving clients2.google.com (clients2.google.com)... 2607:f8b0:4005:80a::200e, 172.217.6.78
Connecting to clients2.google.com (clients2.google.com)|2607:f8b0:4005:80a::200e|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: unspecified [text/html]
Saving to: ‘/dev/fd/4’


     0KCrash dump id:  3477ce3d08000000 
                                                       515K
saruman:~# [26820:26852:0705/214115.843109:ERROR:simple_version_upgrade.cc(164)] File structure does not match the disk cache backend.
[26820:26852:0705/214115.843156:ERROR:simple_backend_impl.cc(630)] Simple Cache Backend: wrong file structure on disk: /home/merlin/.config/google-chrome/Default/Service Worker/CacheStorage/28da9c56fde4021055a681112c092453f74d8dd8/2bc8b9da-1a4b-4377-a32b-1a6cf7088030
[26820:26853:0705/214115.843257:ERROR:disk_cache.cc(132)] Unable to create cache
[26820:26853:0705/214131.391412:ERROR:socket_stream.cc(210)] Closing stream with result -101
[26820:26879:0705/214132.015138:ERROR:object_proxy.cc(583)] Failed to call method: org.freedesktop.NetworkManager.GetDevices: object_path= /org/freedesktop/NetworkManager: org.freedesktop.DBus.Error.ServiceUnknown: The name org.freedesktop.NetworkManager was not provided by any .service files
[26820:26879:0705/214132.015155:ERROR:networking_private_linux.cc(720)] Failed to enumerate network devices


Comment 9 by mer...@gmail.com, Jul 6 2017

Both google-chrome stable and beta started up without major problems after I rsynced an old snapshot of my config (and upgraded both chromes to the latest versions).
Now I'm only seeing this:
[12202:12237:0705/215957.952551:ERROR:leveldb_database.cc(317)] Failed to open LevelDB database from /var/change/merlin-change/.config/google-chrome-dir/google-chrome-beta/Default/IndexedDB/https_docs.google.com_0.indexeddb.leveldb,IO error: /var/change/merlin-change/.config/google-chrome-dir/google-chrome-beta/Default/IndexedDB/https_docs.google.com_0.indexeddb.leveldb/MANIFEST-010814: Unable to create sequential file (ChromeMethodBFE: 7::NewSequentialFile::4)
[12202:12237:0705/215957.953023:ERROR:indexed_db_backing_store.cc(1411)] Unable to open backing store, not trying to recover - IO error: /var/change/merlin-change/.config/google-chrome-dir/google-chrome-beta/Default/IndexedDB/https_docs.google.com_0.indexeddb.leveldb/MANIFEST-010814: Unable to create sequential file (ChromeMethodBFE: 7::NewSequentialFile::4)
Sure enough, the value of "CURRENT" doesn't exist as you said:

saruman:/var/change/merlin-change/.config/google-chrome-dir/google-chrome-beta/Default/IndexedDB/https_docs.google.com_0.indexeddb.leveldb$ l
total 30932
drwx------ 1 merlin merlin     402 Jul  5 22:31 ./
drwx------ 1 merlin merlin   18950 Jun 24 18:23 ../
-rw------- 1 merlin merlin    4229 Jul  3 08:31 000003.log
-rw------- 1 merlin merlin 3756884 May 12 17:36 022749.log
-rw------- 1 merlin merlin 2155322 May 12 14:56 022753.ldb
-rw------- 1 merlin merlin 2192607 May 12 14:56 022754.ldb
-rw------- 1 merlin merlin 2108647 May 12 14:56 022755.ldb
-rw------- 1 merlin merlin 2136078 May 12 14:56 022756.ldb
-rw------- 1 merlin merlin 2129077 May 12 14:56 022757.ldb
-rw------- 1 merlin merlin 2113558 May 12 14:56 022758.ldb
-rw------- 1 merlin merlin 3008418 May 12 14:56 022759.ldb
-rw------- 1 merlin merlin 2577827 May 12 14:56 022760.ldb
-rw------- 1 merlin merlin 2474728 May 12 14:56 022761.ldb
-rw------- 1 merlin merlin 2538930 May 12 14:56 022762.ldb
-rw------- 1 merlin merlin 2233975 May 12 17:36 022763.ldb
-rw------- 1 merlin merlin 2129588 May 12 17:36 022764.ldb
-rw------- 1 merlin merlin   58698 May 12 17:36 022765.ldb
-rw------- 1 merlin merlin      16 Oct  4  2016 CURRENT
-rw------- 1 merlin merlin       0 Apr  9  2016 LOCK
-rw------- 1 merlin merlin       0 Jul  5 22:31 LOG
-rw------- 1 merlin merlin       0 Jul  5 22:31 LOG.old
-rw------- 1 merlin merlin      23 Jul  3 08:31 MANIFEST-000001
-rw------- 1 merlin merlin    8639 May 12 17:36 MANIFEST-022745
saruman:/var/change/merlin-change/.config/google-chrome-dir/google-chrome-beta/Default/IndexedDB/https_docs.google.com_0.indexeddb.leveldb$ cat CURRENT 
MANIFEST-010814

Looks like the workaround is this?
echo MANIFEST-022745 > CURRENT

Two questions:

1) How does rsync resolve conflicts when a file exists on both sides? Is it possible that you ended up with an older CURRENT and a newer set of MANIFEST files, or the other way around?

2) You mentioned earlier that btrfs has some consistency guarantees. Do you happen to know where I can read about them? I'm most interested in whether it guarantees that a sequence of writes to different files are committed in order, or whether its integrity guarantees are per-file.
Labels: -Pri-3 Pri-2
Status: Available (was: Unconfirmed)
Reproduction steps:

1) Download the attached file and open it using an http server or via a file: URL (I use xdg-open). On my computer, the URL looks like below.
file:///Users/pwnall/Desktop/ bug738961 .html

2) Open the console and wait for the "Database opened" message to show up.

3) Go to chrome://indexeddb-internals and search for  bug738916  to find the path to IndexedDB's leveldb directory. On my computer, the path looks like below.
/Users/pwnall/Library/Application Support/Chromium/Default/IndexedDB/file__0.indexeddb.leveldb

4) Confirm that the directory looks like a leveldb database. The path below will need adjusting.

4a) ls "/Users/pwnall/Library/Application Support/Chromium/Default/IndexedDB/file__0.indexeddb.leveldb"
000003.log	CURRENT		LOCK		LOG		MANIFEST-000001

4b) cat "/Users/pwnall/Library/Application Support/Chromium/Default/IndexedDB/file__0.indexeddb.leveldb/CURRENT"
MANIFEST-000001

5) Close Chrome.

6) Replace CURRENT with an invalid MANIFEST. The below will need adjusting.
echo MANIFEST-000002 > "/Users/pwnall/Library/Application Support/Chromium/Default/IndexedDB/file__0.indexeddb.leveldb/CURRENT"

7) Start Chrome and navigate to the same URL as before. The log should contain output like the following.

[35887:32259:0706/011534.889548:ERROR:leveldb_database.cc(317)] Failed to open LevelDB database from /Users/pwnall/Library/Application Support/Chromium/Default/IndexedDB/file__0.indexeddb.leveldb,IO error: /Users/pwnall/Library/Application Support/Chromium/Default/IndexedDB/file__0.indexeddb.leveldb/MANIFEST-000002: Unable to create sequential file (ChromeMethodBFE: 7::NewSequentialFile::4)
[35887:32259:0706/011534.890437:ERROR:indexed_db_backing_store.cc(1411)] Unable to open backing store, not trying to recover - IO error: /Users/pwnall/Library/Application Support/Chromium/Default/IndexedDB/file__0.indexeddb.leveldb/MANIFEST-000002: Unable to create sequential file (ChromeMethodBFE: 7::NewSequentialFile::4)
[35887:775:0706/011534.991303:INFO:CONSOLE(42)] "Failed to open database", source: file:///Users/pwnall/Desktop/ bug738961 .html (42)
[35887:775:0706/011534.992193:INFO:CONSOLE(43)] "[object DOMException]", source: file:///Users/pwnall/Desktop/ bug738961 .html (43)

The easiest way out of the weird state is to go to the Application tab in Developer Tools and use the Clear Storage option. Only the IndexedDB checkbox needs to be ticked.


The repeated log entries in the original bug report are probably due to the fact that Google Docs retries to open the IndexedDB database forever. Using the workaround described above in a tab with Google Docs open should get the profile unstuck.


The fix is non-trivial due to the many bits that need to be modified.

1) On the Chromium side, MakeIOError should return a Status::NotFound when the error is base::File::Error::FILE_ERROR_NOT_FOUND. This change should be applied in both https://cs.chromium.org/chromium/src/components/leveldb/env_mojo.cc and https://cs.chromium.org/chromium/src/third_party/leveldatabase/env_chromium.cc.

2) On the LevelDB side, leveldb::VersionSet::Recover needs to return Status::Corruption if NewSequentialFile() returns Status::NotFound instead of simply passing the status up, at https://cs.chromium.org/chromium/src/third_party/leveldatabase/src/db/version_set.cc

Alternatively, we could just nuke the database and restart if an I/O error occurs.

Setting the priority back to P2, because this seems like a reasonable corruption case that we get stuck in.

Here is the forgotten  bug738916 .html attachment.
bug738961.html
1.1 KB View Download

Comment 13 by mer...@gmail.com, Jul 6 2017

1) How does rsync resolve conflicts when a file exists on both sides? 
I use rsync -av -SH -P --fuzzy --delete --delete-after --force
This effectively takes the source dir and re-applies it to the destination dir, solving all conflicts so that they are identical at the end.


2) You mentioned earlier that btrfs has some consistency guarantees. 
=> that is a very good question. I'm not sure that this is published outside of reading the source, but I will ask on the mailing list for you and report back (this may take a few days).
It is very possible that its guarantees are so that files are always in some consistent state, but not necessarily all written at the same time, or not at all.

Comment 14 by mer...@gmail.com, Jul 6 2017

Are these yet another problem by the way?
[12140:12170:0705/211714.632613:ERROR:form_field_data.cc(250)] Could not deserialize FormFieldData from pickle
[12140:12170:0705/211714.634818:ERROR:form_field_data.cc(312)] Could not deserialize FormFieldData from pickle
[12140:12174:0705/211720.789235:ERROR:simple_version_upgrade.cc(164)] File structure does not match the disk cache backend.
[12140:12174:0705/211720.789266:ERROR:simple_backend_impl.cc(621)] Simple Cache Backend: wrong file structure on disk: /home/merlin/.config/google-chrome/Default/Service Worker/CacheStorage/28da9c56fde4021055a681112c092453f74d8dd8/2bc8b9da-1a4b-4377-a32b-1a6cf7088030
[12140:12175:0705/211720.789346:ERROR:disk_cache.cc(132)] Unable to create cache
[12140:12174:0705/211720.856730:ERROR:simple_version_upgrade.cc(164)] File structure does not match the disk cache backend.
[12140:12174:0705/211720.856754:ERROR:simple_backend_impl.cc(621)] Simple Cache Backend: wrong file structure on disk: /home/merlin/.config/google-chrome/Default/Service Worker/CacheStorage/28da9c56fde4021055a681112c092453f74d8dd8/2bc8b9da-1a4b-4377-a32b-1a6cf7088030
[12140:12175:0705/211720.856867:ERROR:disk_cache.cc(132)] Unable to create cache

Comment 15 by merlin@google.com, Jul 6 2017

I've Cc'ed you to the message to the btrfs list (which allows anyone to post without subscribing) so that you can clarify the sequence of events in a leveldb record update (I totally guessed and I may be wrong)
Thanks again for looking at all this.

Comment 16 by merlin@google.com, Jul 6 2017

I just realized that I did have sqlite issues at another start a few days ago, and pasted them in the mailing list, but not this bug. I've opened a separate bug for those logs. Can you help make sure it gets into the right queue?
https://bugs.chromium.org/p/chromium/issues/detail?id=739819

Comment 17 by mer...@gmail.com, Jul 6 2017

This seems related to what I'm seeing: https://github.com/google/leveldb/issues/195
Btrfs dev here, I replied to Marc's email on the mailing list but also asking for more details here. From what I can see, LevelDB numbers filenames sequentially, so MANIFEST-010814 and MANIFEST-022745 should be very far apart in time, right? And since MANIFEST only gets updated on every open, that's a lot of Chrome restarts...

Comment 19 by mer...@gmail.com, Jul 7 2017

As discussed on the list, I think I may have ended up with that old CURRENT file after a previous rsync after my chrome profile was one more time non functional after a crash/reboot.
Sadly this also means that I don't have an exact sequence of events of how I got into that state, but I'm happy to pay closer attention next time it happens and give better info.
Cc: -pwnall@chromium.org
Owner: pwnall@chromium.org
Status: Started (was: Available)
I am working on the LevelDB-side fix described in #11. If that fix is accepted, I'll put together the Chromium-side fix as well.
Project Member

Comment 21 by bugdroid1@chromium.org, Jul 12 2017

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

commit c3cf672fff16e8546056e3da9181097d76c91746
Author: Victor Costan <pwnall@chromium.org>
Date: Wed Jul 12 01:34:05 2017

DEPS: Roll src/third_party/leveldatabase/src/ a53934a3a..8415f00ee (2 commits)

The LevelDB update includes better handling for a database corruption
case that can impact IndexedDB.

https://chromium.googlesource.com/external/leveldb.git/+log/a53934a3ae12..8415f00eeedd

$ git log a53934a3a..8415f00ee --date=short --no-merges --format='%ad %ae %s'
2017-07-10 costan leveldb: Report missing CURRENT manifest file as database corruption.
2017-05-23 costan LevelDB: Add WriteBatch::ApproximateSize().

This CL also modifies Chromium's LevelDB environment so file operations
return Status::NotFound when appropriate. This change is needed to pass
a new test case in leveldb_env_test, and for the new corruption handling
to work.

BUG= 738961 
TESTED=leveldb_env_test

Change-Id: I20550877383c34ece318dd1d35024fcd40dc9c15
Reviewed-on: https://chromium-review.googlesource.com/563652
Reviewed-by: Marijn Kruisselbrink <mek@chromium.org>
Commit-Queue: Victor Costan <pwnall@chromium.org>
Cr-Commit-Position: refs/heads/master@{#485775}
[modify] https://crrev.com/c3cf672fff16e8546056e3da9181097d76c91746/DEPS
[modify] https://crrev.com/c3cf672fff16e8546056e3da9181097d76c91746/components/leveldb/env_mojo.cc
[modify] https://crrev.com/c3cf672fff16e8546056e3da9181097d76c91746/third_party/leveldatabase/env_chromium.cc

Status: Fixed (was: Started)
The CL above should take care of this issue. Thank you very much for the thorough information in the bug report!

Sign in to add a comment