Closed Bug 380232 Opened 17 years ago Closed 17 years ago

occasionally not able to open the bookmarks dialog or subscribe to a feed url (using live bookmarks) [Remote chrome not allowed]

Categories

(Firefox :: Bookmarks & History, defect)

x86
All
defect
Not set
normal

Tracking

()

VERIFIED FIXED
Firefox 3 alpha5

People

(Reporter: moco, Assigned: dietrich)

References

Details

(Keywords: regression)

Attachments

(3 files, 3 obsolete files)

occasionally not able to open the bookmarks dialog or subscribe to a feed url (using live bookmarks)

I'm using my own Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9a5pre) Gecko/20070508 Minefield/3.0a5pre trunk debug build, with places bookmarks enabled.

(maybe this has something to do with how I'm "spot" re-building only part of the tree in between changes?)

steps to reproduce, when it happens:

1)  go to http://planet.mozilla.org/rss20.xml
2)  attempt to subscribe to the feed using live bookmarks.

alternate steps:

1)  I have seen this problem when attempting to bookmark a link.

on my console I see:

WARNING: Remote chrome not allowed! Only file:, resource:, and jar: are valid.
: file c:/builds/trunk-no-places/mozilla/chrome/src/nsChromeProtocolHandler.cpp,
 line 565

for the scenario where I fail to see the add bm dialog when attempting to bookmark a link, I see the following in the debugger:

result is a 
nsCachedChromeChannel and aURI is chrome://browser/content/places/bookmarkPageDialog.xul

here's a stack:

>	chrome.dll!nsChromeProtocolHandler::NewChannel(nsIURI * aURI=0x02161308, nsIChannel * * aResult=0x0012ccbc)  Line 565	C++
 	necko.dll!nsIOService::NewChannelFromURI(nsIURI * aURI=0x02161308, nsIChannel * * result=0x0012ccbc)  Line 582 + 0x2a bytes	C++
 	docshell.dll!NS_NewChannel(nsIChannel * * result=0x0012cdf0, nsIURI * uri=0x02161308, nsIIOService * ioService=0x00d20e08, nsILoadGroup * loadGroup=0x00000000, nsIInterfaceRequestor * callbacks=0x0593c820, unsigned int loadFlags=524288)  Line 175 + 0x16 bytes	C++
 	docshell.dll!nsDocShell::DoURILoad(nsIURI * aURI=0x02161308, nsIURI * aReferrerURI=0x033a8a38, int aSendReferrer=1, nsISupports * aOwner=0x00d67070, const char * aTypeHint=0x00000000, nsIInputStream * aPostData=0x00000000, nsIInputStream * aHeadersData=0x00000000, int aFirstParty=1, nsIDocShell * * aDocShell=0x00000000, nsIRequest * * aRequest=0x0012d100, int aIsNewWindowTarget=1)  Line 6861 + 0x54 bytes	C++
 	docshell.dll!nsDocShell::InternalLoad(nsIURI * aURI=0x02161308, nsIURI * aReferrer=0x033a8a38, nsISupports * aOwner=0x00d67070, unsigned int aFlags=8, const unsigned short * aWindowTarget=0x05ad9b88, const char * aTypeHint=0x00000000, nsIInputStream * aPostData=0x00000000, nsIInputStream * aHeadersData=0x00000000, unsigned int aLoadType=1, nsISHEntry * aSHEntry=0x00000000, int aFirstParty=1, nsIDocShell * * aDocShell=0x00000000, nsIRequest * * aRequest=0x00000000)  Line 6764 + 0x72 bytes	C++
 	docshell.dll!nsDocShell::LoadURI(nsIURI * aURI=0x02161308, nsIDocShellLoadInfo * aLoadInfo=0x058ba838, unsigned int aLoadFlags=16384, int aFirstParty=1)  Line 871 + 0x56 bytes	C++
 	embedcomponents.dll!nsWindowWatcher::OpenWindowJSInternal(nsIDOMWindow * aParent=0x033a9c78, const char * aUrl=0x05c6a468, const char * aName=0x00000000, const char * aFeatures=0x0012d8f4, int aDialog=1, nsIArray * argv=0x0567db44, int aCalledFromJS=1, nsIDOMWindow * * _retval=0x0012d94c)  Line 887	C++
 	embedcomponents.dll!nsWindowWatcher::OpenWindowJS(nsIDOMWindow * aParent=0x033a9c78, const char * aUrl=0x05c6a468, const char * aName=0x00000000, const char * aFeatures=0x0012d8f4, int aDialog=1, nsIArray * argv=0x0567db44, nsIDOMWindow * * _retval=0x0012d94c)  Line 481	C++
 	gklayout.dll!nsGlobalWindow::OpenInternal(const nsAString_internal & aUrl={...}, const nsAString_internal & aName={...}, const nsAString_internal & aOptions={...}, int aDialog=1, int aCalledNoScript=0, int aDoJSFixups=0, nsIArray * argv=0x0567db44, nsISupports * aExtraArgument=0x00000000, nsIPrincipal * aCalleePrincipal=0x00d67070, JSContext * aJSCallerContext=0x033aa050, nsIDOMWindow * * aReturn=0x0012dd10)  Line 6365 + 0x69 bytes	C++
 	gklayout.dll!nsGlobalWindow::OpenDialog(nsIDOMWindow * * _retval=0x0012dd10)  Line 4668 + 0x4b bytes	C++
 	xpcom_core.dll!NS_InvokeByIndex_P(nsISupports * that=0x00000010, unsigned int methodIndex=1, unsigned int paramCount=1236240, nsXPTCVariant * params=0x00000000)  Line 102	C++
 	xpc3250.dll!XPCWrappedNative::CallMethod(XPCCallContext & ccx={...}, XPCWrappedNative::CallMode mode=16)  Line 2245 + 0x1e bytes	C++
 	xpc3250.dll!XPCWrappedNative::CallMethod(XPCCallContext & ccx={...}, XPCWrappedNative::CallMode mode=CALL_METHOD)  Line 2245 + 0x1e bytes	C++
 	xpc3250.dll!XPC_WN_CallMethod(JSContext * cx=0x033aa050, JSObject * obj=0x032f1c60, unsigned int argc=4, long * argv=0x05ab81a4, long * vp=0x0012dfb8)  Line 1467 + 0xe bytes	C++
 	js3250.dll!js_Invoke(JSContext * cx=0x033aa050, unsigned int argc=4, unsigned int flags=0)  Line 1332 + 0x20 bytes	C
 	js3250.dll!js_Interpret(JSContext * cx=0x033aa050, unsigned char * pc=0x041aed30, long * result=0x0012e670)  Line 4025 + 0xf bytes	C
 	js3250.dll!js_Invoke(JSContext * cx=0x033aa050, unsigned int argc=1, unsigned int flags=2)  Line 1351 + 0x13 bytes	C
 	js3250.dll!js_InternalInvoke(JSContext * cx=0x033aa050, JSObject * obj=0x05531540, long fval=89330976, unsigned int flags=0, unsigned int argc=1, long * argv=0x05ab7f20, long * rval=0x0012e7ec)  Line 1426 + 0x14 bytes	C
 	js3250.dll!JS_CallFunctionValue(JSContext * cx=0x033aa050, JSObject * obj=0x05531540, long fval=89330976, unsigned int argc=1, long * argv=0x05ab7f20, long * rval=0x0012e7ec)  Line 4865 + 0x1f bytes	C
 	gklayout.dll!nsJSContext::CallEventHandler(nsISupports * aTarget=0x035633b8, void * aScope=0x033ca6e0, void * aHandler=0x05531520, nsIArray * aargv=0x05c09ab0, nsIVariant * * arv=0x0012e95c)  Line 1794 + 0x24 bytes	C++
 	gklayout.dll!nsJSEventListener::HandleEvent(nsIDOMEvent * aEvent=0x056af02c)  Line 215 + 0x67 bytes	C++
 	gklayout.dll!nsEventListenerManager::HandleEventSubType(nsListenerStruct * aListenerStruct=0x035634b8, nsIDOMEventListener * aListener=0x03563468, nsIDOMEvent * aDOMEvent=0x056af02c, nsISupports * aCurrentTarget=0x035633b8, unsigned int aPhaseFlags=6)  Line 1093 + 0x12 bytes	C++
 	gklayout.dll!nsEventListenerManager::HandleEvent(nsPresContext * aPresContext=0x032fea98, nsEvent * aEvent=0x0012ecd4, nsIDOMEvent * * aDOMEvent=0x0012ec34, nsISupports * aCurrentTarget=0x035633b8, unsigned int aFlags=6, nsEventStatus * aEventStatus=0x0012ec38)  Line 1213	C++
 	gklayout.dll!nsEventTargetChainItem::HandleEvent(nsEventChainPostVisitor & aVisitor={...}, unsigned int aFlags=6)  Line 209	C++
 	gklayout.dll!nsEventTargetChainItem::HandleEventTargetChain(nsEventChainPostVisitor & aVisitor={...}, unsigned int aFlags=6, nsDispatchingCallback * aCallback=0x00000000)  Line 267	C++
 	gklayout.dll!nsEventDispatcher::Dispatch(nsISupports * aTarget=0x035633b8, nsPresContext * aPresContext=0x032fea98, nsEvent * aEvent=0x0012ecd4, nsIDOMEvent * aDOMEvent=0x00000000, nsEventStatus * aEventStatus=0x0012ed1c, nsDispatchingCallback * aCallback=0x00000000)  Line 480 + 0x12 bytes	C++
 	gklayout.dll!nsXULElement::PreHandleEvent(nsEventChainPreVisitor & aVisitor={...})  Line 1623 + 0x29 bytes	C++
 	gklayout.dll!nsEventTargetChainItem::PreHandleEvent(nsEventChainPreVisitor & aVisitor={...})  Line 191 + 0x1c bytes	C++
 	gklayout.dll!nsEventDispatcher::Dispatch(nsISupports * aTarget=0x0358d2e0, nsPresContext * aPresContext=0x032fea98, nsEvent * aEvent=0x0012ef04, nsIDOMEvent * aDOMEvent=0x00000000, nsEventStatus * aEventStatus=0x0012ef00, nsDispatchingCallback * aCallback=0x00000000)  Line 439	C++
 	gklayout.dll!PresShell::HandleDOMEventWithTarget(nsIContent * aTargetContent=0x0358d2e0, nsEvent * aEvent=0x0012ef04, nsEventStatus * aStatus=0x0012ef00)  Line 5736 + 0x1c bytes	C++
 	gklayout.dll!nsMenuFrame::Execute(nsGUIEvent * aEvent=0x0012f4b0)  Line 1704	C++
 	gklayout.dll!nsMenuFrame::HandleEvent(nsPresContext * aPresContext=0x032fea98, nsGUIEvent * aEvent=0x0012f4b0, nsEventStatus * aEventStatus=0x0012f080)  Line 485 + 0xc bytes	C++
 	gklayout.dll!nsPresShellEventCB::HandleEvent(nsEventChainPostVisitor & aVisitor={...})  Line 1220	C++
 	gklayout.dll!nsEventTargetChainItem::HandleEventTargetChain(nsEventChainPostVisitor & aVisitor={...}, unsigned int aFlags=6, nsDispatchingCallback * aCallback=0x0012f130)  Line 315	C++
 	gklayout.dll!nsEventDispatcher::Dispatch(nsISupports * aTarget=0x0358d2e0, nsPresContext * aPresContext=0x032fea98, nsEvent * aEvent=0x0012f4b0, nsIDOMEvent * aDOMEvent=0x00000000, nsEventStatus * aEventStatus=0x0012f250, nsDispatchingCallback * aCallback=0x0012f130)  Line 480 + 0x12 bytes	C++
 	gklayout.dll!PresShell::HandleEventInternal(nsEvent * aEvent=0x0012f4b0, nsIView * aView=0x047a6698, nsEventStatus * aStatus=0x0012f250)  Line 5690 + 0x29 bytes	C++
 	gklayout.dll!PresShell::HandlePositionedEvent(nsIView * aView=0x047a6698, nsIFrame * aTargetFrame=0x046fdeb4, nsGUIEvent * aEvent=0x0012f4b0, nsEventStatus * aEventStatus=0x0012f250)  Line 5579 + 0x14 bytes	C++
 	gklayout.dll!PresShell::HandleEvent(nsIView * aView=0x047a6698, nsGUIEvent * aEvent=0x0012f4b0, nsEventStatus * aEventStatus=0x0012f250)  Line 5422 + 0x1e bytes	C++
 	gklayout.dll!nsViewManager::HandleEvent(nsView * aView=0x047a6698, nsPoint aPoint={...}, nsGUIEvent * aEvent=0x0012f4b0, int aCaptured=0)  Line 1286	C++
 	gklayout.dll!nsViewManager::DispatchEvent(nsGUIEvent * aEvent=0x0012f4b0, nsEventStatus * aStatus=0x0012f390)  Line 1239 + 0x22 bytes	C++
 	gklayout.dll!HandleEvent(nsGUIEvent * aEvent=0x0012f4b0)  Line 174	C++
 	gkwidget.dll!nsWindow::DispatchEvent(nsGUIEvent * event=0x0012f4b0, nsEventStatus & aStatus=nsEventStatus_eIgnore)  Line 1112 + 0xc bytes	C++
 	gkwidget.dll!nsWindow::DispatchWindowEvent(nsGUIEvent * event=0x0012f4b0)  Line 1133	C++
 	gkwidget.dll!nsWindow::DispatchMouseEvent(unsigned int aEventType=301, unsigned int wParam=0, long lParam=589863, int aIsContextMenuKey=0, short aButton=0)  Line 6297 + 0x1a bytes	C++
 	gkwidget.dll!ChildWindow::DispatchMouseEvent(unsigned int aEventType=301, unsigned int wParam=0, long lParam=589863, int aIsContextMenuKey=0, short aButton=0)  Line 6479	C++
 	gkwidget.dll!nsWindow::ProcessMessage(unsigned int msg=514, unsigned int wParam=0, long lParam=589863, long * aRetValue=0x0012f944)  Line 4719 + 0x24 bytes	C++
 	gkwidget.dll!nsWindow::WindowProc(HWND__ * hWnd=0x0031074a, unsigned int msg=514, unsigned int wParam=0, long lParam=589863)  Line 1325 + 0x1d bytes	C++
 	user32.dll!7e418734() 	
 	[Frames below may be incorrect and/or missing, no symbols loaded for user32.dll]	
 	user32.dll!7e418816() 	
 	xpcom_core.dll!xptiWorkingSet::FindDirectoryOfFile(nsILocalFile * file=0x0012fa48, unsigned int * index=0x7e440457)  Line 386 + 0x29 bytes	C++
 	xpcom_core.dll!xptiWorkingSet::FindDirectoryOfFile(nsILocalFile * file=0x0091e898, unsigned int * index=0x00000014)  Line 386 + 0x29 bytes	C++
 	0012fa78()	
 	xpcom_core.dll!xptiWorkingSet::FindDirectoryOfFile(nsILocalFile * file=0x00000202, unsigned int * index=0x00000000)  Line 386 + 0x29 bytes	C++
 	xpcom_core.dll!xptiWorkingSet::FindDirectoryOfFile(nsILocalFile * file=0xa16401f0, unsigned int * index=0x00000000)  Line 386 + 0x29 bytes	C++
 	578868ff()
just ran into this again.
Summary: occasionally not able to open the bookmarks dialog or subscribe to a feed url (using live bookmarks) → occasionally not able to open the bookmarks dialog or subscribe to a feed url (using live bookmarks) [Remote chrome not allowed]
Mozilla/5.0 (Macintosh; U; Intel Mac OS X; en-US; rv:1.9a5pre) Gecko/20070520 Minefield/3.0a5pre

Seth, I had the same problem. Subscribing to a live bookmark wont work. The error console showed me some warnings. Also one from toolbar.xml. I patched my local file and it is working now. I'll also try to remove the remaining js strict warnings. I could supply a patch.
Assignee: nobody → hskupin
OS: Windows XP → All
Sorry, after talking to Asaf this should be another issue.
Assignee: hskupin → nobody
Target Milestone: --- → Firefox 3 alpha5
Only for information I get both dialogs with my debug build Mozilla/5.0 (Macintosh; U; Intel Mac OS X; en-US; rv:1.9a5pre) Gecko/20070520 Minefield/3.0a5pre
Attached patch workaround (obsolete) — Splinter Review
workaround suggested by mano.
Assignee: nobody → dietrich
Status: NEW → ASSIGNED
Attachment #265997 - Flags: review?(mano)
Comment on attachment 265997 [details] [diff] [review]
workaround

So this should _replace_ the override rule.
Attachment #265997 - Flags: review?(mano) → review-
Attached patch fix v2 (obsolete) — Splinter Review
Attachment #265997 - Attachment is obsolete: true
Attachment #266156 - Flags: review?(mano)
see bug #381720 comment #0 for a reproducable way to run into this bug.

hopefully drivers agree this is a a5 blocker.
Flags: blocking-firefox3?
Keywords: regression
even simpler steps to reproduce:

1)  create a new profile
2)  right click on the "Getting Started" bookmark on the personal toolbar an chose "Properties"
3)  change the name to "foo bar"
4)  Bookmark | Bookmark this Page (for the first run page "http://www.mozilla.org/projects/firefox/3.0a5pre/firstrun/")

the bookmark dialog will not come up.
Comment on attachment 266156 [details] [diff] [review]
fix v2

this patch does not fix the bug, using the new reproduction steps.

also, note that cmd+d works as well for reproduction.
Attachment #266156 - Flags: review?(mano)
even simpler steps to reproduce:

1)  create a new profile
2)  right click on the "Getting Started" bookmark on the personal toolbar an
chose "Properties"
3)  change the name to "foo bar"
4)  Bookmark | Bookmark this Page (for the first run page
"http://www.mozilla.org/projects/firefox/3.0a5pre/firstrun/")

the bookmark dialog will not come up.
I'm running my own trunk debug build:

Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9a5pre) Gecko/20070524 Minefield/3.0a5pre

note to dietrich / mano:  I am not sure that fix is going to solve this problem.  as dietrich reports, I also applied and rebuilt browser and didn't fix it.  trying again after completely removing the .jar file, in case that matters.
> trying again after completely removing the .jar file, in case that
matters.

fyi:  after a clobber and rebuild, this patch seems to be working for me.
Comment on attachment 266156 [details] [diff] [review]
fix v2

(In reply to comment #15)
> > trying again after completely removing the .jar file, in case that
> matters.
> 
> fyi:  after a clobber and rebuild, this patch seems to be working for me.
> 

asking for review again. thanks for testing w/ clobber.
Attachment #266156 - Flags: review?(sspitzer)
Comment on attachment 266156 [details] [diff] [review]
fix v2

So I would bet the reason this didn't work the first time is the mis-updated browser.manifest :( We should either fix this for real (now that we have STR); or rev the file name so it doesn't collide with the current broken URI.
Attachment #266156 - Flags: review?(sspitzer)
Attached patch patchSplinter Review
Assignee: dietrich → mano
Attachment #266156 - Attachment is obsolete: true
Attachment #266171 - Flags: review?
Attachment #266171 - Flags: review? → review?(benjamin)
Comment on attachment 266171 [details] [diff] [review]
patch

I don't think this is right... we really ought to recurse, and so the remote-chrome check should be altered to allow us to do that, rather than trying to do it in ConvertChromeURL.
Attachment #266171 - Flags: review?(benjamin) → review-
Attached patch patchSplinter Review
Attachment #266689 - Flags: review?
Attachment #266689 - Flags: review? → review?(benjamin)
Comment on attachment 266689 [details] [diff] [review]
patch

hrm, this doesn't seem to work right.
Attachment #266689 - Flags: review?(benjamin)
So, discussing this with Benjamin, we're going to do the jar.mn change for a5 instead.

Dietrich, can you update that patch to also rev the second file name, then we can be sure current profiles don't get broken as a result of this change.
Assignee: mano → dietrich
Status: ASSIGNED → NEW
> Dietrich, can you update that patch to also rev the second file name, then we
> can be sure current profiles don't get broken as a result of this change.

Asaf, rev the second file name, or the first?  It seems like we would want to rev the name of the alias (bookmarkPageDialog.xul).

Can you elaborate?
Attached patch v3 (obsolete) — Splinter Review
like this?
Attachment #266710 - Flags: review?(mano)
(In reply to comment #24)
> Created an attachment (id=266710) [details]
> v3
> 
> like this?
> 

tested and confirmed that this fix works with an older profile, and with a new one, using seth's STR.
Comment on attachment 266710 [details] [diff] [review]
v3

I would make that bookmarkProperties2 but both both.

r=mano.
Attachment #266710 - Flags: review?(mano) → review+
Attached patch w/ mano commentSplinter Review
Attachment #266710 - Attachment is obsolete: true
Checking in browser/components/places/jar.mn;
/cvsroot/mozilla/browser/components/places/jar.mn,v  <--  jar.mn
new revision: 1.36; previous revision: 1.35
done
Checking in browser/components/places/content/utils.js;
/cvsroot/mozilla/browser/components/places/content/utils.js,v  <--  utils.js
new revision: 1.42; previous revision: 1.41
done
Status: NEW → RESOLVED
Closed: 17 years ago
Resolution: --- → FIXED
Flags: blocking-firefox3? → blocking-firefox3+
verified with: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9a7pre) Gecko/2007073005 Minefield/3.0a7pre

basic add bookmark test case is in litmus: http://litmus.mozilla.org/show_test.cgi?id=3996
Status: RESOLVED → VERIFIED
Flags: in-litmus+
Bug 451915 - move Firefox/Places bugs to Firefox/Bookmarks and History. Remove all bugspam from this move by filtering for the string "places-to-b-and-h".

In Thunderbird 3.0b, you do that as follows:
Tools | Message Filters
Make sure the correct account is selected. Click "New"
Conditions: Body   contains   places-to-b-and-h
Change the action to "Delete Message".
Select "Manually Run" from the dropdown at the top.
Click OK.

Select the filter in the list, make sure "Inbox" is selected at the bottom, and click "Run Now". This should delete all the bugspam. You can then delete the filter.

Gerv
Component: Places → Bookmarks & History
QA Contact: places → bookmarks
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: