Closed Bug 358853 Opened 18 years ago Closed 18 years ago

crash opening html sidebar with xul frame while having "remember passwords" enabled [@ nsPasswordManager::FillDocument]

Categories

(Toolkit :: Password Manager, defect)

x86
Windows XP
defect
Not set
critical

Tracking

()

VERIFIED FIXED

People

(Reporter: zero_ant, Assigned: martijn.martijn)

Details

(Keywords: crash, verified1.8.1.1)

Crash Data

Attachments

(1 file)

User-Agent:       Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1) Gecko/20061010 Firefox/2.0
Build Identifier: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9a1) Gecko/2006102904 Minefield/3.0a1

Full article can be found here:
http://forums.mozillazine.org/viewtopic.php?t=481486

When toggling the sidebar open, ~if the sidebar contains a html/xhtml page with iframe/frame element pointing to a xul page~, the sidebar will be opened without any content, firefox stalls, and finally crash after a few seconds. Opening the same page through a sidebar'ed bookmark will not cause a crash. This only happened if "Remember passwords for sites" is checked in security options.

Reproducible: Always

Steps to Reproduce:
1. "Remember passwords for sites" option should be checked/enabled.
2. Toggle open a sidebar which contains "xhtml/html page with iframe/frame element pointing to a xul page".

To try easily, add this .html page in the same folder as your history-panel.xul is (browser.jar\content\browser\history):
<!-- This is bitebar.html -->
<html>
<head>
  <title>Test Bitebar</title>
</head>
<frameset rows="100,*" cols="*" frameborder="NO" border="0" framespacing="0">
  <frame name="topFrame" scrolling="NO" noresize src="about:license" >
  <frameset cols="30,*" frameborder="NO" border="0" framespacing="0">
    <frame name="leftFrame" noresize scrolling="NO" src="about:mozilla">
    <frame name="mainFrame" src="about:config">
  </frameset>
</frameset>
<noframes>
<body bgcolor="#FFFFFF" text="#000000">
</body>
</noframes>
</html>
<!-- End of bitebar.html -->

Then add this line right after the last </hbox> tag in history-panel.xul:
  <iframe src="bitebar.html" id="bitebar-container" flex="1"/>

Note the "about:config" src link in the third frame. You can change it to a non-xul page like "about:" to avoid crash.

3. o_O

Actual Results:  
the sidebar will be opened with no content, firefox stalls, and finally crash after a few seconds.

Expected Results:  
no crash should ever happened. If the browser can walk safely when password remembering is disabled, why should it crashed when it's enabled? When "Remember passwords" is enabled: If the browser can run safely when the page is opened in the main window, why should it crashed when it's opened in the sidebar?

Talkback crash ID (case: forged adblock plus sidebar): TB25263655E
Talkback crash ID (case: forged history sidebar): TB25285650Q
Incident ID: 25285650
Stack Signature	nsPasswordManager::FillDocument f0969de7
Product ID	FirefoxTrunk
Build ID	2006102904
Trigger Time	2006-10-30 19:48:02.0
Platform	Win32
Operating System	Windows NT 5.1 build 2600
Module	firefox.exe + (004a5e86)
URL visited	
User Comments	crash opening html sidebar with xul frame while having "remember passwords" enabled
Since Last Crash	33 sec
Total Uptime	1116 sec
Trigger Reason	Access violation
Source File, Line No.	c:\builds\tinderbox\fx-trunk-cairo\winnt_5.2_depend\mozilla\toolkit\components\passwordmgr\base\nspasswordmanager.cpp, line 1909
Stack Trace 	
nsPasswordManager::FillDocument  [mozilla\toolkit\components\passwordmgr\base\nspasswordmanager.cpp, line 1909]
0x01e2a0f0
0xeb318910
Keywords: crash
Summary: crash opening html sidebar with xul frame while having "remember passwords" enabled → crash opening html sidebar with xul frame while having "remember passwords" enabled [@ nsPasswordManager::FillDocument]
Version: unspecified → Trunk
Attached patch patchSplinter Review
Ok, I can reproduce with the description given.
This fixes it for me.
Attachment #244346 - Flags: review?(enndeakin)
Status: UNCONFIRMED → NEW
Ever confirmed: true
Attachment #244346 - Flags: review?(enndeakin) → review+
Assignee: nobody → martijn.martijn
Checking in nsPasswordManager.cpp;
/cvsroot/mozilla/toolkit/components/passwordmgr/base/nsPasswordManager.cpp,v  <-
-  nsPasswordManager.cpp
new revision: 1.88; previous revision: 1.87
done

Checked in on trunk.
Status: NEW → RESOLVED
Closed: 18 years ago
Resolution: --- → FIXED
Wow, you're fast. I have tried the hourly build and it works perfectly. Thank you!

On a side note: will this fix will ever arrive in Firefox 2.0 branch?
Status: RESOLVED → VERIFIED
Comment on attachment 244346 [details] [diff] [review]
patch

I'm asking 1.8.1.1 approval, it is a very safe fix, so there is a chance now that it will reach Firefox2.0 (but don't count on it yet).
Attachment #244346 - Flags: approval1.8.1.1?
Comment on attachment 244346 [details] [diff] [review]
patch

approved for 1.8 branch, a=dveditz for drivers
Attachment #244346 - Flags: approval1.8.1.1? → approval1.8.1.1+
Manager::FillDocument], r=enndeakin, a=dveditz" nsPasswordManager.cpp
Checking in nsPasswordManager.cpp;
/cvsroot/mozilla/toolkit/components/passwordmgr/base/nsPasswordManager.cpp,v  <-
-  nsPasswordManager.cpp
new revision: 1.65.2.11; previous revision: 1.65.2.10
done

Checked in on the 1.8.1 branch.
Keywords: fixed1.8.1.1
v.fixed on 1.8 branch with Mozilla/5.0 (Macintosh; U; Intel Mac OS X; en-US; rv:1.8.1.1pre) Gecko/20061201 BonEcho/2.0.0.1pre + GameFOX extension (based on testcase in comment #0).
Product: Firefox → Toolkit
Crash Signature: [@ nsPasswordManager::FillDocument]
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: