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)
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>
Comment 1•24 years ago
|
||
->RDF
Assignee: hyatt → waterson
Component: XP Toolkit/Widgets: XUL → RDF
Keywords: crash
QA Contact: jrgm → tever
Comment 2•24 years ago
|
||
Updated•24 years ago
|
Attachment #65455 -
Attachment mime type: text/rdf → text/plain
Comment 3•24 years ago
|
||
UL file that works.
Comment 4•24 years ago
|
||
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
Comment 5•24 years ago
|
||
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.
Comment 6•24 years ago
|
||
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. ;-)
Comment 7•24 years ago
|
||
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 → ---
Comment 8•24 years ago
|
||
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
Ever confirmed: true
Keywords: helpwanted
Priority: -- → P3
Target Milestone: --- → Future
Comment 10•22 years ago
|
||
waterson left the building
Assignee: waterson → nobody
Status: ASSIGNED → NEW
QA Contact: nobody → core.rdf
Comment 11•16 years ago
|
||
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 ago → 16 years ago
Resolution: --- → WORKSFORME
Updated•7 years ago
|
Product: Core → Core Graveyard
You need to log in
before you can comment on or make changes to this bug.
Description
•