Closed Bug 12973 Opened 20 years ago Closed 10 years ago

Inheriting from an interface with a namespace produces bad typelib

Categories

(Core :: XPCOM, defect, P5)

defect

Tracking

()

RESOLVED WONTFIX
Future

People

(Reporter: frankm, Assigned: dbradley)

Details

If an interface defined in an IDL file has a namespace attribute, and another
interface in the same file inherits from it, the typelib will have a bogus extra
record, which causes both xpt_dump and nsIInterfaceInfoManager to crash.

For example:

====================
#include "nsISupports.idl"

[ scriptable, uuid(57ecad90-ae1a-11d1-b66c-00805f8a2676), namespace(test) ]
interface nsIHam : nsISupports
{
    void ham();
};

[ scriptable, uuid(57ecad90-ae1a-11d1-b66c-00805f8a2677), namespace(test) ]
interface nsISpam : nsIHam /* if this were nsISupports, we'd be fine */
{
    void eggs();
};
====================

xpt_dump on Solaris produces the following output:
-------------------
Header:
   Major version:         1
   Minor version:         0
   Number of interfaces:  4
   Annotations:
      Annotation #0:
         Creator:      xpidl 0.99.9
         Private Data: Created from test_namespace.idl
Creation date: Wed Sep  1 13:15:00 1999
Interfaces: nsIHam nsISpam

Interface Directory:
   - ::nsISupports (00000000-0000-0000-c000-000000000046):
      [Unresolved]
   - test::nsIHam (57ecad90-ae1a-11d1-b66c-00805f8a2676):
      Parent: ::nsISupports
      Flags:
         Scriptable: TRUE
      Methods:
         uint32 spam();
      Constants:
         No Constants
   - test::nsISpam (57ecad90-ae1a-11d1-b66c-00805f8a2677):
      Parent: test::nsIHam
      Flags:
         Scriptable: TRUE
      Methods:
         uint32 eggs();
      Constants:
         No Constants
Segmentation Fault (core dumped)
--------------------

I've tested on Solaris and NT, and seen similar behavior on both.
Mass accept as ASSIGNED of xpidl bugs
I gotta ask: why are you using a namespace there?  What does it do?
[SPAM] Marking milestone 'future' as part of nsbeta3 triage.
Target Milestone: --- → Future
Mass-reassigning mccabe's non-JS, non-Rhino bugs to jband (34 total). 

Would like to cc mccabe; but the mass-reassign page does not allow this. 
I'll leave it up to mccabe to decide if he wants to be cc'ed on these - 
Assignee: mike+mozilla → jband
Status: ASSIGNED → NEW
mass reassign of xpidl bugs to dbradley@netscape.com
Assignee: jband → dbradley
Status: NEW → ASSIGNED
Priority: P3 → P5
this also happens if i inherit from a different interface from a different file
xpt_dump.exe does not crash here but the nsiinterfaceInfoManager
sourcecode is 1.4 system is w2k
Component: xpidl → XPCOM
QA Contact: mike+mozilla → xpcom
Status: ASSIGNED → RESOLVED
Closed: 10 years ago
Resolution: --- → WONTFIX
You need to log in before you can comment on or make changes to this bug.