Closed Bug 1647436 Opened 3 months ago Closed 3 months ago

WebXR leaks nsGlobalWindowInner instance

Categories

(Core :: WebVR, defect)

defect

Tracking

()

RESOLVED FIXED
mozilla79
Tracking Status
firefox79 --- fixed

People

(Reporter: mortimergoro, Assigned: mortimergoro)

Details

Attachments

(1 file)

STR:

  • Visit XRDinosaurs or Hello WebXR demos
  • Enter WebXR (and load some models on XRDinosaurs)
  • Exit WebXR, navigate to other sites and destroy windows

The WebGL textures are still alive.

I was able to capture some CC logs, and it shows that the nsGlobalWindowInner instance is leaked.

0x7edf0cac00 [nsGlobalWindowInner # 2147483651 inner https://mixedreality.mozilla.org/hello-webxr/]
    --[mDoc]--> 0x7ee7a34000 [Document normal (xhtml) https://mixedreality.mozilla.org/hello-webxr/]
    --[mFrameRequestCallbacks[i]]--> 0x7ee88e76c0 [CallbackObject]
    --[mCallback]--> 0x7edba52600 [JS Object (Function - n)]
    --[fun_environment]--> 0x7ee36b12e0 [JS Object (Call)]
    --[r]--> 0x7edba525c0 [JS Object (Function - _s/<)]
    --[fun_environment]--> 0x7ee6bcdba0 [JS Object (Call)]
    --[p]--> 0x7ee71935b0 [JS Object (WebGLRenderingContext)]
    --[UnwrapDOMObject(obj)]--> 0x7ee7dc4900 [ClientWebGLContext]

    Root 0x7edf0cac00 is a ref counted object with 18 unknown edge(s).
    known edges:
       0x7ee85fcb80 [PerformanceEntry] --[mParent]--> 0x7edf0cac00
       0x7ee7ac3c40 [CallbackObject] --[mIncumbentGlobal]--> 0x7edf0cac00
       0x7ee7da0500 [PerformanceEntry] --[mParent]--> 0x7edf0cac00
       0x7ee5765f00 [PerformanceEntry] --[mParent]--> 0x7edf0cac00
       0x7ee9513480 [PerformanceEntry] --[mParent]--> 0x7edf0cac00
       0x7ee7e82300 [PerformanceEntry] --[mParent]--> 0x7edf0cac00
       0x7ee8a0e380 [PerformanceEntry] --[mParent]--> 0x7edf0cac00
       0x7ee7afcd80 [PerformanceEntry] --[mParent]--> 0x7edf0cac00
       0x7ee7afca80 [PerformanceEntry] --[mParent]--> 0x7edf0cac00
       0x7d489a5100 [PerformanceEntry] --[mParent]--> 0x7edf0cac00
       0x7ee2187c40 [CallbackObject] --[mIncumbentGlobal]--> 0x7edf0cac00
       0x7ee7da6800 [PerformanceEntry] --[mParent]--> 0x7edf0cac00
       0x7ee7e8f200 [PerformanceEntry] --[mParent]--> 0x7edf0cac00
       0x7ee8a0fa80 [PerformanceEntry] --[mParent]--> 0x7edf0cac00
       0x7edf2f6450 [XRRigidTransform] --[mParent]--> 0x7edf0cac00
       0x7ee2187200 [CallbackObject] --[mIncumbentGlobal]--> 0x7edf0cac00
       0x7d57d79780 [PerformanceEntry] --[mParent]--> 0x7edf0cac00
       0x7ee8a6d780 [PerformanceEntry] --[mParent]--> 0x7edf0cac00
       0x7ee7e69900 [PerformanceEntry] --[mParent]--> 0x7edf0cac00
       0x7ee7e83600 [PerformanceEntry] --[mParent]--> 0x7edf0cac00
       0x7ee7afc980 [PerformanceEntry] --[mParent]--> 0x7edf0cac00
       0x7ee7e68f80 [PerformanceEntry] --[mParent]--> 0x7edf0cac00
       0x7ee808a200 [PerformanceEntry] --[mParent]--> 0x7edf0cac00
       0x7ee8a0fd00 [PerformanceEntry] --[mParent]--> 0x7edf0cac00
       0x7ee951ffa0 [XRInputSource] --[mParent]--> 0x7edf0cac00
       0x7ee7e8e100 [PerformanceEntry] --[mParent]--> 0x7edf0cac00
       0x7ee2af7700 [CallbackObject] --[mIncumbentGlobal]--> 0x7edf0cac00
       0x7ee95b9680 [PerformanceEntry] --[mParent]--> 0x7edf0cac00
       0x7ee8a0e780 [PerformanceEntry] --[mParent]--> 0x7edf0cac00
       0x7ee2187580 [CallbackObject] --[mIncumbentGlobal]--> 0x7edf0cac00
       0x7ee5760700 [PerformanceEntry] --[mParent]--> 0x7edf0cac00
       0x7d46139480 [PerformanceEntry] --[mParent]--> 0x7edf0cac00
       0x7d4895de80 [PerformanceEntry] --[mParent]--> 0x7edf0cac00
       0x7edf2f5ce0 [XRRigidTransform] --[mParent]--> 0x7edf0cac00
       0x7d57dcce80 [PerformanceEntry] --[mParent]--> 0x7edf0cac00
       0x7ee953b3d0 [Navigator] --[mWindow]--> 0x7edf0cac00
       0x7ee975e580 [PerformanceEntry] --[mParent]--> 0x7edf0cac00
       0x7d594c3d80 [PerformanceEntry] --[mParent]--> 0x7edf0cac00
       0x7ee4bdfb80 [PerformanceEntry] --[mParent]--> 0x7edf0cac00
       0x7ee83b7400 [PerformanceEntry] --[mParent]--> 0x7edf0cac00
       0x7ee7da6580 [PerformanceEntry] --[mParent]--> 0x7edf0cac00
       0x7ee9795480 [PerformanceEntry] --[mParent]--> 0x7edf0cac00
       0x7ee7d9c740 [XRInputSourceArray] --[mParent]--> 0x7edf0cac00
       0x7ee88d3680 [PerformanceEntry] --[mParent]--> 0x7edf0cac00
       0x7d594d5700 [PerformanceEntry] --[mParent]--> 0x7edf0cac00
       0x7ee7d75680 [PerformanceEntry] --[mParent]--> 0x7edf0cac00
       0x7ee88f1900 [PerformanceEntry] --[mParent]--> 0x7edf0cac00
       0x7ee88d4500 [PerformanceEntry] --[mParent]--> 0x7edf0cac00
       0x7ee7a33310 [FontFace] --[mParent]--> 0x7edf0cac00
       0x7edf0cac00 [nsGlobalWindowInner # 2147483651 inner https://mixedreality.mozilla.org/hello-webxr/] --[mTopInnerWindow]--> 0x7edf0cac00
       0x7ee7eb5d00 [PerformanceEntry] --[mParent]--> 0x7edf0cac00
       0x7ee7eb4f00 [PerformanceEntry] --[mParent]--> 0x7edf0cac00
       0x7ee85fdd80 [PerformanceEntry] --[mParent]--> 0x7edf0cac00
       0x7ee7da5880 [PerformanceEntry] --[mParent]--> 0x7edf0cac00
       0x7ee7a13bc0 [URLSearchParams] --[mParent]--> 0x7edf0cac00
       0x7ee7e8f900 [PerformanceEntry] --[mParent]--> 0x7edf0cac00
       0x7ee88e76c0 [CallbackObject] --[mIncumbentGlobal]--> 0x7edf0cac00
       0x7ee88d8d80 [PerformanceEntry] --[mParent]--> 0x7edf0cac00
       0x7ee7d76080 [PerformanceEntry] --[mParent]--> 0x7edf0cac00
       0x7ee7e68880 [PerformanceEntry] --[mParent]--> 0x7edf0cac00
       0x7ee8a0e880 [PerformanceEntry] --[mParent]--> 0x7edf0cac00
       0x7ee5758080 [PerformanceEntry] --[mParent]--> 0x7edf0cac00
       0x7ee7e68480 [PerformanceEntry] --[mParent]--> 0x7edf0cac00
       0x7d45cc9e80 [PerformanceEntry] --[mParent]--> 0x7edf0cac00
       0x7d57d79600 [PerformanceEntry] --[mParent]--> 0x7edf0cac00
       0x7ee5764800 [PerformanceEntry] --[mParent]--> 0x7edf0cac00
       0x7ee88f2500 [PerformanceEntry] --[mParent]--> 0x7edf0cac00
       0x7ee955b880 [XRView] --[mParent]--> 0x7edf0cac00
       0x7edf2f6560 [XRRigidTransform] --[mParent]--> 0x7edf0cac00
       0x7ee5765280 [PerformanceEntry] --[mParent]--> 0x7edf0cac00
       0x7ee7d2da80 [StyleSheet] --[mRelevantGlobal]--> 0x7edf0cac00
       0x7ee951f400 [XRInputSource] --[mParent]--> 0x7edf0cac00
       0x7ee7ad1c00 [PerformanceEntry] --[mParent]--> 0x7edf0cac00
       0x7d45cca680 [PerformanceEntry] --[mParent]--> 0x7edf0cac00
       0x7ee7eb5400 [PerformanceEntry] --[mParent]--> 0x7edf0cac00
       0x7ee88f2000 [PerformanceEntry] --[mParent]--> 0x7edf0cac00
       0x7ee808b480 [PerformanceEntry] --[mParent]--> 0x7edf0cac00
       0x7ee88f2200 [PerformanceEntry] --[mParent]--> 0x7edf0cac00
       0x7d48a96400 [PerformanceEntry] --[mParent]--> 0x7edf0cac00
       0x7ee88f1180 [PerformanceEntry] --[mParent]--> 0x7edf0cac00
       0x7ee7e69500 [PerformanceEntry] --[mParent]--> 0x7edf0cac00
       0x7ee9536100 [Pose] --[mParent]--> 0x7edf0cac00
       0x7d57d7af80 [PerformanceEntry] --[mParent]--> 0x7edf0cac00
       0x7d46d94c00 [PerformanceEntry] --[mParent]--> 0x7edf0cac00
       0x7ee955b640 [XRView] --[mParent]--> 0x7edf0cac00
       0x7ee7e9e380 [PerformanceEntry] --[mParent]--> 0x7edf0cac00
       0x7ee7e68080 [PerformanceEntry] --[mParent]--> 0x7edf0cac00
       0x7ee7a32140 [CallbackObject] --[mIncumbentGlobal]--> 0x7edf0cac00
       0x7ee7afc280 [PerformanceEntry] --[mParent]--> 0x7edf0cac00
       0x7d489a4680 [PerformanceEntry] --[mParent]--> 0x7edf0cac00
       0x7ee7d75480 [PerformanceEntry] --[mParent]--> 0x7edf0cac00
       0x7d4895d200 [PerformanceEntry] --[mParent]--> 0x7edf0cac00
       0x7edf2f6010 [XRRigidTransform] --[mParent]--> 0x7edf0cac00
       0x7ee7afce80 [PerformanceEntry] --[mParent]--> 0x7edf0cac00
       0x7ee7e69180 [PerformanceEntry] --[mParent]--> 0x7edf0cac00
       0x7ee808b080 [PerformanceEntry] --[mParent]--> 0x7edf0cac00
       0x7ee7e8fb80 [PerformanceEntry] --[mParent]--> 0x7edf0cac00
       0x7ee88f2300 [PerformanceEntry] --[mParent]--> 0x7edf0cac00
       0x7ee7eb5f00 [PerformanceEntry] --[mParent]--> 0x7edf0cac00
       0x7ee7a93790 [Location] --[mInnerWindow]--> 0x7edf0cac00
       0x7ee7ab2900 [CallbackObject] --[mIncumbentGlobal]--> 0x7edf0cac00
       0x7ee88d8d00 [PerformanceEntry] --[mParent]--> 0x7edf0cac00
       0x7ee7ac3d40 [CallbackObject] --[mIncumbentGlobal]--> 0x7edf0cac00
       0x7ee808a580 [PerformanceEntry] --[mParent]--> 0x7edf0cac00
       0x7ee7da6b80 [PerformanceEntry] --[mParent]--> 0x7edf0cac00
       0x7ee7e68280 [PerformanceEntry] --[mParent]--> 0x7edf0cac00
       0x7ee88f2880 [PerformanceEntry] --[mParent]--> 0x7edf0cac00
       0x7ee79b8580 [Crypto] --[mParent]--> 0x7edf0cac00
       0x7ee7a13c80 [CallbackObject] --[mIncumbentGlobal]--> 0x7edf0cac00
       0x7ee88f2800 [PerformanceEntry] --[mParent]--> 0x7edf0cac00
       0x7ee85fdf00 [PerformanceEntry] --[mParent]--> 0x7edf0cac00
       0x7ee7a32640 [CallbackObject] --[mIncumbentGlobal]--> 0x7edf0cac00
       0x7ee7eb4a80 [PerformanceEntry] --[mParent]--> 0x7edf0cac00
       0x7d46139e00 [PerformanceEntry] --[mParent]--> 0x7edf0cac00
       0x7d45ccae00 [PerformanceEntry] --[mParent]--> 0x7edf0cac00
       0x7ee7eb5500 [PerformanceEntry] --[mParent]--> 0x7edf0cac00
       0x7ee7ac3f80 [CallbackObject] --[mIncumbentGlobal]--> 0x7edf0cac00
       0x7ee1f27e00 [PerformanceEntry] --[mParent]--> 0x7edf0cac00
       0x7ee85fc380 [PerformanceEntry] --[mParent]--> 0x7edf0cac00
       0x7ee7e9ef00 [PerformanceEntry] --[mParent]--> 0x7edf0cac00
       0x7eda939060 [JS Object (Window)] --[UnwrapDOMObject(obj)]--> 0x7edf0cac00
       0x7ee7a32600 [CallbackObject] --[mIncumbentGlobal]--> 0x7edf0cac00
       0x7ee1f26900 [PerformanceEntry] --[mParent]--> 0x7edf0cac00
       0x7ee7da6d00 [PerformanceEntry] --[mParent]--> 0x7edf0cac00
       0x7d594c3b80 [PerformanceEntry] --[mParent]--> 0x7edf0cac00
       0x7ee8a2d640 [Pose] --[mParent]--> 0x7edf0cac00
       0x7ee7da0d80 [PerformanceEntry] --[mParent]--> 0x7edf0cac00
       0x7ee7a9f800 [CallbackObject] --[mIncumbentGlobal]--> 0x7edf0cac00
       0x7ee9513780 [PerformanceEntry] --[mParent]--> 0x7edf0cac00
       0x7ee7ac3e00 [CallbackObject] --[mIncumbentGlobal]--> 0x7edf0cac00
       0x7ee7e8fd00 [PerformanceEntry] --[mParent]--> 0x7edf0cac00
Assignee: nobody → imanol
Pushed by igorostizaga@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/b32a0c476731
Fix leaked  nsGlobalWindowInner instance in WebXR CC r=kip,daoshengmu
Status: NEW → RESOLVED
Closed: 3 months ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla79
You need to log in before you can comment on or make changes to this bug.