DynamoRIO / DynamoRIO/drmemory

still seeing bad callstacks: sql.dll!randomByte w/ no sqlite3 frame

Open
#1,514 0 comments 0 reactions 0 assignees View on GitHub
Component-UI Migrated Priority-Medium
Dominant language
C
Stars
2.7k
Forks
290
PR merge metrics
No merged PRs in 30d

Description

_From [bruen...@google.com](https://code.google.com/u/109494838902877177630/) on April 05, 2014 09:17:25_

I'm still seeing scattered instances of randomByte but with skipped frames
such that the suppression, which looks for _!sqlite3_, does not match,
just like in issue #851:

***\* TODO instance `#1`

Is the leveldb frame bogus?
const uint64_t start_micros = env_->NowMicros(); http://build.chromium.org/p/chromium.memory.fyi/builders/Windows%20Unit%20%28DrMemory%20full%29%20%284%29/builds/775/steps/memory%20test%3A%20unit_1/logs/stdio [ RUN ] HistoryQueryTest.TextSearchPaging
~~2820~~
~~2820~~ Error `#1`: UNINITIALIZED READ: reading register eax
~~2820~~ # 0 sql.dll!randomByte [third_party\sqlite\amalgamation\sqlite3.c:19610]
~~2820~~ # 1 leveldb::DBImpl::WriteLevel0Table [third_party\leveldatabase\src\db\db_impl.cc:460]
~~2820~~ # 2 history::HistoryDatabase::Init [chrome\browser\history\history_database.cc:85]
~~2820~~ # 3 history::HistoryBackend::InitImpl [chrome\browser\history\history_backend.cc:574]
~~2820~~ # 4 history::HistoryBackend::Init [chrome\browser\history\history_backend.cc:203]
~~2820~~ # 5 base::internal::Invoker<>::Run [base\bind_internal.h:1383]
~~2820~~ # 6 base.dll!base::MessageLoop::RunTask [base\message_loop\message_loop.cc:449]
~~2820~~ # 7 base.dll!base::MessageLoop::DeferOrRunPendingTask [base\message_loop\message_loop.cc:461]
~~2820~~ # 8 base.dll!base::MessageLoop::DoWork [base\message_loop\message_loop.cc:575]
~~2820~~ # 9 base.dll!base::MessagePumpDefault::Run [base\message_loop\message_pump_default.cc:32]
~~2820~~ `#10` base.dll!base::MessageLoop::RunHandler [base\message_loop\message_loop.cc:399]
~~2820~~ `#11` base.dll!base::Thread::Run [base\threading\thread.cc:172]
~~2820~~ `#12` base.dll!base::Thread::ThreadMain [base\threading\thread.cc:225]
~~2820~~ `#13` base.dll!base::`anonymous namespace'::ThreadFunc [base\threading\platform_thread_win.cc:78]
\~~2820~~`#14`KERNEL32.dll!BaseThreadInitThunk +0x11 (0x762d336a \)
\~~2820~~ Note: @0:08:09.323 in thread 2820
\~~2820~~ Note: instruction: movzx 0x6c8ddd1b(%eax) -> %eax
\~~2820~~
\~~2820~~ Error`#2`: UNINITIALIZED READ: reading register eax
\~~2820~~ # 0 sql.dll!randomByte [third_party\sqlite\amalgamation\sqlite3.c:19614]
\~~2820~~ # 1 leveldb::DBImpl::WriteLevel0Table [third_party\leveldatabase\src\db\db_impl.cc:460]
\~~2820~~ # 2 history::HistoryDatabase::Init [chrome\browser\history\history_database.cc:85]
\~~2820~~ # 3 history::HistoryBackend::InitImpl [chrome\browser\history\history_backend.cc:574]
\~~2820~~ # 4 history::HistoryBackend::Init [chrome\browser\history\history_backend.cc:203]
\~~2820~~ # 5 base::internal::Invoker<>::Run [base\bind_internal.h:1383]
\~~2820~~ # 6 base.dll!base::MessageLoop::RunTask [base\message_loop\message_loop.cc:449]
\~~2820~~ # 7 base.dll!base::MessageLoop::DeferOrRunPendingTask [base\message_loop\message_loop.cc:461]
\~~2820~~ # 8 base.dll!base::MessageLoop::DoWork [base\message_loop\message_loop.cc:575]
\~~2820~~ # 9 base.dll!base::MessagePumpDefault::Run [base\message_loop\message_pump_default.cc:32]
\~~2820~~`#10`base.dll!base::MessageLoop::RunHandler [base\message_loop\message_loop.cc:399]
\~~2820~~`#11`base.dll!base::Thread::Run [base\threading\thread.cc:172]
\~~2820~~`#12`base.dll!base::Thread::ThreadMain [base\threading\thread.cc:225]
\~~2820~~`#13`base.dll!base::`anonymous namespace'::ThreadFunc [base\threading\platform_thread_win.cc:78]
~~2820~~ `#14` KERNEL32.dll!BaseThreadInitThunk +0x11 (0x762d336a )
~~2820~~ Note: @0:08:09.323 in thread 2820
~~2820~~ Note: instruction: mov %dl -> 0x6c8ddd1b(%eax)
[ OK ] HistoryQueryTest.TextSearchPaging (858 ms)

native windbg breaking in randomByte on this test on kraken shows a _lot_
of frames in between:

0:002> kn
# ChildEBP RetAddr
00 080bf4bc 6baf07f7 sql!randomByte [e:\derek\chromium\src\third_party\sqlite\amalgamation\sqlite3.c @ 19560]
01 080bf4d0 6bb3f018 sql!sqlite3_randomness+0x27 [e:\derek\chromium\src\third_party\sqlite\amalgamation\sqlite3.c @ 19626]
02 080bf4ec 6bb0d9bf sql!writeJournalHdr+0xb8 [e:\derek\chromium\src\third_party\sqlite\amalgamation\sqlite3.c @ 37825]
03 080bf504 6bb0e18c sql!pager_open_journal+0xbf [e:\derek\chromium\src\third_party\sqlite\amalgamation\sqlite3.c @ 41631]
04 080bf524 6bb2741f sql!pager_write+0x3c [e:\derek\chromium\src\third_party\sqlite\amalgamation\sqlite3.c @ 41771]
05 080bf550 6bb0c302 sql!sqlite3PagerWrite+0x17f [e:\derek\chromium\src\third_party\sqlite\amalgamation\sqlite3.c @ 41967]
06 080bf568 6bb163c2 sql!newDatabase+0x22 [e:\derek\chromium\src\third_party\sqlite\amalgamation\sqlite3.c @ 49583]
07 080bf580 6bb32731 sql!sqlite3BtreeBeginTrans+0x112 [e:\derek\chromium\src\third_party\sqlite\amalgamation\sqlite3.c @ 49713]
08 080bf6b0 6bb2ced2 sql!sqlite3VdbeExec+0x2591 [e:\derek\chromium\src\third_party\sqlite\amalgamation\sqlite3.c @ 65155]
09 080bf6d0 6baf26ca sql!sqlite3Step+0xc2 [e:\derek\chromium\src\third_party\sqlite\amalgamation\sqlite3.c @ 60748]
0a 080bf6ec 6baecf0a sql!sqlite3_step+0x3a [e:\derek\chromium\src\third_party\sqlite\amalgamation\sqlite3.c @ 60815]
0b 080bf720 6bae34db sql!sqlite3_exec+0xda [e:\derek\chromium\src\third_party\sqlite\amalgamation\sqlite3.c @ 86385]
0c 080bf740 6bae3484 sql!sql::Connection::ExecuteAndReturnErrorCode+0x2b [e:\derek\chromium\src\sql\connection.cc @ 659]
0d 080bf754 6bae6f62 sql!sql::Connection::Execute+0x24 [e:\derek\chromium\src\sql\connection.cc @ 668]
0e 080bf7a4 028b353e sql!sql::MetaTable::Init+0x82 [e:\derek\chromium\src\sql\meta_table.cc @ 131]
0f 080bf7f8 028ab93b unit_tests!history::HistoryDatabase::Init+0xfe [e:\derek\chromium\src\chrome\browser\history\history_database.cc @ 85]
10 080bfa60 028ab65f unit_tests!history::HistoryBackend::InitImpl+0x1ab [e:\derek\chromium\src\chrome\browser\history\history_backend.cc @ 575]
11 080bfa94 02b9f939 unit_tests!history::HistoryBackend::Init+0x3f [e:\derek\chromium\src\chrome\browser\history\history_backend.cc @ 204]

***\* TODO instance `#2`

I ran this test 100x in a loop and could not repro:

[ RUN ] ProfileSyncServiceAutofillTest.ProcessUserChangeUpdateEntry
~~3292~~
~~3292~~ Error `#1`: UNINITIALIZED READ: reading register eax
~~3292~~ # 0 sql.dll!randomByte [third_party\sqlite\amalgamation\sqlite3.c:19610]
~~3292~~ # 1 SessionServiceTest_RestoreActivation2_Test::TestBody [chrome\browser\sessions\session_service_unittest.cc:1025]
~~3292~~ # 2 sync.dll!syncer::syncable::DirectoryBackingStore::SaveChanges [sync\syncable\directory_backing_store.cc:254]
~~3292~~ # 3 sync.dll!syncer::syncable::Directory::SaveChanges [sync\syncable\directory.cc:505]
~~3292~~ # 4 sync.dll!syncer::syncable::Directory::OpenImpl [sync\syncable\directory.cc:179]
~~3292~~ # 5 sync.dll!syncer::syncable::Directory::Open [sync\syncable\directory.cc:115]
~~3292~~ # 6 sync.dll!syncer::SyncManagerImpl::OpenDirectory [sync\internal_api\sync_manager_impl.cc:527]
~~3292~~ # 7 sync.dll!syncer::SyncManagerImpl::Init [sync\internal_api\sync_manager_impl.cc:383]
~~3292~~ # 8 browser_sync::SyncBackendHostCore::DoInitialize [chrome\browser\sync\glue\sync_backend_host_core.cc:392]
~~3292~~ # 9 base::internal::RunnableAdapter<>::Run [base\bind_internal.h:190]
~~3292~~ Note: @0:17:00.542 in thread 3292
~~3292~~ Note: instruction: movzx 0x6c1ddd1b(%eax) -> %eax
~~3292~~
~~3292~~ Error `#2`: UNINITIALIZED READ: reading register eax
~~3292~~ # 0 sql.dll!randomByte [third_party\sqlite\amalgamation\sqlite3.c:19614]
~~3292~~ # 1 SessionServiceTest_RestoreActivation2_Test::TestBody [chrome\browser\sessions\session_service_unittest.cc:1025]
~~3292~~ # 2 sync.dll!syncer::syncable::DirectoryBackingStore::SaveChanges [sync\syncable\directory_backing_store.cc:254]
~~3292~~ # 3 sync.dll!syncer::syncable::Directory::SaveChanges [sync\syncable\directory.cc:505]
~~3292~~ # 4 sync.dll!syncer::syncable::Directory::OpenImpl [sync\syncable\directory.cc:179]
~~3292~~ # 5 sync.dll!syncer::syncable::Directory::Open [sync\syncable\directory.cc:115]
~~3292~~ # 6 sync.dll!syncer::SyncManagerImpl::OpenDirectory...

_Original issue: http://code.google.com/p/drmemory/issues/detail?id=1514_

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.