Closed Bug 400109 Opened 17 years ago Closed 17 years ago

Right click on tag folder in "Recently Used Tags" generates an assert (ASSERT: Node QI Failed) and the context menu is incorrect

Categories

(Firefox :: Bookmarks & History, defect, P2)

defect

Tracking

()

VERIFIED WORKSFORME
Firefox 3

People

(Reporter: deb, Unassigned)

References

Details

Attachments

(3 files)

In the Bookmarks Organizer, go to Bookmarks Toolbar Folder, then Places, then Recently Used Tags.  In the right-hand pane (if you have created any tags) there will be a list of tags.  Right click on one of those.

When I do that, the following error dialog is generated.  The context menu shows up after the dialog is dismissed.

---
ASSERT: Node QI Failed
Stack Trace: 
0:QI_node([xpconnect wrapped (nsISupports, nsINavHistoryResultNode, nsINavHistoryContainerResultNode)],nsINavHistoryQueryResultNode)
1:asQuery([xpconnect wrapped (nsISupports, nsINavHistoryResultNode, nsINavHistoryContainerResultNode)])
2:PU_getURLsForContainerNode([xpconnect wrapped (nsISupports, nsINavHistoryResultNode, nsINavHistoryContainerResultNode)])
3:PC_buildContextMenu([object XULElement])
4:buildContextMenu([object XULElement])
5:onpopupshowing([object MouseEvent])
---
Flags: blocking-firefox3?
i think this might be because the tag containers are a generic container object type, but have a result type of a folder:

http://mxr.mozilla.org/seamonkey/source/toolkit/components/places/src/nsNavHistory.cpp#4220

if i change the result type to RESULT_TYPE_HOST, for example, the assert goes away and the context menu is properly built.

i'd rather not add a new specialized result type for tag containers. instead we should add a generic container type, not specific to any particular content type.

(i'd like to move towards a more generic grouping and sorting strategy as well. but that's for another bug ;))
OS: Mac OS X → All
Hardware: Macintosh → All
the assert won't happen (once we ship, as we won't don't alert / assert), but the context menu will still be messed up.

morphing the title.

thanks for catching this, deb.
Summary: Right click on tag folder in "Recently Used Tags" generates an error dialog → Right click on tag folder in "Recently Used Tags" generates an assert and the context menu is incorrect
note that you will get the same problem if you right click on these menu items on windows.

I believe context menus are disabled for menu items on mac
Attached patch wip β€” β€” Splinter Review
getting "too much recursion" from the placesFlavors getter in utils.js
I'm seeing this in today's build as I was trying to right-click to open the tag contents in all tabs (which you can do for other folder appearing things in bookmarks).

If the assert isn't valuable, should it be removed?
Flags: blocking-firefox3? → blocking-firefox3+
Target Milestone: --- → Firefox 3 M10
Right clicking now causes the whole menu under "Places" in the toolbar to dismiss. Is this expected?

Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv:1.9a9pre) Gecko/2007110204 Minefield/3.0a9pre
Target Milestone: Firefox 3 M10 → Firefox 3 Mx
Target Milestone: Firefox 3 Mx → Firefox 3 M11
Priority: -- → P2
Priority: P2 → P3
Same thing happens when middle-clicking on a tag, to open all windows associated with this tag.
Flags: in-litmus?
See also bug 407499 which I marked as dupe. The same assertion occurs when choosing "Open All in Tabs" from the Bookmarks Toolbar. 
Darnit! I hate logging duplicate bugs.  How come a search for the string "Node QI Failed" doesn't return this bug?
Probably because that string isn't in the summary.
Summary: Right click on tag folder in "Recently Used Tags" generates an assert and the context menu is incorrect → Right click on tag folder in "Recently Used Tags" generates an assert (ASSERT: Node QI Failed) and the context menu is incorrect
A rightclick on the bookmark bar while the tag is selected also triggers the assert.
Target Milestone need to be updated? This clearly missed beta 3.
Target Milestone: Firefox 3 beta3 → ---
I'm sure this is new, as I can remember doing this before and not getting this error. But I might be mistaken....

On Firefox 3 Beta 3 I get an error when I go to and click on:

Smart Bookmarks > Recent Tags > (random tag) > Open All in Tabs

Error comes up:

ASSERT: Node QI Failed
Stack Trace: 
0:QI_node([xpconnect wrapped (nsISupports, nsINavHistoryResultNode, nsINavHistoryContainerResultNode)],nsINavHistoryQueryResultNode)
1:asQuery([xpconnect wrapped (nsISupports, nsINavHistoryResultNode, nsINavHistoryContainerResultNode)])
2:PU_getURLsForContainerNode([xpconnect wrapped (nsISupports, nsINavHistoryResultNode, nsINavHistoryContainerResultNode)])
3:PU_openContainerInTabs([xpconnect wrapped (nsISupports, nsINavHistoryResultNode, nsINavHistoryContainerResultNode)],[object XULCommandEvent])
4:oncommand([object XULCommandEvent])


It's different to the error when I go to and right click on:

Smart Bookmarks > Recent Tags > (random tag)

Which produces:

ASSERT: Node QI Failed
Stack Trace: 
0:QI_node([xpconnect wrapped (nsISupports, nsINavHistoryResultNode, nsINavHistoryContainerResultNode)],nsINavHistoryQueryResultNode)
1:asQuery([xpconnect wrapped (nsISupports, nsINavHistoryResultNode, nsINavHistoryContainerResultNode)])
2:PU_nodeIsReadOnly([xpconnect wrapped (nsISupports, nsINavHistoryResultNode, nsINavHistoryContainerResultNode)])
3:PC_isCommandEnabled(placesCmd_sortBy:name)
4:isCommandEnabled(placesCmd_sortBy:name)
5:updatePlacesCommand(placesCmd_sortBy:name)
6:goUpdatePlacesCommands()
7:oncommandupdate([object Event])
8:focus()
9:buildContextMenu([object XULElement])
10:onpopupshowing([object MouseEvent])


And again slightly different to when I go to and right click on:

Smart Bookmarks > Recent Tags > (random tag) > (random item)

Which produces:

ASSERT: Node QI Failed
Stack Trace: 
0:QI_node([xpconnect wrapped (nsISupports, nsINavHistoryResultNode, nsINavHistoryContainerResultNode)],nsINavHistoryQueryResultNode)
1:asQuery([xpconnect wrapped (nsISupports, nsINavHistoryResultNode, nsINavHistoryContainerResultNode)])
2:([xpconnect wrapped (nsISupports, nsINavHistoryResultNode, nsINavHistoryContainerResultNode)])
3:PC__hasRemovableSelection(true)
4:PC_isCommandEnabled(placesCmd_moveBookmarks)
5:isCommandEnabled(placesCmd_moveBookmarks)
6:updatePlacesCommand(placesCmd_moveBookmarks)
7:goUpdatePlacesCommands()
8:oncommandupdate([object Event])
9:focus()
10:buildContextMenu([object XULElement])
11:onpopupshowing([object MouseEvent])
Dietrich, how many percent of all work to do is your WIP? Or is it bitrotted meanwhile?
When using a test build that has possible fixes for numerous Drag & Drop issues, I have found that the asserts no longer occur: 

http://www.wg9s.com/mozilla/firefox/

Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.9b4pre) Gecko/2008021613 Minefield/3.0b4pre Firefox/3.0 ID:2008021613
Firefox hangs now for good when I try to click away the errors.
I tried the 23 Feb build of Jim's link but it doesn't start up :(.
(In reply to comment #27)
> Firefox hangs now for good when I try to click away the errors.
> 

confirmed on latest Mac nightly.
Priority: P3 → P1
Target Milestone: --- → Firefox 3 beta4
I cannot repoduce this with today's nightly on Windows.

Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.9b4pre) Gecko/2008022308 Minefield/3.0b4pre Firefox/3.0 ID:2008022308
Screen shot of error dialog
this could dependant on Bug 385245 since that's changing how results are returned, and we could check for Ci.nsINavHistoryQueryOptions.RESULTS_AS_TAG_QUERY
Priority: P1 → P2
Why has this dropped to P2? I don't see how Firefox can realistically ship with out fixing this, as soon as Journalists, Opera fanboys and Microsofts fanboys find out about this Firefox will become practically a laughing stock.

And the bug seems to have got progressively worse, when I used to right click I just got 1 error message, last night on the latest trunk build I got 7 distinct error messages, then when I right clicked again I got about 14 distinct error messages.
Damian, this is still a blocker
It looks like my patch for bug 385245 is fixing this, at least I cannot confirm the behavior described here. Everything I have tried works fine.
Target Milestone: Firefox 3 beta4 → Firefox 3
This works for me, at least as of the latest nightly build. So I can confirm something must have changed because it used to hit me badly when I did anything with tag containers.
It was expected that it will start working after landing of bug 385245. This has happened and was now confirmed. In any case, "Recent Tags" are now built completely differently, so if there are still some problems, a new bug should be filled.
Status: NEW → RESOLVED
Closed: 17 years ago
Resolution: --- → WORKSFORME
Verified with:

Mozilla/5.0 (Macintosh; U; Intel Mac OS X; en-US; rv:1.8.1.13pre) Gecko/20080226 BonEcho/2.0.0.13pre ID:2008022603

Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9b4pre) Gecko/2008022806 Minefield/3.0b4pre
Status: RESOLVED → VERIFIED
I can still see this bug with Mozilla Firefox Beta 3 (German) on Windows XP SP2.

In order to reproduce it I created a new profile and it still happens. Steps to reproduce:

1. Create new profile and start Firefox Beta 3.

2. I bookmarked the Beta start page http://www.mozilla.com/en-US/firefox/3.0b3/firstrun/ with the tag "mozilla".

3. I left-clicked on the folder "Intelligent Bookmarks" > "Recently used tags" and than right-clicked on the tag "mozilla".

4. Three error massasages/popups came: 

ASSERT: Node QI Failed
Stack Trace: 
0:QI_node([xpconnect wrapped (nsISupports, nsINavHistoryResultNode, nsINavHistoryContainerResultNode)],nsINavHistoryQueryResultNode)
1:asQuery([xpconnect wrapped (nsISupports, nsINavHistoryResultNode, nsINavHistoryContainerResultNode)])
2:([xpconnect wrapped (nsISupports, nsINavHistoryResultNode, nsINavHistoryContainerResultNode)])
3:PC__hasRemovableSelection(true)
4:PC_isCommandEnabled(placesCmd_moveBookmarks)
5:isCommandEnabled(placesCmd_moveBookmarks)
6:updatePlacesCommand(placesCmd_moveBookmarks)
7:goUpdatePlacesCommands()
8:oncommandupdate([object Event])
9:focus()
10:buildContextMenu([object XULElement])
11:onpopupshowing([object MouseEvent])

ASSERT: Node QI Failed
Stack Trace: 
0:QI_node([xpconnect wrapped (nsISupports, nsINavHistoryResultNode, nsINavHistoryContainerResultNode)],nsINavHistoryQueryResultNode)
1:asQuery([xpconnect wrapped (nsISupports, nsINavHistoryResultNode, nsINavHistoryContainerResultNode)])
2:([xpconnect wrapped (nsISupports, nsINavHistoryResultNode, nsINavHistoryContainerResultNode)])
3:PC__hasRemovableSelection(false)
4:PC_isCommandEnabled(cmd_cut)
5:isCommandEnabled(cmd_cut)
6:goUpdateCommand(cmd_cut)
7:goUpdateGlobalEditMenuItems()
8:updateEditUIVisibility([object MouseEvent])

ASSERT: Node QI Failed
Stack Trace: 
0:QI_node([xpconnect wrapped (nsISupports, nsINavHistoryResultNode, nsINavHistoryContainerResultNode)],nsINavHistoryQueryResultNode)
1:asQuery([xpconnect wrapped (nsISupports, nsINavHistoryResultNode, nsINavHistoryContainerResultNode)])
2:([xpconnect wrapped (nsISupports, nsINavHistoryResultNode, nsINavHistoryContainerResultNode)])
3:PC__hasRemovableSelection(false)
4:PC_isCommandEnabled(cmd_delete)
5:isCommandEnabled(cmd_delete)
6:goUpdateCommand(cmd_delete)
7:goUpdateGlobalEditMenuItems()
8:updateEditUIVisibility([object MouseEvent])
(In reply to comment #41)
> I can still see this bug with Mozilla Firefox Beta 3 (German) on Windows XP

It will be fixed with Firefox beta4. 
Test cases were added for 3.x test runs on litmus for regression testing.

For 3.0,
https://litmus.mozilla.org/show_test.cgi?id=7536

For 3.1,
https://litmus.mozilla.org/show_test.cgi?id=7537
Flags: in-litmus? → 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: