Closed Bug 935809 Opened 11 years ago Closed 7 years ago

Kill JSCList usage in the JS debugger

Categories

(Core :: JavaScript Engine, defect)

defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla55
Tracking Status
firefox55 --- fixed

People

(Reporter: gkw, Assigned: erahm)

References

(Blocks 1 open bug)

Details

(Whiteboard: [lang=c++])

Attachments

(4 files)

nbp mentions that JSCList should be killed off someday - let's write C++ instead. It is mostly still used in the js debugger.

http://dxr.mozilla.org/mozilla-central/search?q=JSCList

Found when JSCList caused false positives in Coverity static analysis results (based off around Oct 31, 2013).
Status: NEW → RESOLVED
Closed: 11 years ago
Resolution: --- → DUPLICATE
Bug 803441 seemed more like a meta bug, and this bug seemed to be about JSCList usage in the js debugger (as per comment 0), so let's firm it up this way. (Moreover there wasn't a dependent bug on bug 803441 which mentions the js debugger)
Blocks: 803441
Status: RESOLVED → REOPENED
Resolution: DUPLICATE → ---
Summary: Kill JSCList → Kill JSCList usage in the JS debugger
Status: REOPENED → NEW
I am in favor of this change. :)
note to self: I'd prefer using the coverity keyword to track actual issues found by coverity.
Keywords: coverity
Mentor: erahm
Whiteboard: [lang=c++][good first bug]
Hello!Is this bug still unsolved?I'm new to open source and I would like to give this a try.
Hi HellosAazS, and welcome!

This is still unsolved, yes. A good start for working on this is probably to take a look at the remaining uses here:
http://searchfox.org/mozilla-central/search?q=JSCList&path=

It looks there are only a few remaining, so removing JSCList itself doesn't seem too far off.

If you need any more information, set the "Need more information from" checkbox and enter ":erahm" in the text input next to it so Eric gets notified. Otherwise, once you have a patch attach it here and set the "review" flag on the attachment, again with ":erahm" in the text input that'll appear next to the checkbox.
Will do.Thanks for the help!
Hello, Eric! I'm new to here and I'm trying to solve this bug. I've tried to read source code of Debugger(which use JSCList) and LinkedList in http://searchfox.org/mozilla-central/search?q=JSCList&path=
. But when I want to modify the code, I found that I lost in the thousands lines of code and don't know where to start and what to do first.
I know this question is somewhat stupid, but I've never work with open source before, please forgive me!
Could you please guide me a little or give me any clues? That will be helpful and thank you in advanced!
(P.S.:This is the first time I use Bugzilla,so I don't know whether this comment is inappropriate or not.If it is,please let me know and please accept my apologies!)
Flags: needinfo?(erahm)
(In reply to HellosAazS from comment #8)
> Could you please guide me a little or give me any clues?

Of course! This bug sounds pretty simple, we ideally want to convert the usage of |JSCList| [1] to |mozilla::LinkedList| [2], but it turns out it's a bit tricky as we seem to want to hold these elements in multiple lists and |mozilla::LinkedList| doesn't support that. I'll layout what lists we have below and loop in a JS engine expert to help us sort this out.

First we can see the usages from searchfox are limited to js/src/vm/Debugger.cpp, js/src/vm/Debugger.h, and js/src/vm/Runtime.h [3]. So hopefully that's a little less intimidating. From what I can tell there three lists remaining:

#1 - JSRuntime::onNewGlobalObjectWatchers_ [4]

This holds a list of |js::Debugger| instances. We can see that |js::Debugger| is already a |LinkedListElement|, which is both a good thing and a bad thing. This means it's already held in a separate linked list and we'll need to figure out how to manager that.

#2 - Debugger::breakpoints [5]

This holds a list of |js::Breakpoint| instances. We would want to make |js::Breakpoint| implement |LinkedListElement| like so:

> class Breakpoint : public mozilla::LinkedListElement<Breakpoint>

But there's a catch, as the next list also wants to hold the same breakpoints.

#3 - BreakpointSite::breakpoints [6]

This also holds a list of |js::Breakpoint| instances.

Jim do you have any thoughts on how HellosAazS should proceed? 

[1] http://searchfox.org/mozilla-central/rev/944f87c575e8a0bcefc1ed8efff10b34cf7a5169/js/src/jsclist.h
[2] http://searchfox.org/mozilla-central/rev/944f87c575e8a0bcefc1ed8efff10b34cf7a5169/mfbt/LinkedList.h
[3] http://searchfox.org/mozilla-central/search?q=JSCList&path=
[4] http://searchfox.org/mozilla-central/rev/944f87c575e8a0bcefc1ed8efff10b34cf7a5169/js/src/vm/Runtime.h#583
[5] http://searchfox.org/mozilla-central/rev/944f87c575e8a0bcefc1ed8efff10b34cf7a5169/js/src/vm/Debugger.h#388
[6] http://searchfox.org/mozilla-central/rev/944f87c575e8a0bcefc1ed8efff10b34cf7a5169/js/src/vm/Debugger.h#1566
Flags: needinfo?(erahm) → needinfo?(jimb)
Thanks, these info help me a lot! I'll focus on these parts while waiting to know if Jim has any suggestions!
Hi, Eric!I think Jim haven't reply this.Do you have any suggestions on how I should proceed?
Or do you think I should find another bug until there's more information?
Flags: needinfo?(erahm)
(In reply to HellosAazS from comment #11)
> Hi, Eric!I think Jim haven't reply this.Do you have any suggestions on how I
> should proceed?
> Or do you think I should find another bug until there's more information?

It might be a good idea to switch to another bug while we wait for jimb to respond. You might be interested in a similar, but more straightforward bug 1357155 in the meantime. Thank you again for your interest in contributing!
Flags: needinfo?(erahm)
(In reply to Eric Rahm [:erahm] from comment #12)

> It might be a good idea to switch to another bug while we wait for jimb to
> respond. You might be interested in a similar, but more straightforward bug
> 1357155 in the meantime. Thank you again for your interest in contributing!

Will do, and thank you for all your help!(Still look forward to solved this bug if no one come and pick this up!)
Sorry to be slow to reply.

I can see why this might have been marked as a "good first bug", but having looked it over, I'm not sure it is.

I think Debugger happens to be a complicated use of a usually simple feature. As Eric points out, JSCList allows nodes to be inserted in more than one list at a time, whereas mozilla::LinkedList does not. So Debugger is not a situation where we can simply replace the one with the other.

The linked list management for breakpoints is pretty hairy, and unless you're quite comfortable with C++, this probably just isn't a good place to start.

It's possible to replace Debugger::onNewGlobalObjectWatchersLink and JSRuntime::onNewGlobalObjectWatchers_ with something like a mozilla::Vector, but that would mean that removal would change from a constant-time unlink operation to a scan of the vector, linear in the number of Debuggers. That's probably fine in almost all realistic circumstances.

But this, too, requires a pretty solid understanding of pointers and lifetimes in C++. HellosAazS, take a look at that and if it looks straightforward, 

If we had bug 1277725, that might change the situation a bit.
Flags: needinfo?(jimb)
Thanks for your explanation!
I think this is a little complex for me as I don't familiar with the codebase now.
I'll still give it a try and hope that if I could find the way to solve this.
Clearing mentor flags, this isn't a good first bug.
Mentor: erahm
Whiteboard: [lang=c++][good first bug] → [lang=c++]
MozReview-Commit-ID: 4G37uslYlOb
Attachment #8861241 - Flags: review?(jwalden+bmo)
Assignee: nobody → erahm
Status: NEW → ASSIGNED
MozReview-Commit-ID: J4jdqLOksND
Attachment #8861243 - Flags: review?(jimb)
MozReview-Commit-ID: 75SY0ab5gxn
Attachment #8861244 - Flags: review?(jimb)
MozReview-Commit-ID: Du6i1FlJ3Uu
Attachment #8861245 - Flags: review?(jimb)
Attachment #8861243 - Flags: review?(jimb) → review+
Attachment #8861244 - Flags: review?(jimb) → review+
Comment on attachment 8861243 [details] [diff] [review]
Part 1: Convert breakpoint lists to DoublyLinkedList

Review of attachment 8861243 [details] [diff] [review]:
-----------------------------------------------------------------

::: js/src/vm/Debugger.cpp
@@ +560,5 @@
>  bool
> +BreakpointSite::hasBreakpoint(Breakpoint* toFind)
> +{
> +    const BreakpointList::Iterator bp(toFind);
> +    for (auto p = breakpoints.begin(); p; p++)

Can't this iteration be expressed using the `for (auto p: ...)` syntax?
Attachment #8861245 - Flags: review?(jimb) → review+
(In reply to Jim Blandy :jimb from comment #21)
> Comment on attachment 8861243 [details] [diff] [review]
> Part 1: Convert breakpoint lists to DoublyLinkedList
> 
> Review of attachment 8861243 [details] [diff] [review]:
> -----------------------------------------------------------------
> 
> ::: js/src/vm/Debugger.cpp
> @@ +560,5 @@
> >  bool
> > +BreakpointSite::hasBreakpoint(Breakpoint* toFind)
> > +{
> > +    const BreakpointList::Iterator bp(toFind);
> > +    for (auto p = breakpoints.begin(); p; p++)
> 
> Can't this iteration be expressed using the `for (auto p: ...)` syntax?

It wants to do pointer comparison (this == toFind), the auto loop would give a ref. I guess we could & that. I don't care much either way.
Attachment #8861241 - Flags: review?(jwalden+bmo) → review+
Backout by ihsiao@mozilla.com:
https://hg.mozilla.org/integration/mozilla-inbound/rev/52be37a54d86
Backed out 4 changesets for build bustage. a=backout
(In reply to Iris Hsiao [:ihsiao] from comment #24)
> Backed out for build bustage like
> https://treeherder.mozilla.org/logviewer.html#?job_id=94683863&repo=mozilla-
> inbound&lineNumber=4717

Looks like this was due Werror on mismatched struct/class definitions. Lets try again.
Flags: needinfo?(erahm)
Backed out for jetpack and devtools failures, e.g. in browser_markers-docloading-03.js:

https://hg.mozilla.org/integration/mozilla-inbound/rev/5164c446bb509ef25506571641dc42946b6ae681
https://hg.mozilla.org/integration/mozilla-inbound/rev/686f63f0ae03b4075a53e6612b4d181cfbbfa493
https://hg.mozilla.org/integration/mozilla-inbound/rev/25c2b5f34d0313dad1b7056daa925f20464e23d3
https://hg.mozilla.org/integration/mozilla-inbound/rev/bd5015b3bb070126d31cec459c6ba13caa863fab

Push with failures: https://treeherder.mozilla.org/#/jobs?repo=mozilla-inbound&revision=599280aecc96edf37ae669f407a6fb382550fea2&filter-resultStatus=testfailed&filter-resultStatus=busted&filter-resultStatus=exception&filter-resultStatus=retry&filter-resultStatus=usercancel&filter-resultStatus=runnable
Failure log: https://treeherder.mozilla.org/logviewer.html#?job_id=96065373&repo=mozilla-inbound

[task 2017-05-02T22:03:00.450218Z] 22:03:00     INFO - TEST-START | devtools/server/tests/browser/browser_markers-gc.js
[task 2017-05-02T22:03:01.201702Z] 22:03:01     INFO - GECKO(1946) | MEMORY STAT | vsize 1046MB | residentFast 319MB | heapAllocated 203MB
[task 2017-05-02T22:03:01.201801Z] 22:03:01     INFO - TEST-OK | devtools/server/tests/browser/browser_markers-gc.js | took 751ms
[task 2017-05-02T22:03:01.218025Z] 22:03:01     INFO - GECKO(1946) | ExceptionHandler::GenerateDump cloned child 2025
[task 2017-05-02T22:03:01.218120Z] 22:03:01     INFO - GECKO(1946) | ExceptionHandler::SendContinueSignalToChild sent continue signal to child
[task 2017-05-02T22:03:01.219169Z] 22:03:01     INFO - GECKO(1946) | ExceptionHandler::WaitForContinueSignal waiting for continue signal...
[task 2017-05-02T22:03:01.473027Z] 22:03:01     INFO - TEST-INFO | Main app process: exit 11
[task 2017-05-02T22:03:01.473166Z] 22:03:01     INFO - Buffered messages finished
[task 2017-05-02T22:03:01.473239Z] 22:03:01    ERROR - TEST-UNEXPECTED-FAIL | devtools/server/tests/browser/browser_markers-gc.js | application terminated with exit code 11
[task 2017-05-02T22:03:01.473288Z] 22:03:01     INFO - runtests.py | Application ran for: 0:00:31.596013
[task 2017-05-02T22:03:01.473332Z] 22:03:01     INFO - zombiecheck | Reading PID log: /tmp/tmpyFTdQapidlog
[task 2017-05-02T22:03:01.473374Z] 22:03:01     INFO - ==> process 1946 launched child process 1969
[task 2017-05-02T22:03:01.473478Z] 22:03:01     INFO - zombiecheck | Checking for orphan process with PID: 1969
[task 2017-05-02T22:03:01.473560Z] 22:03:01     INFO - mozcrash Downloading symbols from: https://queue.taskcluster.net/v1/task/bFNmwuDBRV2c465V-feFEg/artifacts/public/build/target.crashreporter-symbols.zip
[task 2017-05-02T22:03:06.442107Z] 22:03:06     INFO - mozcrash Copy/paste: /usr/local/bin/linux64-minidump_stackwalk /tmp/tmpiihK8M.mozrunner/minidumps/5c0372ea-5832-f9a9-ebe1-60443ac77e0c.dmp /tmp/tmpiVsqmB
[task 2017-05-02T22:03:12.307619Z] 22:03:12     INFO - mozcrash Saved minidump as /home/worker/workspace/build/blobber_upload_dir/5c0372ea-5832-f9a9-ebe1-60443ac77e0c.dmp
[task 2017-05-02T22:03:12.308144Z] 22:03:12     INFO - mozcrash Saved app info as /home/worker/workspace/build/blobber_upload_dir/5c0372ea-5832-f9a9-ebe1-60443ac77e0c.extra
[task 2017-05-02T22:03:12.693457Z] 22:03:12     INFO - PROCESS-CRASH | devtools/server/tests/browser/browser_markers-gc.js | application crashed [@ js::Debugger::slowPathOnNewGlobalObject]
[task 2017-05-02T22:03:12.693827Z] 22:03:12     INFO - Crash dump filename: /tmp/tmpiihK8M.mozrunner/minidumps/5c0372ea-5832-f9a9-ebe1-60443ac77e0c.dmp
[task 2017-05-02T22:03:12.694107Z] 22:03:12     INFO - Operating system: Linux
[task 2017-05-02T22:03:12.694523Z] 22:03:12     INFO -                   0.0.0 Linux 3.13.0-112-generic #159-Ubuntu SMP Fri Mar 3 15:26:07 UTC 2017 x86_64
[task 2017-05-02T22:03:12.694819Z] 22:03:12     INFO - CPU: x86
[task 2017-05-02T22:03:12.695110Z] 22:03:12     INFO -      GenuineIntel family 6 model 62 stepping 4
[task 2017-05-02T22:03:12.695399Z] 22:03:12     INFO -      2 CPUs
[task 2017-05-02T22:03:12.695720Z] 22:03:12     INFO - 
[task 2017-05-02T22:03:12.695984Z] 22:03:12     INFO - GPU: UNKNOWN
[task 2017-05-02T22:03:12.696257Z] 22:03:12     INFO - 
[task 2017-05-02T22:03:12.696552Z] 22:03:12     INFO - Crash reason:  SIGSEGV
[task 2017-05-02T22:03:12.696843Z] 22:03:12     INFO - Crash address: 0x4
[task 2017-05-02T22:03:12.697135Z] 22:03:12     INFO - Process uptime: not available
[task 2017-05-02T22:03:12.697460Z] 22:03:12     INFO - 
[task 2017-05-02T22:03:12.697833Z] 22:03:12     INFO - Thread 0 (crashed)
[task 2017-05-02T22:03:12.698146Z] 22:03:12     INFO -  0  libxul.so!js::Debugger::slowPathOnNewGlobalObject [HeapAPI.h:599280aecc96 : 318 + 0x8]
[task 2017-05-02T22:03:12.698466Z] 22:03:12     INFO -     eip = 0xf4af02de   esp = 0xff9d72b0   ebp = 0xff9d7368   ebx = 0xf61dfefc
[task 2017-05-02T22:03:12.698799Z] 22:03:12     INFO -     esi = 0x00000000   edi = 0xce4b9400   eax = 0x00000004   ecx = 0xf73cfbc8
[task 2017-05-02T22:03:12.699104Z] 22:03:12     INFO -     edx = 0xf49d3699   efl = 0x00010202
[task 2017-05-02T22:03:12.699409Z] 22:03:12     INFO -     Found by: given as instruction pointer in context
[task 2017-05-02T22:03:12.699707Z] 22:03:12     INFO -  1  libxul.so!JS_FireOnNewGlobalObject [Debugger.h:599280aecc96 : 1804 + 0xc]
[task 2017-05-02T22:03:12.700007Z] 22:03:12     INFO -     eip = 0xf499e5ea   esp = 0xff9d7370   ebp = 0xff9d73a8   ebx = 0xf61dfefc
[task 2017-05-02T22:03:12.700312Z] 22:03:12     INFO -     esi = 0xf7163800   edi = 0xff9d739c
[task 2017-05-02T22:03:12.700605Z] 22:03:12     INFO -     Found by: call frame info
[task 2017-05-02T22:03:12.700916Z] 22:03:12     INFO -  2  libxul.so!xpc::InitGlobalObject [nsXPConnect.cpp:599280aecc96 : 558 + 0x9]
[task 2017-05-02T22:03:12.701243Z] 22:03:12     INFO -     eip = 0xf2bd37fc   esp = 0xff9d73b0   ebp = 0xff9d73e8   ebx = 0xf61dfefc
[task 2017-05-02T22:03:12.701559Z] 22:03:12     INFO -     esi = 0xf7163800   edi = 0xff9d7424
[task 2017-05-02T22:03:12.701853Z] 22:03:12     INFO -     Found by: call frame info
[task 2017-05-02T22:03:12.702168Z] 22:03:12     INFO -  3  libxul.so!nsXPConnect::InitClassesWithNewWrappedGlobal [nsXPConnect.cpp:599280aecc96 : 598 + 0x9]
[task 2017-05-02T22:03:12.702485Z] 22:03:12     INFO -     eip = 0xf2bda25a   esp = 0xff9d73f0   ebp = 0xff9d7448   ebx = 0xf61dfefc
[task 2017-05-02T22:03:12.702790Z] 22:03:12     INFO -     esi = 0xff9d7428   edi = 0x80004005
[task 2017-05-02T22:03:12.703079Z] 22:03:12     INFO -     Found by: call frame info
[task 2017-05-02T22:03:12.703412Z] 22:03:12     INFO -  4  libxul.so!nsMessageManagerScriptExecutor::InitChildGlobalInternal [nsFrameMessageManager.cpp:599280aecc96 : 1710 + 0x1a]
[task 2017-05-02T22:03:12.703733Z] 22:03:12     INFO -     eip = 0xf2edefaf   esp = 0xff9d7450   ebp = 0xff9d7508   ebx = 0xf61dfefc
[task 2017-05-02T22:03:12.704031Z] 22:03:12     INFO -     esi = 0xce419650   edi = 0xef51a7b0
[task 2017-05-02T22:03:12.704316Z] 22:03:12     INFO -     Found by: call frame info
[task 2017-05-02T22:03:12.704645Z] 22:03:12     INFO -  5  libxul.so!nsInProcessTabChildGlobal::InitTabChildGlobal [nsInProcessTabChildGlobal.cpp:599280aecc96 : 307 + 0x17]
[task 2017-05-02T22:03:12.704965Z] 22:03:12     INFO -     eip = 0xf2fbe8a6   esp = 0xff9d7510   ebp = 0xff9d75f8   ebx = 0xf61dfefc
[task 2017-05-02T22:03:12.705279Z] 22:03:12     INFO -     esi = 0xff9d758c   edi = 0x00000024
[task 2017-05-02T22:03:12.705584Z] 22:03:12     INFO -     Found by: call frame info
[task 2017-05-02T22:03:12.705903Z] 22:03:12     INFO -  6  libxul.so!nsInProcessTabChildGlobal::Init [nsInProcessTabChildGlobal.cpp:599280aecc96 : 131 + 0x6]
[task 2017-05-02T22:03:12.706227Z] 22:03:12     INFO -     eip = 0xf2fbe8e5   esp = 0xff9d7600   ebp = 0xff9d7628   ebx = 0xf61dfefc
[task 2017-05-02T22:03:12.706527Z] 22:03:12     INFO -     esi = 0xce419620   edi = 0xff9d76bc
[task 2017-05-02T22:03:12.706786Z] 22:03:12     INFO -     Found by: call frame info
[task 2017-05-02T22:03:12.707059Z] 22:03:12     INFO -  7  libxul.so!nsInProcessTabChildGlobal::LoadFrameScript [nsInProcessTabChildGlobal.cpp:599280aecc96 : 337 + 0x6]
[task 2017-05-02T22:03:12.707325Z] 22:03:12     INFO -     eip = 0xf2fca44d   esp = 0xff9d7630   ebp = 0xff9d7668   ebx = 0xf61dfefc
[task 2017-05-02T22:03:12.707671Z] 22:03:12     INFO -     esi = 0xce419620   edi = 0xff9d76bc
[task 2017-05-02T22:03:12.707969Z] 22:03:12     INFO -     Found by: call frame info
[task 2017-05-02T22:03:12.708281Z] 22:03:12     INFO -  8  libxul.so!nsAsyncScriptLoad::Run [nsInProcessTabChildGlobal.cpp:599280aecc96 : 320 + 0x11]
[task 2017-05-02T22:03:12.708597Z] 22:03:12     INFO -     eip = 0xf2fca498   esp = 0xff9d7670   ebp = 0xff9d7688   ebx = 0xf61dfefc
[task 2017-05-02T22:03:12.708900Z] 22:03:12     INFO -     esi = 0x00000002   edi = 0xff9d76bc
[task 2017-05-02T22:03:12.709211Z] 22:03:12     INFO -     Found by: call frame info
[task 2017-05-02T22:03:12.709530Z] 22:03:12     INFO -  9  libxul.so!nsContentUtils::RemoveScriptBlocker [nsContentUtils.cpp:599280aecc96 : 5407 + 0x6]
[task 2017-05-02T22:03:12.709835Z] 22:03:12     INFO -     eip = 0xf2ed1196   esp = 0xff9d7690   ebp = 0xff9d76d8   ebx = 0xf61dfefc
[task 2017-05-02T22:03:12.710239Z] 22:03:12     INFO -     esi = 0x00000002   edi = 0xff9d76bc
[task 2017-05-02T22:03:12.710579Z] 22:03:12     INFO -     Found by: call frame info
[task 2017-05-02T22:03:12.710929Z] 22:03:12     INFO - 10  libxul.so!nsDocument::EndUpdate [nsDocument.cpp:599280aecc96 : 5093 + 0x5]
[task 2017-05-02T22:03:12.711283Z] 22:03:12     INFO -     eip = 0xf2fb5244   esp = 0xff9d76e0   ebp = 0xff9d7718   ebx = 0xf61dfefc
[task 2017-05-02T22:03:12.711582Z] 22:03:12     INFO -     esi = 0xe1ca9000   edi = 0xff9d7704
[task 2017-05-02T22:03:12.711907Z] 22:03:12     INFO -     Found by: call frame info
[task 2017-05-02T22:03:12.712259Z] 22:03:12     INFO - 11  libxul.so!mozilla::dom::XULDocument::EndUpdate [XULDocument.cpp:599280aecc96 : 3193 + 0x9]
[task 2017-05-02T22:03:12.712572Z] 22:03:12     INFO -     eip = 0xf3974b8f   esp = 0xff9d7720   ebp = 0xff9d7738   ebx = 0xf61dfefc
[task 2017-05-02T22:03:12.712869Z] 22:03:12     INFO -     esi = 0xe1ca9000   edi = 0xd9ddd970
[task 2017-05-02T22:03:12.713208Z] 22:03:12     INFO -     Found by: call frame info
[task 2017-05-02T22:03:12.713561Z] 22:03:12     INFO - 12  libxul.so!mozAutoDocUpdate::~mozAutoDocUpdate [mozAutoDocUpdate.h:599280aecc96 : 40 + 0xe]
[task 2017-05-02T22:03:12.713915Z] 22:03:12     INFO -     eip = 0xf2f24080   esp = 0xff9d7740   ebp = 0xff9d7758   ebx = 0xf61dfefc
[task 2017-05-02T22:03:12.714293Z] 22:03:12     INFO -     esi = 0xff9d77a8   edi = 0xd9ddd970
[task 2017-05-02T22:03:12.714693Z] 22:03:12     INFO -     Found by: call frame info
[task 2017-05-02T22:03:12.715004Z] 22:03:12     INFO - 13  libxul.so!nsINode::ReplaceOrInsertBefore [nsINode.cpp:599280aecc96 : 2380 + 0xe]
[task 2017-05-02T22:03:12.715308Z] 22:03:12     INFO -     eip = 0xf2fc80ee   esp = 0xff9d7760   ebp = 0xff9d78d8   ebx = 0xf61dfefc
[task 2017-05-02T22:03:12.715607Z] 22:03:12     INFO -     esi = 0xce4e60b0   edi = 0xd9ddd970
[task 2017-05-02T22:03:12.715945Z] 22:03:12     INFO -     Found by: call frame info
[task 2017-05-02T22:03:12.716319Z] 22:03:12     INFO - 14  libxul.so!mozilla::dom::NodeBinding::appendChild [nsINode.h:599280aecc96 : 1825 + 0xa]
[task 2017-05-02T22:03:12.716649Z] 22:03:12     INFO -     eip = 0xf30b6695   esp = 0xff9d78e0   ebp = 0xff9d7948   ebx = 0xf61dfefc
[task 2017-05-02T22:03:12.716949Z] 22:03:12     INFO -     esi = 0xf7163800   edi = 0xd99cd8a0
[task 2017-05-02T22:03:12.717324Z] 22:03:12     INFO -     Found by: call frame info
[task 2017-05-02T22:03:12.717642Z] 22:03:12     INFO - 15  libxul.so!mozilla::dom::GenericBindingMethod [BindingUtils.cpp:599280aecc96 : 2954 + 0x6]
[task 2017-05-02T22:03:12.717993Z] 22:03:12     INFO -     eip = 0xf3406e34   esp = 0xff9d7950   ebp = 0xff9d79a8   ebx = 0xf61dfefc
[task 2017-05-02T22:03:12.718288Z] 22:03:12     INFO -     esi = 0xf5fceac4   edi = 0xda645980
[task 2017-05-02T22:03:12.718621Z] 22:03:12     INFO -     Found by: call frame info
[task 2017-05-02T22:03:12.718930Z] 22:03:12     INFO - 16  libxul.so!js::InternalCallOrConstruct [jscntxtinlines.h:599280aecc96 : 291 + 0x10]
[task 2017-05-02T22:03:12.719243Z] 22:03:12     INFO -     eip = 0xf46a78b7   esp = 0xff9d79b0   ebp = 0xff9d7a48   ebx = 0xf61dfefc
[task 2017-05-02T22:03:12.719537Z] 22:03:12     INFO -     esi = 0xff9d7a10   edi = 0xf7163800
[task 2017-05-02T22:03:12.719833Z] 22:03:12     INFO -     Found by: call frame info
[task 2017-05-02T22:03:12.720139Z] 22:03:12     INFO - 17  libxul.so!InternalCall [Interpreter.cpp:599280aecc96 : 515 + 0x15]
[task 2017-05-02T22:03:12.720458Z] 22:03:12     INFO -     eip = 0xf46a7d6a   esp = 0xff9d7a50   ebp = 0xff9d7a88   ebx = 0xf61dfefc
[task 2017-05-02T22:03:12.720773Z] 22:03:12     INFO -     esi = 0xda645980   edi = 0xffffff8c
[task 2017-05-02T22:03:12.721062Z] 22:03:12     INFO -     Found by: call frame info
[task 2017-05-02T22:03:12.721388Z] 22:03:12     INFO - 18  libxul.so!Interpret [Interpreter.cpp:599280aecc96 : 521 + 0x13]
[task 2017-05-02T22:03:12.721702Z] 22:03:12     INFO -     eip = 0xf469ad07   esp = 0xff9d7a90   ebp = 0xff9d7df8   ebx = 0xf61dfefc
[task 2017-05-02T22:03:12.722051Z] 22:03:12     INFO -     esi = 0xff9d7ce4   edi = 0x00000000
[task 2017-05-02T22:03:12.722344Z] 22:03:12     INFO -     Found by: call frame info
[task 2017-05-02T22:03:12.722651Z] 22:03:12     INFO - 19  libxul.so!js::RunScript [Interpreter.cpp:599280aecc96 : 410 + 0xa]
[task 2017-05-02T22:03:12.722955Z] 22:03:12     INFO -     eip = 0xf46a7328   esp = 0xff9d7e00   ebp = 0xff9d7ea8   ebx = 0xf61dfefc
[task 2017-05-02T22:03:12.723255Z] 22:03:12     INFO -     esi = 0xf7163800   edi = 0xff9d7e40
[task 2017-05-02T22:03:12.723538Z] 22:03:12     INFO -     Found by: call frame info
[task 2017-05-02T22:03:12.723855Z] 22:03:12     INFO - 20  libxul.so!js::InternalCallOrConstruct [Interpreter.cpp:599280aecc96 : 488 + 0xf]
[task 2017-05-02T22:03:12.724167Z] 22:03:12     INFO -     eip = 0xf46a79b8   esp = 0xff9d7eb0   ebp = 0xff9d7f48   ebx = 0xf61dfefc
[task 2017-05-02T22:03:12.724465Z] 22:03:12     INFO -     esi = 0xff9d7f0c   edi = 0xf7163800
[task 2017-05-02T22:03:12.724797Z] 22:03:12     INFO -     Found by: call frame info
[task 2017-05-02T22:03:12.725104Z] 22:03:12     INFO - 21  libxul.so!InternalCall [Interpreter.cpp:599280aecc96 : 515 + 0x15]
[task 2017-05-02T22:03:12.725486Z] 22:03:12     INFO -     eip = 0xf46a7d6a   esp = 0xff9d7f50   ebp = 0xff9d7f88   ebx = 0xf61dfefc
[task 2017-05-02T22:03:12.725782Z] 22:03:12     INFO -     esi = 0xda6458c0   edi = 0xffffff8c
[task 2017-05-02T22:03:12.726074Z] 22:03:12     INFO -     Found by: call frame info
[task 2017-05-02T22:03:12.726378Z] 22:03:12     INFO - 22  libxul.so!js::Call [Interpreter.cpp:599280aecc96 : 534 + 0x8]
[task 2017-05-02T22:03:12.726674Z] 22:03:12     INFO -     eip = 0xf46a7e39   esp = 0xff9d7f90   ebp = 0xff9d7f98   ebx = 0xf61dfefc
[task 2017-05-02T22:03:12.726980Z] 22:03:12     INFO -     esi = 0xff9d8038   edi = 0xffffff8c
[task 2017-05-02T22:03:12.727265Z] 22:03:12     INFO -     Found by: call frame info
[task 2017-05-02T22:03:12.727573Z] 22:03:12     INFO - 23  libxul.so!js::Wrapper::call [Wrapper.cpp:599280aecc96 : 165 + 0x1d]
[task 2017-05-02T22:03:12.727878Z] 22:03:12     INFO -     eip = 0xf4a5f696   esp = 0xff9d7fa0   ebp = 0xff9d80c8   ebx = 0xf61dfefc
[task 2017-05-02T22:03:12.728170Z] 22:03:12     INFO -     esi = 0xff9d8178   edi = 0xffffff8c
[task 2017-05-02T22:03:12.728468Z] 22:03:12     INFO -     Found by: call frame info
[task 2017-05-02T22:03:12.728780Z] 22:03:12     INFO - 24  libxul.so!js::CrossCompartmentWrapper::call [CrossCompartmentWrapper.cpp:599280aecc96 : 353 + 0x1a]
[task 2017-05-02T22:03:12.729096Z] 22:03:12     INFO -     eip = 0xf4a51f94   esp = 0xff9d80d0   ebp = 0xff9d8108   ebx = 0xf61dfefc
[task 2017-05-02T22:03:12.729412Z] 22:03:12     INFO -     esi = 0xf7163800   edi = 0xff9d8178
[task 2017-05-02T22:03:12.729709Z] 22:03:12     INFO -     Found by: call frame info
[task 2017-05-02T22:03:12.730017Z] 22:03:12     INFO - 25  libxul.so!xpc::AddonWrapper<js::CrossCompartmentWrapper>::call [AddonWrapper.cpp:599280aecc96 : 156 + 0xd]
[task 2017-05-02T22:03:12.730388Z] 22:03:12     INFO -     eip = 0xf2b92b39   esp = 0xff9d8110   ebp = 0xff9d8138   ebx = 0xf61dfefc
[task 2017-05-02T22:03:12.730677Z] 22:03:12     INFO -     esi = 0xff9d818c   edi = 0xff9d8178
[task 2017-05-02T22:03:12.730968Z] 22:03:12     INFO -     Found by: call frame info
[task 2017-05-02T22:03:12.731299Z] 22:03:12     INFO - 26  libxul.so!js::proxy_Call [Proxy.cpp:599280aecc96 : 479 + 0x1c]
[task 2017-05-02T22:03:12.731608Z] 22:03:12     INFO -     eip = 0xf4a596aa   esp = 0xff9d8140   ebp = 0xff9d81a8   ebx = 0xf61dfefc
[task 2017-05-02T22:03:12.731909Z] 22:03:12     INFO -     esi = 0xf7163800   edi = 0xff9d818c
[task 2017-05-02T22:03:12.732202Z] 22:03:12     INFO -     Found by: call frame info
[task 2017-05-02T22:03:12.732515Z] 22:03:12     INFO - 27  libxul.so!js::InternalCallOrConstruct [jscntxtinlines.h:599280aecc96 : 291 + 0x10]
[task 2017-05-02T22:03:12.732872Z] 22:03:12     INFO -     eip = 0xf46a7a84   esp = 0xff9d81b0   ebp = 0xff9d8248   ebx = 0xf61dfefc
[task 2017-05-02T22:03:12.733184Z] 22:03:12     INFO -     esi = 0xff9d8210   edi = 0xf7163800
[task 2017-05-02T22:03:12.733478Z] 22:03:12     INFO -     Found by: call frame info
[task 2017-05-02T22:03:12.733779Z] 22:03:12     INFO - 28  libxul.so!InternalCall [Interpreter.cpp:599280aecc96 : 515 + 0x15]
[task 2017-05-02T22:03:12.734094Z] 22:03:12     INFO -     eip = 0xf46a7d6a   esp = 0xff9d8250   ebp = 0xff9d8288   ebx = 0xf61dfefc
[task 2017-05-02T22:03:12.734389Z] 22:03:12     INFO -     esi = 0xe2c7e100   edi = 0xffffff8c
[task 2017-05-02T22:03:12.734755Z] 22:03:12     INFO -     Found by: call frame info
[task 2017-05-02T22:03:12.735059Z] 22:03:12     INFO - 29  libxul.so!Interpret [Interpreter.cpp:599280aecc96 : 521 + 0x13]
[task 2017-05-02T22:03:12.735367Z] 22:03:12     INFO -     eip = 0xf469ad07   esp = 0xff9d8290   ebp = 0xff9d85f8   ebx = 0xf61dfefc
[task 2017-05-02T22:03:12.735670Z] 22:03:12     INFO -     esi = 0xff9d84e4   edi = 0x00000000
[task 2017-05-02T22:03:12.735999Z] 22:03:12     INFO -     Found by: call frame info
[task 2017-05-02T22:03:12.736306Z] 22:03:12     INFO - 30  libxul.so!js::RunScript [Interpreter.cpp:599280aecc96 : 410 + 0xa]
[task 2017-05-02T22:03:12.736621Z] 22:03:12     INFO -     eip = 0xf46a7328   esp = 0xff9d8600   ebp = 0xff9d86a8   ebx = 0xf61dfefc
[task 2017-05-02T22:03:12.736919Z] 22:03:12     INFO -     esi = 0xf7163800   edi = 0xff9d8640
[task 2017-05-02T22:03:12.737226Z] 22:03:12     INFO -     Found by: call frame info
[task 2017-05-02T22:03:12.737621Z] 22:03:12     INFO - 31  libxul.so!js::InternalCallOrConstruct [Interpreter.cpp:599280aecc96 : 488 + 0xf]
[task 2017-05-02T22:03:12.737936Z] 22:03:12     INFO -     eip = 0xf46a79b8   esp = 0xff9d86b0   ebp = 0xff9d8748   ebx = 0xf61dfefc
[task 2017-05-02T22:03:12.738276Z] 22:03:12     INFO -     esi = 0xff9d870c   edi = 0xf7163800
[task 2017-05-02T22:03:12.738602Z] 22:03:12     INFO -     Found by: call frame info
[task 2017-05-02T22:03:12.738903Z] 22:03:12     INFO - 32  libxul.so!InternalCall [Interpreter.cpp:599280aecc96 : 515 + 0x15]
[task 2017-05-02T22:03:12.739207Z] 22:03:12     INFO -     eip = 0xf46a7d6a   esp = 0xff9d8750   ebp = 0xff9d8788   ebx = 0xf61dfefc
[task 2017-05-02T22:03:12.739504Z] 22:03:12     INFO -     esi = 0xf0e000e8   edi = 0xffffff8c
[task 2017-05-02T22:03:12.739787Z] 22:03:12     INFO -     Found by: call frame info
[task 2017-05-02T22:03:12.740074Z] 22:03:12     INFO - 33  libxul.so!js::Call [Interpreter.cpp:599280aecc96 : 534 + 0x8]
[task 2017-05-02T22:03:12.740389Z] 22:03:12     INFO -     eip = 0xf46a7e39   esp = 0xff9d8790   ebp = 0xff9d8798   ebx = 0xf61dfefc
[task 2017-05-02T22:03:12.740730Z] 22:03:12     INFO -     esi = 0xff9d8838   edi = 0xffffff82
[task 2017-05-02T22:03:12.741025Z] 22:03:12     INFO -     Found by: call frame info
[task 2017-05-02T22:03:12.741344Z] 22:03:12     INFO - 34  libxul.so!js::Wrapper::call [Wrapper.cpp:599280aecc96 : 165 + 0x1d]
[task 2017-05-02T22:03:12.741651Z] 22:03:12     INFO -     eip = 0xf4a5f696   esp = 0xff9d87a0   ebp = 0xff9d88c8   ebx = 0xf61dfefc
[task 2017-05-02T22:03:12.741952Z] 22:03:12     INFO -     esi = 0xff9d8948   edi = 0xffffff82
[task 2017-05-02T22:03:12.742273Z] 22:03:12     INFO -     Found by: call frame info
[task 2017-05-02T22:03:12.742589Z] 22:03:12     INFO - 35  libxul.so!js::CrossCompartmentWrapper::call [CrossCompartmentWrapper.cpp:599280aecc96 : 353 + 0x1a]
[task 2017-05-02T22:03:12.742901Z] 22:03:12     INFO -     eip = 0xf4a51f94   esp = 0xff9d88d0   ebp = 0xff9d8908   ebx = 0xf61dfefc
[task 2017-05-02T22:03:12.743204Z] 22:03:12     INFO -     esi = 0xf7163800   edi = 0xff9d8948
[task 2017-05-02T22:03:12.743493Z] 22:03:12     INFO -     Found by: call frame info
[task 2017-05-02T22:03:12.743840Z] 22:03:12     INFO - 36  libxul.so!js::proxy_Call [Proxy.cpp:599280aecc96 : 479 + 0x1c]
[task 2017-05-02T22:03:12.744147Z] 22:03:12     INFO -     eip = 0xf4a596aa   esp = 0xff9d8910   ebp = 0xff9d8978   ebx = 0xf61dfefc
[task 2017-05-02T22:03:12.744442Z] 22:03:12     INFO -     esi = 0xf7163800   edi = 0xff9d895c
[task 2017-05-02T22:03:12.744747Z] 22:03:12     INFO -     Found by: call frame info
[task 2017-05-02T22:03:12.745085Z] 22:03:12     INFO - 37  libxul.so!js::InternalCallOrConstruct [jscntxtinlines.h:599280aecc96 : 291 + 0x10]
[task 2017-05-02T22:03:12.745424Z] 22:03:12     INFO -     eip = 0xf46a7a84   esp = 0xff9d8980   ebp = 0xff9d8a18   ebx = 0xf61dfefc
[task 2017-05-02T22:03:12.745727Z] 22:03:12     INFO -     esi = 0xff9d89e0   edi = 0xf7163800
[task 2017-05-02T22:03:12.746020Z] 22:03:12     INFO -     Found by: call frame info
[task 2017-05-02T22:03:12.746323Z] 22:03:12     INFO - 38  libxul.so!InternalCall [Interpreter.cpp:599280aecc96 : 515 + 0x15]
[task 2017-05-02T22:03:12.746633Z] 22:03:12     INFO -     eip = 0xf46a7d6a   esp = 0xff9d8a20   ebp = 0xff9d8a58   ebx = 0xf61dfefc
[task 2017-05-02T22:03:12.746921Z] 22:03:12     INFO -     esi = 0xf0e00138   edi = 0xffffff8c
[task 2017-05-02T22:03:12.747219Z] 22:03:12     INFO -     Found by: call frame info
[task 2017-05-02T22:03:12.747514Z] 22:03:12     INFO - 39  libxul.so!Interpret [Interpreter.cpp:599280aecc96 : 521 + 0x13]
[task 2017-05-02T22:03:12.747831Z] 22:03:12     INFO -     eip = 0xf469ad07   esp = 0xff9d8a60   ebp = 0xff9d8dc8   ebx = 0xf61dfefc
[task 2017-05-02T22:03:12.748134Z] 22:03:12     INFO -     esi = 0xff9d8cb4   edi = 0x00000000
[task 2017-05-02T22:03:12.748427Z] 22:03:12     INFO -     Found by: call frame info
[task 2017-05-02T22:03:12.748734Z] 22:03:12     INFO - 40  libxul.so!js::RunScript [Interpreter.cpp:599280aecc96 : 410 + 0xa]
[task 2017-05-02T22:03:12.749043Z] 22:03:12     INFO -     eip = 0xf46a7328   esp = 0xff9d8dd0   ebp = 0xff9d8e78   ebx = 0xf61dfefc
[task 2017-05-02T22:03:12.749373Z] 22:03:12     INFO -     esi = 0xf7163800   edi = 0xff9d8e10
[task 2017-05-02T22:03:12.749659Z] 22:03:12     INFO -     Found by: call frame info
[task 2017-05-02T22:03:12.749975Z] 22:03:12     INFO - 41  libxul.so!js::InternalCallOrConstruct [Interpreter.cpp:599280aecc96 : 488 + 0xf]
[task 2017-05-02T22:03:12.750373Z] 22:03:12     INFO -     eip = 0xf46a79b8   esp = 0xff9d8e80   ebp = 0xff9d8f18   ebx = 0xf61dfefc
[task 2017-05-02T22:03:12.750676Z] 22:03:12     INFO -     esi = 0xff9d8edc   edi = 0xf7163800
[task 2017-05-02T22:03:12.750971Z] 22:03:12     INFO -     Found by: call frame info
[task 2017-05-02T22:03:12.751269Z] 22:03:12     INFO - 42  libxul.so!InternalCall [Interpreter.cpp:599280aecc96 : 515 + 0x15]
[task 2017-05-02T22:03:12.751582Z] 22:03:12     INFO -     eip = 0xf46a7d6a   esp = 0xff9d8f20   ebp = 0xff9d8f58   ebx = 0xf61dfefc
[task 2017-05-02T22:03:12.751882Z] 22:03:12     INFO -     esi = 0xff9d9008   edi = 0xffffff82
[task 2017-05-02T22:03:12.752174Z] 22:03:12     INFO -     Found by: call frame info
[task 2017-05-02T22:03:12.752468Z] 22:03:12     INFO - 43  libxul.so!js::Call [Interpreter.cpp:599280aecc96 : 534 + 0x8]
[task 2017-05-02T22:03:12.752789Z] 22:03:12     INFO -     eip = 0xf46a7e39   esp = 0xff9d8f60   ebp = 0xff9d8f68   ebx = 0xf61dfefc
[task 2017-05-02T22:03:12.753123Z] 22:03:12     INFO -     esi = 0xff9d9008   edi = 0xffffff82
[task 2017-05-02T22:03:12.753434Z] 22:03:12     INFO -     Found by: call frame info
[task 2017-05-02T22:03:12.753742Z] 22:03:12     INFO - 44  libxul.so!js::Wrapper::call [Wrapper.cpp:599280aecc96 : 165 + 0x1d]
[task 2017-05-02T22:03:12.754046Z] 22:03:12     INFO -     eip = 0xf4a5f696   esp = 0xff9d8f70   ebp = 0xff9d9098   ebx = 0xf61dfefc
[task 2017-05-02T22:03:12.754348Z] 22:03:12     INFO -     esi = 0xff9d9148   edi = 0xffffff82
[task 2017-05-02T22:03:12.754637Z] 22:03:12     INFO -     Found by: call frame info
[task 2017-05-02T22:03:12.755038Z] 22:03:12     INFO - 45  libxul.so!js::CrossCompartmentWrapper::call [CrossCompartmentWrapper.cpp:599280aecc96 : 353 + 0x1a]
[task 2017-05-02T22:03:12.755348Z] 22:03:12     INFO -     eip = 0xf4a51f94   esp = 0xff9d90a0   ebp = 0xff9d90d8   ebx = 0xf61dfefc
[task 2017-05-02T22:03:12.755645Z] 22:03:12     INFO -     esi = 0xf7163800   edi = 0xff9d9148
[task 2017-05-02T22:03:12.755937Z] 22:03:12     INFO -     Found by: call frame info
[task 2017-05-02T22:03:12.756323Z] 22:03:12     INFO - 46  libxul.so!xpc::AddonWrapper<js::CrossCompartmentWrapper>::call [AddonWrapper.cpp:599280aecc96 : 156 + 0xd]
[task 2017-05-02T22:03:12.756672Z] 22:03:12     INFO -     eip = 0xf2b92b39   esp = 0xff9d90e0   ebp = 0xff9d9108   ebx = 0xf61dfefc
[task 2017-05-02T22:03:12.757008Z] 22:03:12     INFO -     esi = 0xff9d915c   edi = 0xff9d9148
[task 2017-05-02T22:03:12.757364Z] 22:03:12     INFO -     Found by: call frame info
[task 2017-05-02T22:03:12.757785Z] 22:03:12     INFO - 47  libxul.so!js::proxy_Call [Proxy.cpp:599280aecc96 : 479 + 0x1c]
[task 2017-05-02T22:03:12.758149Z] 22:03:12     INFO -     eip = 0xf4a596aa   esp = 0xff9d9110   ebp = 0xff9d9178   ebx = 0xf61dfefc
[task 2017-05-02T22:03:12.758510Z] 22:03:12     INFO -     esi = 0xf7163800   edi = 0xff9d915c
[task 2017-05-02T22:03:12.758884Z] 22:03:12     INFO -     Found by: call frame info
[task 2017-05-02T22:03:12.759243Z] 22:03:12     INFO - 48  libxul.so!js::InternalCallOrConstruct [jscntxtinlines.h:599280aecc96 : 291 + 0x10]
[task 2017-05-02T22:03:12.759591Z] 22:03:12     INFO -     eip = 0xf46a7a84   esp = 0xff9d9180   ebp = 0xff9d9218   ebx = 0xf61dfefc
[task 2017-05-02T22:03:12.759954Z] 22:03:12     INFO -     esi = 0xff9d91e0   edi = 0xf7163800
[task 2017-05-02T22:03:12.760324Z] 22:03:12     INFO -     Found by: call frame info
[task 2017-05-02T22:03:12.760650Z] 22:03:12     INFO - 49  libxul.so!InternalCall [Interpreter.cpp:599280aecc96 : 515 + 0x15]
[task 2017-05-02T22:03:12.761018Z] 22:03:12     INFO -     eip = 0xf46a7d6a   esp = 0xff9d9220   ebp = 0xff9d9258   ebx = 0xf61dfefc
[task 2017-05-02T22:03:12.761352Z] 22:03:12     INFO -     esi = 0xff9d9318   edi = 0xff9d9310
[task 2017-05-02T22:03:12.761669Z] 22:03:12     INFO -     Found by: call frame info
[task 2017-05-02T22:03:12.761988Z] 22:03:12     INFO - 50  libxul.so!js::Call [Interpreter.cpp:599280aecc96 : 534 + 0x8]
[task 2017-05-02T22:03:12.762334Z] 22:03:12     INFO -     eip = 0xf46a7e39   esp = 0xff9d9260   ebp = 0xff9d9268   ebx = 0xf61dfefc
[task 2017-05-02T22:03:12.762678Z] 22:03:12     INFO -     esi = 0xff9d9318   edi = 0xff9d9310
[task 2017-05-02T22:03:12.762994Z] 22:03:12     INFO -     Found by: call frame info
[task 2017-05-02T22:03:12.763316Z] 22:03:12     INFO - 51  libxul.so!PromiseReactionJob [Promise.cpp:599280aecc96 : 998 + 0x5]
[task 2017-05-02T22:03:12.763646Z] 22:03:12     INFO -     eip = 0xf472194b   esp = 0xff9d9270   ebp = 0xff9d9368   ebx = 0xf61dfefc
[task 2017-05-02T22:03:12.763967Z] 22:03:12     INFO -     esi = 0xf7163800   edi = 0xff9d9310
[task 2017-05-02T22:03:12.764283Z] 22:03:12     INFO -     Found by: call frame info
[task 2017-05-02T22:03:12.764609Z] 22:03:12     INFO - 52  libxul.so!js::InternalCallOrConstruct [jscntxtinlines.h:599280aecc96 : 291 + 0x10]
[task 2017-05-02T22:03:12.764971Z] 22:03:12     INFO -     eip = 0xf46a78b7   esp = 0xff9d9370   ebp = 0xff9d9408   ebx = 0xf61dfefc
[task 2017-05-02T22:03:12.765310Z] 22:03:12     INFO -     esi = 0xff9d93d0   edi = 0xf7163800
[task 2017-05-02T22:03:12.765641Z] 22:03:12     INFO -     Found by: call frame info
[task 2017-05-02T22:03:12.765962Z] 22:03:12     INFO - 53  libxul.so!InternalCall [Interpreter.cpp:599280aecc96 : 515 + 0x15]
[task 2017-05-02T22:03:12.766293Z] 22:03:12     INFO -     eip = 0xf46a7d6a   esp = 0xff9d9410   ebp = 0xff9d9448   ebx = 0xf61dfefc
[task 2017-05-02T22:03:12.766616Z] 22:03:12     INFO -     esi = 0xff9d94e8   edi = 0x00000002
[task 2017-05-02T22:03:12.766927Z] 22:03:12     INFO -     Found by: call frame info
[task 2017-05-02T22:03:12.767254Z] 22:03:12     INFO - 54  libxul.so!js::Call [Interpreter.cpp:599280aecc96 : 534 + 0x8]
[task 2017-05-02T22:03:12.767588Z] 22:03:12     INFO -     eip = 0xf46a7e39   esp = 0xff9d9450   ebp = 0xff9d9458   ebx = 0xf61dfefc
[task 2017-05-02T22:03:12.767992Z] 22:03:12     INFO -     esi = 0xff9d94e8   edi = 0x00000002
[task 2017-05-02T22:03:12.768299Z] 22:03:12     INFO -     Found by: call frame info
[task 2017-05-02T22:03:12.768613Z] 22:03:12     INFO - 55  libxul.so!JS::Call [jsapi.cpp:599280aecc96 : 2891 + 0x2a]
[task 2017-05-02T22:03:12.768944Z] 22:03:12     INFO -     eip = 0xf49c3e73   esp = 0xff9d9460   ebp = 0xff9d9578   ebx = 0xf61dfefc
[task 2017-05-02T22:03:12.769273Z] 22:03:12     INFO -     esi = 0xff9d95b8   edi = 0x00000002
[task 2017-05-02T22:03:12.769582Z] 22:03:12     INFO -     Found by: call frame info
[task 2017-05-02T22:03:12.769914Z] 22:03:12     INFO - 56  libxul.so!mozilla::dom::PromiseJobCallback::Call [PromiseBinding.cpp:599280aecc96 : 22 + 0x5]
[task 2017-05-02T22:03:12.770250Z] 22:03:12     INFO -     eip = 0xf30f734a   esp = 0xff9d9580   ebp = 0xff9d95e8   ebx = 0xf61dfefc
[task 2017-05-02T22:03:12.770620Z] 22:03:12     INFO -     esi = 0xff9d95d0   edi = 0xff9d95b8
[task 2017-05-02T22:03:12.770937Z] 22:03:12     INFO -     Found by: call frame info
[task 2017-05-02T22:03:12.771266Z] 22:03:12     INFO - 57  libxul.so!mozilla::PromiseJobRunnable::Run [PromiseBinding.h:599280aecc96 : 89 + 0x14]
[task 2017-05-02T22:03:12.771594Z] 22:03:12     INFO -     eip = 0xf25aeb6a   esp = 0xff9d95f0   ebp = 0xff9d96f8   ebx = 0xf61dfefc
[task 2017-05-02T22:03:12.771908Z] 22:03:12     INFO -     esi = 0xff9d9610   edi = 0xff9d9620
[task 2017-05-02T22:03:12.772228Z] 22:03:12     INFO -     Found by: call frame info
[task 2017-05-02T22:03:12.772560Z] 22:03:12     INFO - 58  libxul.so!mozilla::dom::Promise::PerformMicroTaskCheckpoint [Promise.cpp:599280aecc96 : 556 + 0x8]
[task 2017-05-02T22:03:12.772889Z] 22:03:12     INFO -     eip = 0xf38feb8d   esp = 0xff9d9700   ebp = 0xff9d9768   ebx = 0xf61dfefc
[task 2017-05-02T22:03:12.773253Z] 22:03:12     INFO -     esi = 0xff9d9730   edi = 0xf150b3f0
[task 2017-05-02T22:03:12.773570Z] 22:03:12     INFO -     Found by: call frame info
[task 2017-05-02T22:03:12.773888Z] 22:03:12     INFO - 59  libxul.so!nsGlobalWindow::RunTimeoutHandler [nsGlobalWindow.cpp:599280aecc96 : 13144 + 0x5]
[task 2017-05-02T22:03:12.774195Z] 22:03:12     INFO -     eip = 0xf2ef9b99   esp = 0xff9d9770   ebp = 0xff9d9948   ebx = 0xf61dfefc
[task 2017-05-02T22:03:12.774515Z] 22:03:12     INFO -     esi = 0xce4c73d0   edi = 0xff9d97a8
[task 2017-05-02T22:03:12.774824Z] 22:03:12     INFO -     Found by: call frame info
[task 2017-05-02T22:03:12.775239Z] 22:03:12     INFO - 60  libxul.so!mozilla::dom::TimeoutManager::RunTimeout [TimeoutManager.cpp:599280aecc96 : 720 + 0xa]
[task 2017-05-02T22:03:12.775578Z] 22:03:12     INFO -     eip = 0xf2f5a5e9   esp = 0xff9d9950   ebp = 0xff9d99f8   ebx = 0xf61dfefc
[task 2017-05-02T22:03:12.775891Z] 22:03:12     INFO -     esi = 0xce4c73d0   edi = 0xe1dd5880
[task 2017-05-02T22:03:12.776251Z] 22:03:12     INFO -     Found by: call frame info
[task 2017-05-02T22:03:12.776579Z] 22:03:12     INFO - 61  libxul.so!TimerCallback [Timeout.cpp:599280aecc96 : 65 + 0x17]
[task 2017-05-02T22:03:12.776908Z] 22:03:12     INFO -     eip = 0xf2f5a8c3   esp = 0xff9d9a00   ebp = 0xff9d9a28   ebx = 0xf61dfefc
[task 2017-05-02T22:03:12.777242Z] 22:03:12     INFO -     esi = 0xff9d9a1c   edi = 0xce4c73d0
[task 2017-05-02T22:03:12.777552Z] 22:03:12     INFO -     Found by: call frame info
[task 2017-05-02T22:03:12.777950Z] 22:03:12     INFO - 62  libxul.so!nsTimerImpl::Fire [nsTimerImpl.cpp:599280aecc96 : 499 + 0xb]
[task 2017-05-02T22:03:12.778282Z] 22:03:12     INFO -     eip = 0xf2604c57   esp = 0xff9d9a30   ebp = 0xff9d9ad8   ebx = 0xf61dfefc
[task 2017-05-02T22:03:12.778575Z] 22:03:12     INFO -     esi = 0xce6b7390   edi = 0xff9d9aac
[task 2017-05-02T22:03:12.778868Z] 22:03:12     INFO -     Found by: call frame info
[task 2017-05-02T22:03:12.779131Z] 22:03:12     INFO - 63  libxul.so!nsTimerEvent::Run [TimerThread.cpp:599280aecc96 : 284 + 0xd]
[task 2017-05-02T22:03:12.779459Z] 22:03:12     INFO -     eip = 0xf25f88cf   esp = 0xff9d9ae0   ebp = 0xff9d9b28   ebx = 0xf61dfefc
[task 2017-05-02T22:03:12.779772Z] 22:03:12     INFO -     esi = 0xe968b078   edi = 0xff9d9b6c
[task 2017-05-02T22:03:12.780084Z] 22:03:12     INFO -     Found by: call frame info
[task 2017-05-02T22:03:12.780405Z] 22:03:12     INFO - 64  libxul.so!nsThread::ProcessNextEvent [nsThread.cpp:599280aecc96 : 1270 + 0x9]
[task 2017-05-02T22:03:12.780729Z] 22:03:12     INFO -     eip = 0xf26028dc   esp = 0xff9d9b30   ebp = 0xff9d9bb8   ebx = 0xf61dfefc
[task 2017-05-02T22:03:12.781088Z] 22:03:12     INFO -     esi = 0xf1521a00   edi = 0xff9d9b6c
[task 2017-05-02T22:03:12.781417Z] 22:03:12     INFO -     Found by: call frame info
[task 2017-05-02T22:03:12.781742Z] 22:03:12     INFO - 65  libxul.so!NS_ProcessNextEvent [nsThreadUtils.cpp:599280aecc96 : 393 + 0x10]
[task 2017-05-02T22:03:12.782073Z] 22:03:12     INFO -     eip = 0xf26033e6   esp = 0xff9d9bc0   ebp = 0xff9d9bf8   ebx = 0xf61dfefc
[task 2017-05-02T22:03:12.782398Z] 22:03:12     INFO -     esi = 0xf1511eb0   edi = 0xf15261a0
[task 2017-05-02T22:03:12.782750Z] 22:03:12     INFO -     Found by: call frame info
[task 2017-05-02T22:03:12.783082Z] 22:03:12     INFO - 66  libxul.so!mozilla::ipc::MessagePump::Run [MessagePump.cpp:599280aecc96 : 96 + 0xc]
[task 2017-05-02T22:03:12.783412Z] 22:03:12     INFO -     eip = 0xf28f26f5   esp = 0xff9d9c00   ebp = 0xff9d9c48   ebx = 0xf61dfefc
[task 2017-05-02T22:03:12.783742Z] 22:03:12     INFO -     esi = 0xf1511eb0   edi = 0xf15261a0
[task 2017-05-02T22:03:12.784049Z] 22:03:12     INFO -     Found by: call frame info
[task 2017-05-02T22:03:12.784377Z] 22:03:12     INFO - 67  libxul.so!MessageLoop::RunInternal [message_loop.cc:599280aecc96 : 238 + 0x6]
[task 2017-05-02T22:03:12.784706Z] 22:03:12     INFO -     eip = 0xf28d5824   esp = 0xff9d9c50   ebp = 0xff9d9c68   ebx = 0xf61dfefc
[task 2017-05-02T22:03:12.785020Z] 22:03:12     INFO -     esi = 0xf15261a0   edi = 0xf1521a00
[task 2017-05-02T22:03:12.785388Z] 22:03:12     INFO -     Found by: call frame info
[task 2017-05-02T22:03:12.785712Z] 22:03:12     INFO - 68  libxul.so!MessageLoop::Run [message_loop.cc:599280aecc96 : 231 + 0x7]
[task 2017-05-02T22:03:12.786021Z] 22:03:12     INFO -     eip = 0xf28d591d   esp = 0xff9d9c70   ebp = 0xff9d9c98   ebx = 0xf61dfefc
[task 2017-05-02T22:03:12.786347Z] 22:03:12     INFO -     esi = 0xf15261a0   edi = 0xf1521a00
[task 2017-05-02T22:03:12.786650Z] 22:03:12     INFO -     Found by: call frame info
[task 2017-05-02T22:03:12.786967Z] 22:03:12     INFO - 69  libxul.so!nsBaseAppShell::Run [nsBaseAppShell.cpp:599280aecc96 : 156 + 0xe]
[task 2017-05-02T22:03:12.787290Z] 22:03:12     INFO -     eip = 0xf39ff5bc   esp = 0xff9d9ca0   ebp = 0xff9d9cb8   ebx = 0xf61dfefc
[task 2017-05-02T22:03:12.787611Z] 22:03:12     INFO -     esi = 0xecb61ec0   edi = 0xf1521a00
[task 2017-05-02T22:03:12.787919Z] 22:03:12     INFO -     Found by: call frame info
[task 2017-05-02T22:03:12.788263Z] 22:03:12     INFO - 70  libxul.so!nsAppStartup::Run [nsAppStartup.cpp:599280aecc96 : 283 + 0x6]
[task 2017-05-02T22:03:12.788585Z] 22:03:12     INFO -     eip = 0xf4504403   esp = 0xff9d9cc0   ebp = 0xff9d9cd8   ebx = 0xf61dfefc
[task 2017-05-02T22:03:12.788913Z] 22:03:12     INFO -     esi = 0xecbe8100   edi = 0x00000077
[task 2017-05-02T22:03:12.789235Z] 22:03:12     INFO -     Found by: call frame info
[task 2017-05-02T22:03:12.789560Z] 22:03:12     INFO - 71  libxul.so!XREMain::XRE_mainRun [nsAppRunner.cpp:599280aecc96 : 4541 + 0x8]
[task 2017-05-02T22:03:12.789883Z] 22:03:12     INFO -     eip = 0xf4563ab3   esp = 0xff9d9ce0   ebp = 0xff9d9dd8   ebx = 0xf61dfefc
[task 2017-05-02T22:03:12.790199Z] 22:03:12     INFO -     esi = 0xff9d9d6c   edi = 0x00000077
[task 2017-05-02T22:03:12.790509Z] 22:03:12     INFO -     Found by: call frame info
[task 2017-05-02T22:03:12.790863Z] 22:03:12     INFO - 72  libxul.so!XREMain::XRE_main [nsAppRunner.cpp:599280aecc96 : 4721 + 0x9]
[task 2017-05-02T22:03:12.791182Z] 22:03:12     INFO -     eip = 0xf4564006   esp = 0xff9d9de0   ebp = 0xff9d9e38   ebx = 0xf61dfefc
[task 2017-05-02T22:03:12.791519Z] 22:03:12     INFO -     esi = 0xff9d9e7c   edi = 0x00000000
[task 2017-05-02T22:03:12.791946Z] 22:03:12     INFO -     Found by: call frame info
[task 2017-05-02T22:03:12.792406Z] 22:03:12     INFO - 73  libxul.so!XRE_main [nsAppRunner.cpp:599280aecc96 : 4814 + 0x6]
[task 2017-05-02T22:03:12.792858Z] 22:03:12     INFO -     eip = 0xf4564236   esp = 0xff9d9e40   ebp = 0xff9d9fa8   ebx = 0x08068768
[task 2017-05-02T22:03:12.793355Z] 22:03:12     INFO -     esi = 0xff9d9e7c   edi = 0xff9db0e4
[task 2017-05-02T22:03:12.793805Z] 22:03:12     INFO -     Found by: call frame info
[task 2017-05-02T22:03:12.794146Z] 22:03:12     INFO - 74  firefox!do_main [nsBrowserApp.cpp:599280aecc96 : 236 + 0xf]
[task 2017-05-02T22:03:12.794487Z] 22:03:12     INFO -     eip = 0x0804cee8   esp = 0xff9d9fb0   ebp = 0xff9dafe8   ebx = 0x08068768
[task 2017-05-02T22:03:12.794828Z] 22:03:12     INFO -     esi = 0x00000005   edi = 0xff9db0e4
[task 2017-05-02T22:03:12.795170Z] 22:03:12     INFO -     Found by: call frame info
[task 2017-05-02T22:03:12.795606Z] 22:03:12     INFO - 75  firefox!main [nsBrowserApp.cpp:599280aecc96 : 307 + 0xd]
[task 2017-05-02T22:03:12.795959Z] 22:03:12     INFO -     eip = 0x0804c6d8   esp = 0xff9daff0   ebp = 0xff9db038   ebx = 0x08068768
[task 2017-05-02T22:03:12.796300Z] 22:03:12     INFO -     esi = 0xff9db0e4   edi = 0x00000005
[task 2017-05-02T22:03:12.796712Z] 22:03:12     INFO -     Found by: call frame info
[task 2017-05-02T22:03:12.797038Z] 22:03:12     INFO - 76  libc-2.15.so + 0x19533
[task 2017-05-02T22:03:12.797394Z] 22:03:12     INFO -     eip = 0xf73ea533   esp = 0xff9db040   ebp = 0x00000000
[task 2017-05-02T22:03:12.797832Z] 22:03:12     INFO -     Found by: previous frame's frame pointer
[task 2017-05-02T22:03:12.798368Z] 22:03:12     INFO - 77  firefox!__libc_csu_fini + 0x10
[task 2017-05-02T22:03:12.798858Z] 22:03:12     INFO -     eip = 0x080614a0   esp = 0xff9db044   ebp = 0x00000000
[task 2017-05-02T22:03:12.799246Z] 22:03:12     INFO -     Found by: stack scanning
[task 2017-05-02T22:03:12.799584Z] 22:03:12     INFO - 78  libc-2.15.so + 0x19533
[task 2017-05-02T22:03:12.799927Z] 22:03:12     INFO -     eip = 0xf73ea533   esp = 0xff9db050   ebp = 0x00000000
[task 2017-05-02T22:03:12.800260Z] 22:03:12     INFO -     Found by: stack scanning
[task 2017-05-02T22:03:12.800593Z] 22:03:12     INFO - 79  libc-2.15.so + 0x1a7ff4
[task 2017-05-02T22:03:12.800955Z] 22:03:12     INFO -     eip = 0xf7578ff4   esp = 0xff9db078   ebp = 0x00000000
[task 2017-05-02T22:03:12.801383Z] 22:03:12     INFO -     Found by: stack scanning
[task 2017-05-02T22:03:12.801839Z] 22:03:12     INFO - 80  firefox + 0x4974
[task 2017-05-02T22:03:12.802314Z] 22:03:12     INFO -     eip = 0x0804c974   esp = 0xff9db0a0   ebp = 0x00000000
[task 2017-05-02T22:03:12.802734Z] 22:03:12     INFO -     Found by: stack scanning
[task 2017-05-02T22:03:12.803180Z] 22:03:12     INFO - 81  ld-2.15.so + 0x14660
[task 2017-05-02T22:03:12.803638Z] 22:03:12     INFO -     eip = 0xf7729660   esp = 0xff9db0a8   ebp = 0x00000000
[task 2017-05-02T22:03:12.804094Z] 22:03:12     INFO -     Found by: stack scanning
[task 2017-05-02T22:03:12.804492Z] 22:03:12     INFO - 82  libc-2.15.so + 0x19449
[task 2017-05-02T22:03:12.804897Z] 22:03:12     INFO -     eip = 0xf73ea449   esp = 0xff9db0ac   ebp = 0x00000000
[task 2017-05-02T22:03:12.805361Z] 22:03:12     INFO -     Found by: stack scanning
[task 2017-05-02T22:03:12.805860Z] 22:03:12     INFO - 83  ld-2.15.so + 0x20ff4
[task 2017-05-02T22:03:12.806270Z] 22:03:12     INFO -     eip = 0xf7735ff4   esp = 0xff9db0b0   ebp = 0x00000000
[task 2017-05-02T22:03:12.806676Z] 22:03:12     INFO -     Found by: stack scanning
[task 2017-05-02T22:03:12.807087Z] 22:03:12     INFO - 84  firefox + 0x4974
[task 2017-05-02T22:03:12.807475Z] 22:03:12     INFO -     eip = 0x0804c974   esp = 0xff9db0b8   ebp = 0x00000000
[task 2017-05-02T22:03:12.807930Z] 22:03:12     INFO -     Found by: stack scanning
[task 2017-05-02T22:03:12.808351Z] 22:03:12     INFO - 85  firefox!_start + 0x21
[task 2017-05-02T22:03:12.808793Z] 22:03:12     INFO -     eip = 0x0804c995   esp = 0xff9db0c0   ebp = 0x00000000
[task 2017-05-02T22:03:12.809113Z] 22:03:12     INFO -     Found by: stack scanning
[task 2017-05-02T22:03:12.809465Z] 22:03:12     INFO - 86  firefox!SSE2Check [nsBrowserApp.cpp:599280aecc96 : 92 + 0x8]
[task 2017-05-02T22:03:12.809782Z] 22:03:12     INFO -     eip = 0x0804c643   esp = 0xff9db0c4   ebp = 0x00000000
[task 2017-05-02T22:03:12.810127Z] 22:03:12     INFO -     Found by: stack scanning
[task 2017-05-02T22:03:12.810514Z] 22:03:12     INFO - 87  firefox!__libc_csu_fini + 0x10
[task 2017-05-02T22:03:12.810839Z] 22:03:12     INFO -     eip = 0x080614a0   esp = 0xff9db0d0   ebp = 0xff9db0e4
[task 2017-05-02T22:03:12.811183Z] 22:03:12     INFO -     Found by: stack scanning
[task 2017-05-02T22:03:12.811516Z] 22:03:12     INFO - 88  0xff9db52a
[task 2017-05-02T22:03:12.811836Z] 22:03:12     INFO -     eip = 0xff9db52a   esp = 0xff9db0ec   ebp = 0xff9db4f1
[task 2017-05-02T22:03:12.812161Z] 22:03:12     INFO -     Found by: previous frame's frame pointer
[task 2017-05-02T22:03:12.812468Z] 22:03:12     INFO - 89  0x6f772f65
[task 2017-05-02T22:03:12.812792Z] 22:03:12     INFO -     eip = 0x6f772f65   esp = 0xff9db4f9   ebp = 0x6d6f682f
[task 2017-05-02T22:03:12.813106Z] 22:03:12     INFO -     Found by: previous frame's frame pointer
Flags: needinfo?(erahm)
Reproducible locally, the debugger instance in the onNewGlobalObjectWatchers list is dead.

> ./mach mochitest --debugger=gdb --disable-e10s devtools/server/tests/browser/browser_markers-gc.js
> ...
>  p *((JSRuntime*)(cx->runtime_.value))->onNewGlobalObjectWatchers_.value.mHead
> $10 = {<mozilla::LinkedListElement<js::Debugger>> = {mNext = 0xe5e5e5e5e5e5e5e5, mPrev = 0xe5e5e5e5e5e5e5e5, mIsSentinel = 229}

I'm assuming we goofed and missed a removal?
Flags: needinfo?(erahm)
Comment on attachment 8861244 [details] [diff] [review]
Part 2: Convert onNewGlobalUpdateWatchers to DoublyLinkedList

Review of attachment 8861244 [details] [diff] [review]:
-----------------------------------------------------------------

::: js/src/vm/Debugger.cpp
@@ +694,4 @@
>      JSContext* cx = TlsContext.get();
> +    if (onNewGlobalObjectWatchersLink.mPrev ||
> +        onNewGlobalObjectWatchersLink.mNext)
> +        cx->runtime()->onNewGlobalObjectWatchers().remove(this);

Jim I remove the link here, but is it possible I'm using the wrong context? As in, not the one set in Debugger::Debugger [1]? Is there a better way to get the right context (or just runtime)?

[1] http://searchfox.org/mozilla-central/rev/abe68d5dad139e376d5521ca1d4b7892e1e7f1ba/js/src/vm/Debugger.cpp#658
ni for comment 30.
Flags: needinfo?(jimb)
(In reply to Eric Rahm [:erahm] (PTO May 4 - 8) from comment #31)
> ni for comment 30.

Le sigh, that test isn't right. If the element is the only element in the list it's mNext is null and it's mPrev is null. I'll look at this again tomorrow.
Flags: needinfo?(jimb) → needinfo?(erahm)
Flags: needinfo?(erahm)
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: