Closed Bug 120580 Opened 24 years ago Closed 16 years ago

bad RDF/XUL combo blows up Mozilla 0.9.7

Categories

(Core Graveyard :: RDF, defect, P3)

Other
Windows 2000
defect

Tracking

(Not tracked)

RESOLVED WORKSFORME
Future

People

(Reporter: david, Unassigned)

References

Details

(Keywords: crash, helpwanted)

Attachments

(2 files)

From Bugzilla Helper: User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:0.9.7) Gecko/20011221 BuildID: 2001122106 The attached pair of files will crash my mozilla browser every time. I am not sure if there is malformed RDF data (it looks OK to me, but I'm new here)... or if the problem is in the XUL file that uses the RDF datasource. Bottom line: everything blows up when you follow the recipie with these files. Reproducible: Always Steps to Reproduce: 1. Put the attached files in a directory. RDF file is named "users.rdf". XUL file is named whatever you want. 2. Open the XUL file in your browser 3. Click to expand "David" 4. Click to expand "Roles" You've crashed. Actual Results: Mozilla crashes hard. Expected Results: Role data should be displayed. (I could be doing something else wrong -- I'd be happy if we just didn't crash.) ---- XUL FILE ---- <?xml version="1.0"?> <!-- edited with XML Spy v4.2 U (http://www.xmlspy.com) by David (Neosynapse) --> <?xml-stylesheet href="chrome://global/skin/" type="text/css"?> <window id="example-window" title="Modis Extensible Billing" xmlns:html="http://www.w3.org/1999/xhtml" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" class="dialog" dependent="true" dialog="true" modal="true" resizable="true" style="background-color:#64849f"> <grid flex="1"> <columns> <column flex="30"/> <column flex="1"/> <column flex="30"/> </columns> <rows> <row> <menulist id="left_tree_list" flex="5"> <menupopup> <!-- <menuitem label="Users" selected="true"/> --> <menuitem label="Users"/> <menuitem label="Permissions"/> <menuitem label="Roles"/> <menuitem label="Groups"/> </menupopup> </menulist> </row> <row minheight="300"> <outliner> <outlinercol id="user_column" flex="4" label="Users" sort="?name" primary="true"/> <splitter/> <outlinercol id="type_column" flex="2" label="Type" sort="?name"/> <splitter/> <outlinercol id="desc_column" flex="9" label="Name" sort="?name"/> <outlinerbody datasources="users.rdf" ref="urn:root" flex="1"> <template> <rule> <conditions> <outlinerrow uri="?uri"/> <member container="?uri" child="?subheading"/> <triple object="folder" predicate="http://home.netscape.com/NC-rdf#type" subject="folder"/> </conditions> <bindings> <binding subject="?subheading" predicate="http://home.netscape.com/NC-rdf#name" object="?name"/> <binding subject="?subheading" predicate="http://home.netscape.com/NC-rdf#rsrc_id" object="?rsrc_id"/> <binding subject="?subheading" predicate="http://home.netscape.com/NC-rdf#type" object="?type"/> <binding subject="?subheading" predicate="http://home.netscape.com/NC-rdf#description" object="?description"/> </bindings> <action> <outlinerrow uri="?subheading"> <outlinercell ref="user_column" label="?name"/> <outlinercell ref="type_column" label="?type"/> <outlinercell ref="desc_column" label="?description"/> </outlinerrow> </action> </rule> <!-- <rule> <conditions> <outlinerrow uri="?uri"/> <member container="?uri" child="?subheading"/> </conditions> <bindings> <binding subject="?subheading" predicate="http://home.netscape.com/NC-rdf#name" object="?name"/> <binding subject="?subheading" predicate="http://home.netscape.com/NC-rdf#rsrc_id" object="?rsrc_id"/> <binding subject="?subheading" predicate="http://home.netscape.com/NC-rdf#type" object="?type"/> <binding subject="?subheading" predicate="http://home.netscape.com/NC-rdf#description" object="?descripton"/> </bindings> <action> <outlinerrow uri="?subheading"> <outlinercell ref="user_column" label="?name ( ?rsrc_id )"/> <outlinercell ref="type_column" label="?type"/> <outlinercell ref="desc_column" label="?description"/> </outlinerrow> </action> </rule> --> </template> </outlinerbody> </outliner> </row> <row> <label value="User Filter:" style="font-weight:bold"/> </row> <row> <box> <textbox type="text" flex="3" id="left-filter"/> <button id="left-filter-button" flex="1" label="Filter"/> </box> </row> </rows> </grid> </window> ---- RDF FILE ---- <?xml version="1.0"?> <!-- edited with XML Spy v4.2 U (http://www.xmlspy.com) by David (Neosynapse) --> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:nc="http://home.netscape.com/NC-rdf#"> <rdf:Seq about="urn:root"> <rdf:li> <rdf:Description ID="237" nc:rsrc_id="237" nc:type="user" nc:name="david" nc:description="David I. Casti"/> </rdf:li> <rdf:li> <rdf:Description ID="238" nc:rsrc_id="238" nc:type="user" nc:name="stevena" nc:description="Steven D. Arnold"/> </rdf:li> </rdf:Seq> <!-- Define david stuff --> <rdf:Seq about="#237"> <rdf:li> <rdf:Description ID="david_perms" nc:type="folder" nc:name="Permissions" nc:description="Permissions granted to david (flat view)"/> </rdf:li> <rdf:li> <rdf:Description ID="david_groups" nc:type="folder" nc:name="Groups" nc:description="Groups granted to david (flat view)"/> </rdf:li> <rdf:li> <rdf:Description ID="david_roles" nc:type="folder" nc:name="Roles" nc:description="Roles granted to david (flat view)"/> </rdf:li> </rdf:Seq> <rdf:Seq about="#david_perms"> <rdf:li> <rdf:Description ID="89" nc:rsrc_id="89" nc:type="permission" nc:name="create_any_relationship" nc:description="Create a relationship of any type"/> </rdf:li> <rdf:li> <rdf:Description ID="95" nc:rsrc_id="95" nc:type="permission" nc:name="create_group" nc:description="Create a group "/> </rdf:li> <rdf:li> <rdf:Description ID="100" nc:rsrc_id="100" nc:type="permission" nc:name="create_permission" nc:description="Create a permission"/> </rdf:li> <rdf:li> <rdf:Description ID="103" nc:rsrc_id="103" nc:type="permission" nc:name="create_resource" nc:description="Create a resource "/> </rdf:li> <rdf:li> <rdf:Description ID="105" nc:rsrc_id="105" nc:type="permission" nc:name="create_role" nc:description="Create a role "/> </rdf:li> <rdf:li> <rdf:Description ID="108" nc:rsrc_id="108" nc:type="permission" nc:name="create_user" nc:description="Create a user"/> </rdf:li> <rdf:li> <rdf:Description ID="128" nc:rsrc_id="128" nc:type="permission" nc:name="modify_any_project" nc:description="Add or remove resources from any project"/> </rdf:li> <rdf:li> <rdf:Description ID="134" nc:rsrc_id="134" nc:type="permission" nc:name="ownership_option" nc:description="Total permission on any object the user created"/> </rdf:li> </rdf:Seq> <rdf:Seq about="#david_groups"> <rdf:li> <rdf:Description ID="163" nc:rsrc_id="163" nc:type="group" nc:name="create_all_auth" nc:description="All permissions to create any auth object"/> </rdf:li> <rdf:li> <rdf:Description ID="154" nc:rsrc_id="154" nc:type="group" nc:name="create_group" nc:description="All permissions required to create a group"/> </rdf:li> <rdf:li> <rdf:Description ID="157" nc:rsrc_id="157" nc:type="group" nc:name="create_permission" nc:description="All permissions required to create a permission"/> </rdf:li> <rdf:li> <rdf:Description ID="148" nc:rsrc_id="148" nc:type="group" nc:name="create_relationship" nc:description="General group for creating relationships"/> </rdf:li> <rdf:li> <rdf:Description ID="144" nc:rsrc_id="144" nc:type="group" nc:name="create_resource" nc:description="General group for creating resources"/> </rdf:li> <rdf:li> <rdf:Description ID="160" nc:rsrc_id="160" nc:type="group" nc:name="create_role" nc:description="All permissions required to create a role"/> </rdf:li> <rdf:li> <rdf:Description ID="150" nc:rsrc_id="150" nc:type="group" nc:name="create_user" nc:description="All permissions required to create a user"/> </rdf:li> <rdf:li> <rdf:Description ID="236" nc:rsrc_id="236" nc:type="group" nc:name="stevena" nc:description="Role for user test_tcu"/> </rdf:li> </rdf:Seq> <rdf:Seq about="#david_roles"> <rdf:li> <rdf:Description ID="237" nc:rsrc_id="foo" nc:type="role" nc:name="david" nc:description="xyz"/> </rdf:li> </rdf:Seq> </rdf:RDF>
->RDF
Assignee: hyatt → waterson
Component: XP Toolkit/Widgets: XUL → RDF
Keywords: crash
QA Contact: jrgm → tever
Attached file RDF/XML data
Attachment #65455 - Attachment mime type: text/rdf → text/plain
Attached file XUL file
UL file that works.
This works for me once I re-wrote the XUL to accomodate the most recent syntax change du jour, above. To try it, save attachment 65455 [details] as `users.rdf', save attachment 65457 [details] as `main.xul'. If the problem is that the old, bad syntax causes us to crash, then re-open the bug and assign it back to hyatt or varga.
Status: UNCONFIRMED → RESOLVED
Closed: 24 years ago
Resolution: --- → WORKSFORME
I don't think this is related to last outliner syntax changes. This sounds pretty like a recursion. It doesn't crash immediately and I noticed recursion in RDF/XML file. I recall once you tried to fix it, but patch didn't get in.
Well, the original test case crashes no more. And, if you modify the XUL to conform to the new <outliner> syntax, everything works fine. Either way you look at it, this is fixed. ;-)
Oops, I didn't read the repro instructions carefully. (I thought it crashed as soon as you loaded the XUL.) Yeah, I see the problem.
Status: RESOLVED → UNCONFIRMED
Resolution: WORKSFORME → ---
Like Jan said, this is probably related to either bug 84187 (cycles in the RDF), or alternatively, it might be related to bug 120229 (we don't handle the case well where the same resource appears twice in the outliner). I'm confirming the bug, and marking it dependent on those two bugs. I've got to future it due to my schedule, but it'd definitely be great to fix this.
Status: UNCONFIRMED → ASSIGNED
Depends on: 84187, 120229
Ever confirmed: true
Keywords: helpwanted
Priority: -- → P3
Target Milestone: --- → Future
tever is not RDF QA anymore
QA Contact: tever → nobody
waterson left the building
Assignee: waterson → nobody
Status: ASSIGNED → NEW
QA Contact: nobody → core.rdf
The testcase no longer works properly, and I don't think it's worth the time to put it back together just to see if it still crashes.
Status: NEW → RESOLVED
Closed: 24 years ago16 years ago
Resolution: --- → WORKSFORME
Product: Core → Core Graveyard
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: