New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 639803 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
hobby only
Closed: Aug 2016
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Bug



Sign in to add a comment

password manager issues invalid sql statements when trying to read an too new database

Project Member Reported by jochen@chromium.org, Aug 22 2016

Issue description

[90722:90764:0822/132552:ERROR:login_database.cc(419)] Password store database is too new, kCurrentVersionNumber=17, GetCompatibleVersionNumber=18
[90722:90764:0822/132552:FATAL:statement.cc(52)] Cannot call mutating statements on an invalid statement.
#0 0x7fa5f4dd792e base::debug::StackTrace::StackTrace()
#1 0x7fa5f4e3acbf logging::LogMessage::~LogMessage()
#2 0x7fa5f25b5bfb sql::Statement::CheckValid()
#3 0x7fa5f25b5c72 sql::Statement::StepInternal()
#4 0x7fa5f25b6136 sql::Statement::RunWithoutTimers()
#5 0x7fa5f259dcad sql::Connection::DoRollback()
#6 0x7fa5f259dc00 sql::Connection::RollbackTransaction()
#7 0x7fa5f25b8dfa sql::Transaction::~Transaction()
#8 0x7fa5f73eacc7 password_manager::LoginDatabase::Init()
#9 0x7fa5f7446adf password_manager::PasswordStoreDefault::InitOnDBThread()

 

Comment 1 by vabr@chromium.org, Aug 22 2016

Thanks, Jochen.

If you happened to know the Chrome version / source revision with which you experienced this issue, please post it here.

Comment 2 by vabr@chromium.org, Aug 22 2016

And while you are at it, platform would be useful as well, there is some OS-dependent code around login_database.cc. If on Linux, was Chrome using Gnome or KDE, or none of those?

Comment 3 by vabr@chromium.org, Aug 22 2016

Status: Started (was: Assigned)
I see the problem: LoginDatabase::Init calls Close() on a DB connection, while the associated transaction tries to perform a rollback on it later. :(
Will upload a patch soon.

Comment 4 by vabr@chromium.org, Aug 22 2016

Fix is here: https://codereview.chromium.org/2265103002

I'm going to figure out how deep it needs to be merged.

Comment 5 by vabr@chromium.org, Aug 22 2016

Interesting, this seems to be in the code since at least 2010: https://codereview.chromium.org/1700017.

In that case, I won't merge it at all.
Project Member

Comment 6 by bugdroid1@chromium.org, Aug 22 2016

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

commit 7bdd9928d167b3de18f68219a3ea0b817cb99ad3
Author: vabr <vabr@chromium.org>
Date: Mon Aug 22 17:14:13 2016

LoginDatabase::Init: rollback before closing a DB

Currently, LoginDatabase::Init closes its sql::Connection on error. It also
uses an sql::Transaction to roll back changes made so far. Unfortunately, it
does so in the wrong order.

This CL fixes that and adds a test for it.

BUG= 639803 

Review-Url: https://codereview.chromium.org/2265103002
Cr-Commit-Position: refs/heads/master@{#413460}

[modify] https://crrev.com/7bdd9928d167b3de18f68219a3ea0b817cb99ad3/components/password_manager/core/browser/login_database.cc
[modify] https://crrev.com/7bdd9928d167b3de18f68219a3ea0b817cb99ad3/components/password_manager/core/browser/login_database_unittest.cc

Comment 7 by vabr@chromium.org, Aug 22 2016

Status: Fixed (was: Started)

Sign in to add a comment