Closed Bug 4845 Opened 26 years ago Closed 25 years ago

FMW: nsSocketTransport::Open()

Categories

(MailNews Core :: Networking, defect, P3)

Sun
Solaris
defect

Tracking

(Not tracked)

VERIFIED FIXED

People

(Reporter: bruce, Assigned: mscott)

Details

Pull/build from April 8, 1999. I had a local mailbox and clicked on a message in it and got this error. Solaris 2.6, gcc 2.7.2.3, purify. Looked like nsMailboxService::ParseMailbox() was creating the nsSocketTransport object, but before it was done loading the URL, it got freed, and then bad things happened. **** Purify instrumented ./apprunner.pure (pid 20364) **** FMW: Free memory write: * This is occurring while in: nsSocketTransport::Open(nsIURL*) [nsSocketTransport.cpp:126] nsMailboxProtocol::LoadURL(nsIURL*,nsISupports*) [nsMailboxProtocol.cpp:431] nsMailboxService::ParseMailbox(const nsFileSpec&,nsIStreamListener*,nsIUrlListener*,nsIURL**) [nsMailboxService.cpp:71] nsMsgLocalMailFolder::ParseFolder(nsFileSpec&) [nsLocalMailFolder.cpp:215] nsMsgLocalMailFolder::GetDatabase() [nsLocalMailFolder.cpp:362] nsMsgLocalMailFolder::GetMessages(nsIEnumerator**) [nsLocalMailFolder.cpp:375] nsMSGFolderDataSource::ArcLabelsOut(nsIRDFResource*,nsIRDFArcsOutCursor**) [nsMSGFolderDataSource.cpp:683] DBArcsInOutCursor::DBArcsInOutCursor(CompositeDataSourceImpl*,nsIRDFNode*,int) [nsCompositeDataSource.cpp:253] CompositeDataSourceImpl::ArcLabelsOut(nsIRDFResource*,nsIRDFArcsOutCursor**) [nsCompositeDataSource.cpp:907] RDFGenericBuilderImpl::CreateContents(nsIContent*) [nsRDFGenericBuilder.cpp:478] XULDocumentImpl::CreateContents(nsIContent*) [nsXULDocument.cpp:2088] RDFElementImpl::EnsureContentsGenerated()const [nsRDFElement.cpp:2394] RDFElementImpl::ChildAt(int,nsIContent*&)const [nsRDFElement.cpp:1414] RDFElementImpl::GetFirstChild(nsIDOMNode**) [nsRDFElement.cpp:598] nsWebShellWindow::LoadSubMenu(nsIMenu*,nsIDOMElement*,nsIDOMNode*) [nsWebShellWindow.cpp:594] nsWebShellWindow::CreateMenu(nsIMenuBar*,nsIDOMNode*,nsString&) [nsWebShellWindow.cpp:485] nsWebShellWindow::LoadMenus(nsIDOMDocument*,nsIWidget*) [nsWebShellWindow.cpp:661] nsWebShellWindow::OnEndDocumentLoad(nsIURL*,int) [nsWebShellWindow.cpp:892] nsWebShell::OnEndDocumentLoad(nsIURL*,int) [nsWebShell.cpp:2205] nsDocLoaderImpl::FireOnEndDocumentLoad(int) [nsDocLoader.cpp:1286] nsDocLoaderImpl::FireOnEndDocumentLoad(int) [nsDocLoader.cpp:1293] nsDocLoaderImpl::LoadURLComplete(nsIURL*,nsISupports*,int) [nsDocLoader.cpp:1442] nsDocumentBindInfo::OnStopBinding(nsIURL*,unsigned int,const unsigned short*) [nsDocLoader.cpp:2004] stub_complete(_NET_StreamClass*) [nsStubContext.cpp:765] net_ProcessFile [mkfile.c:1356] NET_ProcessNet [mkgeturl.c:3355] NET_PollSockets [mkselect.c:298] nsNetlibService::NetPollSocketsCallback(nsITimer*,void*) [nsNetService.cpp:1277] TimerImpl::FireTimeout() [nsTimer.cpp:73] nsTimerExpired [nsTimer.cpp:189] * Writing 4 bytes to 0x218f44 in the heap. * Address 0x218f44 is 20 bytes into a freed block at 0x218f30 of 1088 bytes. * This block was allocated from: malloc [rtlib.o] __bUiLtIn_nEw [libgcc.a] __builtin_new [rtlib.o] nsNetlibService::CreateFileSocketTransport(nsITransport**,const char*) [nsNetService.cpp:1127] nsMailboxProtocol::Initialize(nsIURL*) [nsMailboxProtocol.cpp:119] nsMailboxProtocol::nsMailboxProtocol(nsIURL*) [nsMailboxProtocol.cpp:73] nsMailboxService::ParseMailbox(const nsFileSpec&,nsIStreamListener*,nsIUrlListener*,nsIURL**) [nsMailboxService.cpp:69] nsMsgLocalMailFolder::ParseFolder(nsFileSpec&) [nsLocalMailFolder.cpp:215] nsMsgLocalMailFolder::GetDatabase() [nsLocalMailFolder.cpp:362] nsMsgLocalMailFolder::GetMessages(nsIEnumerator**) [nsLocalMailFolder.cpp:375] nsMSGFolderDataSource::ArcLabelsOut(nsIRDFResource*,nsIRDFArcsOutCursor**) [nsMSGFolderDataSource.cpp:683] DBArcsInOutCursor::DBArcsInOutCursor(CompositeDataSourceImpl*,nsIRDFNode*,int) [nsCompositeDataSource.cpp:253] CompositeDataSourceImpl::ArcLabelsOut(nsIRDFResource*,nsIRDFArcsOutCursor**) [nsCompositeDataSource.cpp:907] RDFGenericBuilderImpl::CreateContents(nsIContent*) [nsRDFGenericBuilder.cpp:478] XULDocumentImpl::CreateContents(nsIContent*) [nsXULDocument.cpp:2088] RDFElementImpl::EnsureContentsGenerated()const [nsRDFElement.cpp:2394] RDFElementImpl::ChildAt(int,nsIContent*&)const [nsRDFElement.cpp:1414] RDFElementImpl::GetFirstChild(nsIDOMNode**) [nsRDFElement.cpp:598] nsWebShellWindow::LoadSubMenu(nsIMenu*,nsIDOMElement*,nsIDOMNode*) [nsWebShellWindow.cpp:594] nsWebShellWindow::CreateMenu(nsIMenuBar*,nsIDOMNode*,nsString&) [nsWebShellWindow.cpp:485] nsWebShellWindow::LoadMenus(nsIDOMDocument*,nsIWidget*) [nsWebShellWindow.cpp:661] nsWebShellWindow::OnEndDocumentLoad(nsIURL*,int) [nsWebShellWindow.cpp:892] nsWebShell::OnEndDocumentLoad(nsIURL*,int) [nsWebShell.cpp:2205] nsDocLoaderImpl::FireOnEndDocumentLoad(int) [nsDocLoader.cpp:1286] nsDocLoaderImpl::FireOnEndDocumentLoad(int) [nsDocLoader.cpp:1293] nsDocLoaderImpl::LoadURLComplete(nsIURL*,nsISupports*,int) [nsDocLoader.cpp:1442] nsDocumentBindInfo::OnStopBinding(nsIURL*,unsigned int,const unsigned short*) [nsDocLoader.cpp:2004] stub_complete(_NET_StreamClass*) [nsStubContext.cpp:765] net_ProcessFile [mkfile.c:1356] NET_ProcessNet [mkgeturl.c:3355] * There have been 16 frees since this block was freed from: free [rtlib.o] __bUiLtIn_dElEtE [libgcc.a] __builtin_delete [rtlib.o] nsSocketTransport::~nsSocketTransport() [nsSocketTransport.cpp:349] nsSocketTransport::Release() [nsSocketTransport.cpp:44] nsMailboxProtocol::CloseConnection() [nsMailboxProtocol.cpp:622] nsMailboxProtocol::OnStopBinding(nsIURL*,unsigned int,const unsigned short*) [nsMailboxProtocol.cpp:231] nsStreamListenerProxy::OnStopBinding(nsIURL*,unsigned int,const unsigned short*) [nsNetThread.cpp:768] stub_complete(_NET_StreamClass*) [nsStubContext.cpp:765] net_IdxConvComplete [mkfile.c:1728] net_ProcessFile [mkfile.c:1356] net_FileLoad [mkfile.c:1269] NET_GetURL [mkgeturl.c:2979] nsNetlibService::OpenStream(nsIURL*,nsIStreamListener*) [nsNetService.cpp:476] NS_OpenURL(nsIURL*,nsIStreamListener*) [nsNetService.cpp:1222] nsSocketTransport::Open(nsIURL*) [nsSocketTransport.cpp:124] nsMailboxProtocol::LoadURL(nsIURL*,nsISupports*) [nsMailboxProtocol.cpp:431] nsMailboxService::ParseMailbox(const nsFileSpec&,nsIStreamListener*,nsIUrlListener*,nsIURL**) [nsMailboxService.cpp:71] nsMsgLocalMailFolder::ParseFolder(nsFileSpec&) [nsLocalMailFolder.cpp:215] nsMsgLocalMailFolder::GetDatabase() [nsLocalMailFolder.cpp:362] nsMsgLocalMailFolder::GetMessages(nsIEnumerator**) [nsLocalMailFolder.cpp:375] nsMSGFolderDataSource::ArcLabelsOut(nsIRDFResource*,nsIRDFArcsOutCursor**) [nsMSGFolderDataSource.cpp:683] DBArcsInOutCursor::DBArcsInOutCursor(CompositeDataSourceImpl*,nsIRDFNode*,int) [nsCompositeDataSource.cpp:253] CompositeDataSourceImpl::ArcLabelsOut(nsIRDFResource*,nsIRDFArcsOutCursor**) [nsCompositeDataSource.cpp:907] RDFGenericBuilderImpl::CreateContents(nsIContent*) [nsRDFGenericBuilder.cpp:478] XULDocumentImpl::CreateContents(nsIContent*) [nsXULDocument.cpp:2088] RDFElementImpl::EnsureContentsGenerated()const [nsRDFElement.cpp:2394] RDFElementImpl::ChildAt(int,nsIContent*&)const [nsRDFElement.cpp:1414] RDFElementImpl::GetFirstChild(nsIDOMNode**) [nsRDFElement.cpp:598] nsWebShellWindow::LoadSubMenu(nsIMenu*,nsIDOMElement*,nsIDOMNode*) [nsWebShellWindow.cpp:594]
adding alecf and sspitzer to the cc line
Actually, this popped up before I got to click on the message, while it was loading the mailbox.
QA Contact: 4080 → 4421
Target Milestone: M6
M6
Status: NEW → ASSIGNED
i believe i checked in a fix for this sometime ago but do not have purify for sun to run it on to verify that i really did fix it.
I need to get a working build and verify a lot of bugs that I have filed. Hopefully I'll get to this soon (before M6).
thanks bruce. i'll look for it the next time we run purify on windows too but i don't think it was showing up there before anyways so it is a weak baseline.
QA Contact: 4421 → 979
If that's the case, Bruce, I'm going to put you as "QA Contact" for this bug so you can be the verification person for it. Thanks.
Status: ASSIGNED → RESOLVED
Closed: 25 years ago
Resolution: --- → FIXED
meant to mark this as fixed as i believe i had fixed this problem.
Component: Networking → Networking-Mail
Moving all Mail/News Networking bugs to Mail/News Networking-Mail This may re-open previously Verified bugs due to a Bugzilla bug...if so, I will fix those bugs.
Keywords: verifyme
Marking verified. Reopen if this is still a bug.
Status: RESOLVED → VERIFIED
Product: MailNews → Core
Product: Core → MailNews Core
Keywords: verifyme
You need to log in before you can comment on or make changes to this bug.