password manager issues invalid sql statements when trying to read an too new database |
|||
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()
,
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?
,
Aug 22 2016
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.
,
Aug 22 2016
Fix is here: https://codereview.chromium.org/2265103002 I'm going to figure out how deep it needs to be merged.
,
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.
,
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
,
Aug 22 2016
|
|||
►
Sign in to add a comment |
|||
Comment 1 by vabr@chromium.org
, Aug 22 2016