Log spamming with cookie sqlite, disk I/O errors
Reported by
rikebenj...@googlemail.com,
May 26 2016
|
|||
Issue descriptionUserAgent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.94 Safari/537.36 Steps to reproduce the problem: 1. Use an nfsv4-based home directories 2. Start Chromium, wait 3. Look into journalctl (or /var/log/) and find tens of thousands of messages What is the expected behavior? Find far fewer messages What went wrong? The most popular messages are: $ journalctl -f -- Logs begin at Fri 2016-04-22 13:42:48 CEST. -- May 26 14:12:25 computer chromium.desktop[4100]: [4100:4124:0526/141225:ERROR:connection.cc(1919)] Cookie sqlite error 3850, errno 5: disk I/O error, sql: UPDATE cookies SET last_access_utc=? WHERE creation_utc=? May 26 14:12:25 computer chromium.desktop[4100]: [4100:4124:0526/141225:ERROR:connection.cc(1919)] Cookie sqlite error 3850, errno 5: disk I/O error, sql: UPDATE cookies SET last_access_utc=? WHERE creation_utc=? May 26 14:12:25 computer chromium.desktop[4100]: [4100:4124:0526/141225:ERROR:connection.cc(1919)] Cookie sqlite error 3850, errno 5: disk I/O error, sql: UPDATE cookies SET last_access_utc=? WHERE creation_utc=? May 26 14:12:25 computer chromium.desktop[4100]: [4100:4124:0526/141225:ERROR:connection.cc(1919)] Cookie sqlite error 3850, errno 5: disk I/O error, sql: UPDATE cookies SET last_access_utc=? WHERE creation_utc=? May 26 14:12:25 computer chromium.desktop[4100]: [4100:4124:0526/141225:ERROR:connection.cc(1919)] Cookie sqlite error 3850, errno 5: disk I/O error, sql: UPDATE cookies SET last_access_utc=? WHERE creation_utc=? May 26 14:12:25 computer chromium.desktop[4100]: [4100:4124:0526/141225:ERROR:connection.cc(1919)] Cookie sqlite error 1, errno 5: cannot commit - no transaction is active, sql: COMMIT May 26 14:12:28 computer chromium.desktop[4100]: [4100:4144:0526/141228:ERROR:connection.cc(1919)] DOMStorageDatabase sqlite error 3850, errno 5: disk I/O error, sql: INSERT INTO ItemTable VALUES (?,?) May 26 14:12:28 computer chromium.desktop[4100]: [4100:4144:0526/141228:ERROR:connection.cc(1919)] DOMStorageDatabase sqlite error 3850, errno 5: disk I/O error, sql: INSERT INTO ItemTable VALUES (?,?) May 26 14:12:28 computer chromium.desktop[4100]: [4100:4144:0526/141228:ERROR:connection.cc(1919)] DOMStorageDatabase sqlite error 3850, errno 5: disk I/O error, sql: INSERT INTO ItemTable VALUES (?,?) May 26 14:12:28 computer chromium.desktop[4100]: [4100:4144:0526/141228:ERROR:connection.cc(1919)] DOMStorageDatabase sqlite error 1, errno 5: cannot commit - no transaction is active, sql: COMMIT And to give an impression about the extend of the problem: $ journalctl --since "1 hours ago" | grep chromium.desktop | grep -i sqlite | wc -l 43974 Did this work before? N/A Chrome version: 50.0.2661.94 Channel: stable OS Version: Debian 8.4 Flash Version: Shockwave Flash 21.0 r0 I know that sqlite should not be used on nfs in some circumstances. I don’t know if this is one of those situations.
,
May 27 2016
Issue 612989 involved a regression which caused the Cookies database to be updated much more frequently than it should be (specifically for last_access_utc, too). It landed in M-50, and is fixed in M-51 and forward. This should reduce Cookie updates by something like an order of magnitude (back to what was in place for M-49 and earlier). Using nfsv4 for profile data is a _really_ bad idea, Chromium has very little provision for dealing with the problems it can cause. We do attempt to lock the profile in a way which restricts access to a single host at a time, so the worst-case scenarios shouldn't apply, but I would not be at all surprised if nfs could result in corruption even accessed from a single host. I'd be very very nervous about depending on that kind of setup. A common hack within Google engineering was to shift your profile to local disk if you had an NFS-mount homedir. "sqlite error 3850" is SQLITE_IOERR_LOCK, I think errno 5 is EIO. This seems consistent with something going wrong at the NFS level.
,
May 31 2016
,
Jun 10 2016
Yes, M-51 seems to have decreased the number of log messages. But obviously, the still occur. I will probably have to think about setting up a different network layout. It’s tricky though, when everyone in the workgroup has grown used to having their homes on a shared nfs drive.
,
Jun 13 2016
OK, I'm going to mark this fixed, then. I feel for you on the network-share issue. It is convenient to set things up that way! Unfortunately, it's also a challenge to write software to work in that environment. As I noted in comment #2, we do try to set things up so that simultaneous profile use over NFS should throw an error, even on different hosts, but your error sounds like something else entirely. Like NFS is refusing to support POSIX fnctl()-style file locking or something. Since it's Linux, you maybe could easily check whether the sqlite3 command-line throws similar errors on your NFS mounts? Also, it might be worthwhile to see if the NFS server daemon (or host) is logging error messages. |
|||
►
Sign in to add a comment |
|||
Comment 1 by nhar...@chromium.org
, May 26 2016