crash [@ nsAddrDatabase::GetRowForCharColumn(unsigned short const*, unsigned int, int, int, nsIMdbRow**, int*)] handling whitelist

RESOLVED DUPLICATE of bug 526047

Status

MailNews Core
Address Book
--
critical
RESOLVED DUPLICATE of bug 526047
8 years ago
7 years ago

People

(Reporter: wsmwk, Unassigned)

Tracking

({crash})

Firefox Tracking Flags

(Not tracked)

Details

(crash signature)

(Reporter)

Description

8 years ago
crash [@ nsAddrDatabase::GetRowForCharColumn(unsigned short const*, unsigned int, int, int, nsIMdbRow**, int*)]

#29 crash for v3.0.3. not a new crash, but up substantially from #108 in v3.0.1
several that I looked at are about whitelist - but I can't see that all the crashes are.

crashes every time when i try to run junkmail control on inbox
bp-1fa45045-4dfe-4031-aeec-eeece2100303
0	thunderbird.exe	nsAddrDatabase::GetRowForCharColumn	 mailnews/addrbook/src/nsAddrDatabase.cpp:3254
1	thunderbird.exe	nsAddrDatabase::GetRowFromAttribute	mailnews/addrbook/src/nsAddrDatabase.cpp:3024
2	thunderbird.exe	nsAddrDatabase::GetCardFromAttribute	mailnews/addrbook/src/nsAddrDatabase.cpp:3038
3	thunderbird.exe	nsAbMDBDirectory::CardForEmailAddress	mailnews/addrbook/src/nsAbMDBDirectory.cpp:1090
4	thunderbird.exe	nsSpamSettings::CheckWhiteList	mailnews/base/src/nsSpamSettings.cpp:907
5	xpcom_core.dll	NS_InvokeByIndex_P	xpcom/reflect/xptcall/src/md/win32/xptcinvoke.cpp:101
6	thunderbird.exe	XPCWrappedNative::CallMethod	js/src/xpconnect/src/xpcwrappednative.cpp:2297 


probably nothing to see with it but thunderbird had corrupted my address book, so I tried to correct it but at the next start, TB crashed
bp-481f032f-50ea-4df9-9e09-7ce862100126 has an email address if we need a testcase

bp-f1d11223-cca0-49d2-a422-d74222100310 has an email address if we need a testcase

Comment 1

8 years ago
The crashing line:

m_mdbPabTable->GetTableRowCursor(m_mdbEnv, rowPos, getter_AddRefs(rowCursor));

has no prior guarantee that m_mdbPabTable exists, so it is possible that a simple null check would solve this. But I don't know much about the address book database. But most methods there do check for null, so I am guessing there is a history of crashes here, and really all routines should check.

It would probably be worth adding null checks to all of the routines at the same time.
(Reporter)

Updated

8 years ago
Status: NEW → RESOLVED
Last Resolved: 8 years ago
Resolution: --- → DUPLICATE
Duplicate of bug: 526047
(Assignee)

Updated

7 years ago
Crash Signature: [@ nsAddrDatabase::GetRowForCharColumn(unsigned short const*, unsigned int, int, int, nsIMdbRow**, int*)]
You need to log in before you can comment on or make changes to this bug.