Closed Bug 12017 Opened 25 years ago Closed 25 years ago

[PP] [MORK] assert on exit when using IMAP on the mac

Categories

(MailNews Core :: Database, defect, P3)

PowerPC
Mac System 8.5
defect

Tracking

(Not tracked)

VERIFIED DUPLICATE of bug 13983

People

(Reporter: sspitzer, Assigned: davidmc)

Details

here's the stack.

I've seen it happen to mscott, as well.


  00000000    PPC  0C870D88
  0D444200    PPC  0C87017C  main+00060
  0D4441B0    PPC  0C86F9E4  main1(int, char**)+00E98
  0D444010    PPC  0D685E64  nsAppShellService::Shutdown()+00034
  0D443F60    PPC  0D6859D4  nsAppShellService::EnumerateComponents(void
(nsAppShellService::
*)(const void*, void*, const nsID&))+00200
  0D443ED0    PPC  0D685CD8  nsAppShellService::ShutdownComponent(const nsID&)+
00054
  0D443E80    PPC  0C7901F8  nsMessengerBootstrap::Shutdown()+00044
  0D443E30    PPC  0D6CEEE8  nsServiceManager::UnregisterService(const char*)+
00044
  0D443DE0    PPC  0D6CE4C4  nsServiceManagerImpl::UnregisterService(const char*
)+00050
  0D443D90    PPC  0D6CE32C  nsServiceManagerImpl::UnregisterService(const nsID&
)+000A0
  0D443D20    PPC  0D6C9074  nsObjectHashtable::RemoveAndDelete(nsHashKey*)+00054
  0D443CD0    PPC  0D6CD75C  DeleteEntry(nsHashKey*, void*, void*)+0002C
  0D443C90    PPC  0C769488  nsMsgMailSession::Release()+00070
  0D443C50    PPC  0C769778  nsMsgMailSession::~nsMsgMailSession()+00050
  0D443C10    PPC  0C777A34
nsMsgAccountManager::WriteToFolderCache(nsIMsgFolderCache*)+0002
8
  0D443BD0    PPC  0D6C85F8  nsHashtable::Enumerate(int (*)(nsHashKey*, void*,
void*), void*)
+0003C
  0D443B90    PPC  0D7547BC  PL_HashTableEnumerateEntries+00060
  0D443B20    PPC  0D6C7E38  _hashEnumerate(PLHashEntry*, int, void*)+00030
  0D443AE0    PPC  0C776E14
nsMsgAccountManager::hashTableWriteFolderCache(nsHashKey*, void*
, void*)+00098
  0D443A80    PPC  0BA04AA4
nsMsgIncomingServer::WriteToFolderCache(nsIMsgFolderCache*)+000C
8
  0D443A20    PPC  0BA0C828  nsMsgDBFolder::WriteToFolderCache(nsIMsgFolderCache*
)+002D0
  0D443970    PPC  0BA0C828  nsMsgDBFolder::WriteToFolderCache(nsIMsgFolderCache*
)+002D0
  0D4438C0    PPC  0BA0C5AC  nsMsgDBFolder::WriteToFolderCache(nsIMsgFolderCache*
)+00054
  0D443810    PPC  0B9ACDB8  nsImapMailFolder::GetSubFolders(nsIEnumerator**)+
0005C
  0D443740    PPC  0B9ABE40  nsImapMailFolder::GetPath(nsIFileSpec**)+00084
  0D4436F0    PPC  0B9F8F38  nsImapURI2Path(const char*, const char*, nsFileSpec&
)+00294
  0D4434A0    PPC  0B9F8908  nsGetImapServer(const char*, const char*,
nsIMsgIncomingServer**
)+00068
  0D4433F0    PPC  0D6CE988  nsServiceManager::GetService(const nsID&, const
nsID&, nsISuppor
ts**, nsIShutdownListener*)+0005C
  0D4433A0    PPC  0D6CDD64  nsServiceManagerImpl::GetService(const nsID&, const
nsID&, nsISu
pports**, nsIShutdownListener*)+00118
  0D443310    PPC  0D6C7018  nsComponentManager::CreateInstance(const nsID&,
nsISupports*, co
nst nsID&, void**)+00060
  0D4432C0    PPC  0D6DE078  nsComponentManagerImpl::CreateInstance(const nsID&,
nsISupports*
, const nsID&, void**)+000D0
  0D443260    PPC  0C767C44  nsMsgFactory::CreateInstance(nsISupports*, const
nsID&, void**)+
002A0
  0D4431D0    PPC  0C76A918  NS_NewMsgMailSession+00074
  0D443180    PPC  0C769BB4  nsMsgMailSession::Init()+00318
  0D443040    PPC  0C79E554  nsMsgFolderCache::Init(nsIFileSpec*)+0009C
  0D442FF0    PPC  0C79E41C  nsMsgFolderCache::OpenMDB(const char*, int)+00548
  0D442C80    PPC  0C60B158  orkinFactory::CreateNewFileStore(nsIMdbEnv*,
nsIMdbHeap*, const
char*, const mdbOpenPolicy*, nsIMdbStore**)+00100
  0D442C10    PPC  0C634D48  morkStore::CreateStoreFile(morkEnv*, const char*,
const mdbOpenP
olicy*)+00054
  0D442BC0    PPC  0C620FAC  morkFile::CreateNewFile(morkEnv*, nsIMdbHeap*, const
char*)+0002
4
  0D442B80    PPC  0C6217F8  morkStdioFile::CreateNewStdioFile(morkEnv*,
nsIMdbHeap*, const c
har*)+00070
  0D442B30    PPC  0C6223DC  morkStdioFile::morkStdioFile(morkEnv*, const
morkUsage&, nsIMdbH
eap*, nsIMdbHeap*, const char*, const char*)+00074
  0D442AF0    PPC  0C622564  morkStdioFile::OpenStdio(morkEnv*, const char*,
const char*)+001
04
  0D442A90    PPC  0C622304  morkStdioFile::new_stdio_file_fault(morkEnv*) const+
00050
  0D442A40    PPC  0C6213C4  morkFile::NewFileErrnoError(morkEnv*) const+00030
  0D442A00    PPC  0C62015C  morkEnv::NewError(const char*)+00020
  0D4429C0    PPC  0C61F0F8  mork_assertion_signal(const char*)+00024
  0D442980    PPC  0D6C98F8  nsDebug::Assertion(const char*, const char*, const
char*, int)+0
0040
This means fopen() failed; you need to check errno, using prerror() or

strerror(), or just look in morkFile::NewFileErrnoError().  When this happened to

Chris Waterson, the reason was that he had not closed the file stream used to

read the first 512 bytes, so it was still open when Mork tried to re-open it.  If

this is not the reason in this case, then it is most likely still open for some

other reason -- perhaps because that particular db was already open as a store

for some reason.  I expect I can take no further action on this bug, since it

must be unintentional pilot error to re-open a file when it is already open; so

the logic for why this is wrong is somewhere above Mork.  I can look at the usage

point to see whether the NSPR file stream is opened in it's own block, to ensure

it gets closed immediately after reading the first 512 bytes.  Howeve, since I am

very soon going to check in file changes that remove that sequence of events when

opening a db file, that seems like a waste of time.
Seth - do you still have this problem?
Move milestone stoppers to M10
Status: NEW → RESOLVED
Closed: 25 years ago
Resolution: --- → DUPLICATE
this is a dup of a fixed bug.

*** This bug has been marked as a duplicate of 13983 ***
Status: RESOLVED → VERIFIED
I'll have to trust david that this is a duplicate since I'm not running debug
builds :-)

I'll mark verified as a duplicate.  If anyone disagrees, pls reopen. Thanks.
Product: MailNews → Core
Product: Core → MailNews Core
You need to log in before you can comment on or make changes to this bug.