Closed Bug 1538054 Opened 8 months ago Closed 7 months ago

Unchecking "pause on exception" will still pause _once_ before fully ignoring exceptions

Categories

(DevTools :: Debugger, defect, P2)

defect

Tracking

(firefox68 fixed)

RESOLVED FIXED
Firefox 68
Tracking Status
firefox68 --- fixed

People

(Reporter: loganfsmyth, Assigned: jarilvalenciano, NeedInfo)

References

Details

Attachments

(1 file)

Originally filed in https://github.com/firefox-devtools/debugger/issues/8143
This is a server bug. Good fix for out upcoming 68 quality fixes.

STRs:

open Debugger
uncheck all "Pause on exceptions" checkboxes
go to https://zest-aardvark.glitch.me/
in the Debugger, check "Pause on exceptions", then uncheck it
in the webpage, click on the first button "exUncaught()"

ER: the Debugger should not stop on the uncaught exception
AR: the Debugger breaks on the exception. If you resume and click on the button again, the Debugger will not break anymore.

Duplicate of this bug: 1540083

After toggling off 'Pause on exceptions' in the debugger, exceptions were still being paused on once.

This was because the server's exception-pausing behavior was not toggled off until an exception was paused on. This patch makes it so that the behavior is changed immediately after unchecking the 'Pause on exceptions' checkbox in the debugger.

Pushed by lsmyth@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/dedf066bfcfc
Toggle off 'Pause on Exception' immediately. r=loganfsmyth

Backed out changeset dedf066bfcfc (bug 1538054) for xpcshell failures at devtools/server/tests/unit/test_pause_exceptions-04.js

Backout: https://hg.mozilla.org/integration/autoland/rev/d023d7f7dd80b4c65ed85b75c3a2327391d4b535

Failure push: https://treeherder.mozilla.org/#/jobs?repo=autoland&selectedJob=241493695&revision=dedf066bfcfc8e1da3639b849f23e905aac12f3d

Failure log: https://treeherder.mozilla.org/logviewer.html#/jobs?job_id=241493777&repo=autoland&lineNumber=2025

task 2019-04-19T21:07:07.801Z] 21:07:07 INFO - TEST-START | devtools/server/tests/unit/test_pause_exceptions-04.js
[task 2019-04-19T21:07:08.504Z] 21:07:08 WARNING - TEST-UNEXPECTED-FAIL | devtools/server/tests/unit/test_pause_exceptions-04.js | xpcshell return code: -11
[task 2019-04-19T21:07:08.506Z] 21:07:08 INFO - TEST-INFO took 710ms
[task 2019-04-19T21:07:08.506Z] 21:07:08 INFO - >>>>>>>
[task 2019-04-19T21:07:08.507Z] 21:07:08 INFO - PID 6506 | [6506, Main Thread] WARNING: NS_ENSURE_SUCCESS(rv, NS_ERROR_UNEXPECTED) failed with result 0x80004005: file /builds/worker/workspace/build/src/extensions/cookie/nsPermissionManager.cpp, line 1026
[task 2019-04-19T21:07:08.508Z] 21:07:08 INFO - PID 6506 | [6506, Main Thread] WARNING: Couldn't get the user appdata directory. Crash events may not be produced.: file /builds/worker/workspace/build/src/toolkit/crashreporter/nsExceptionHandler.cpp, line 2528
[task 2019-04-19T21:07:08.508Z] 21:07:08 INFO - (xpcshell/head.js) | test MAIN run_test pending (1)
[task 2019-04-19T21:07:08.509Z] 21:07:08 INFO - (xpcshell/head.js) | test run_next_test 0 pending (2)
[task 2019-04-19T21:07:08.511Z] 21:07:08 INFO - (xpcshell/head.js) | test MAIN run_test finished (2)
[task 2019-04-19T21:07:08.512Z] 21:07:08 INFO - running event loop
[task 2019-04-19T21:07:08.514Z] 21:07:08 INFO - devtools/server/tests/unit/test_pause_exceptions-04.js | Starting
[task 2019-04-19T21:07:08.515Z] 21:07:08 INFO - (xpcshell/head.js) | test pending (2)
[task 2019-04-19T21:07:08.516Z] 21:07:08 INFO - PID 6506 | >>> Run thread client test against a regular DebuggerServer
[task 2019-04-19T21:07:08.517Z] 21:07:08 INFO - PID 6506 | DBG-SERVER: Packet 0 sent from "root"
[task 2019-04-19T21:07:08.517Z] 21:07:08 INFO - (xpcshell/head.js) | test run_next_test 0 finished (2)
[task 2019-04-19T21:07:08.518Z] 21:07:08 INFO - PID 6506 | DBG-SERVER: Received packet 0: {
[task 2019-04-19T21:07:08.519Z] 21:07:08 INFO - PID 6506 | "from": "root",
[task 2019-04-19T21:07:08.519Z] 21:07:08 INFO - PID 6506 | "applicationType": "xpcshell-tests",
[task 2019-04-19T21:07:08.520Z] 21:07:08 INFO - PID 6506 | "testConnectionPrefix": "server1.conn0.",
[task 2019-04-19T21:07:08.521Z] 21:07:08 INFO - PID 6506 | "traits": {
[task 2019-04-19T21:07:08.522Z] 21:07:08 INFO - PID 6506 | "sources": true,
[task 2019-04-19T21:07:08.526Z] 21:07:08 INFO - PID 6506 | "networkMonitor": true,
[task 2019-04-19T21:07:08.527Z] 21:07:08 INFO - PID 6506 | "storageInspector": true,
[task 2019-04-19T21:07:08.527Z] 21:07:08 INFO - PID 6506 | "storageInspectorReadOnly": true,
[task 2019-04-19T21:07:08.528Z] 21:07:08 INFO - PID 6506 | "wasmBinarySource": true,
[task 2019-04-19T21:07:08.529Z] 21:07:08 INFO - PID 6506 | "bulk": true,
[task 2019-04-19T21:07:08.529Z] 21:07:08 INFO - PID 6506 | "directorScripts": true,
[task 2019-04-19T21:07:08.530Z] 21:07:08 INFO - PID 6506 | "noBlackBoxing": false,
[task 2019-04-19T21:07:08.532Z] 21:07:08 INFO - PID 6506 | "noPrettyPrinting": true,
[task 2019-04-19T21:07:08.533Z] 21:07:08 INFO - PID 6506 | "breakpointWhileRunning": true,
[task 2019-04-19T21:07:08.534Z] 21:07:08 INFO - PID 6506 | "memoryActorAllocations": true,
[task 2019-04-19T21:07:08.535Z] 21:07:08 INFO - PID 6506 | "webConsoleCommands": true,
[task 2019-04-19T21:07:08.536Z] 21:07:08 INFO - PID 6506 | "allowChromeProcess": false,
[task 2019-04-19T21:07:08.537Z] 21:07:08 INFO - PID 6506 | "profilerDataFilterable": true,
[task 2019-04-19T21:07:08.537Z] 21:07:08 INFO - PID 6506 | "heapSnapshots": true,
[task 2019-04-19T21:07:08.538Z] 21:07:08 INFO - PID 6506 | "documentLoadingMarkers": true,
[task 2019-04-19T21:07:08.541Z] 21:07:08 INFO - PID 6506 | "webExtensionAddonConnect": true,
[task 2019-04-19T21:07:08.542Z] 21:07:08 INFO - PID 6506 | "perfActorVersion": 1,
[task 2019-04-19T21:07:08.543Z] 21:07:08 INFO - PID 6506 | "nativeLogpoints": true
[task 2019-04-19T21:07:08.543Z] 21:07:08 INFO - PID 6506 | }
[task 2019-04-19T21:07:08.544Z] 21:07:08 INFO - PID 6506 | }
[task 2019-04-19T21:07:08.545Z] 21:07:08 INFO - PID 6506 | JavaScript strict warning: resource://devtools/shared/client/debugger-client.js, line 620: ReferenceError: reference to undefined property "type"
[task 2019-04-19T21:07:08.546Z] 21:07:08 INFO - PID 6506 | DBG-SERVER: Packet 1 sent to "root"
[task 2019-04-19T21:07:08.547Z] 21:07:08 INFO - PID 6506 | DBG-TEST: resource://devtools/shared/client/debugger-client.js:620: strict error: ReferenceError: reference to undefined property "type"
[task 2019-04-19T21:07:08.548Z] 21:07:08 INFO - PID 6506 | DBG-TEST: head_dbg.js observed a console message: ReferenceError: reference to undefined property "type"
[task 2019-04-19T21:07:08.549Z] 21:07:08 INFO - "CONSOLE_MESSAGE: (warn) [JavaScript Warning: "ReferenceError: reference to undefined property "type"" {file: "resource://devtools/shared/client/debugger-client.js" line: 620}]"
[task 2019-04-19T21:07:08.550Z] 21:07:08 INFO - PID 6506 | DBG-SERVER: Received packet 1: {
[task 2019-04-19T21:07:08.551Z] 21:07:08 INFO - PID 6506 | "type": "listTabs",
[task 2019-04-19T21:07:08.552Z] 21:07:08 INFO - PID 6506 | "to": "root"
task 2019-04-19T21:07:08.553Z] 21:07:08 INFO - PID 6506 | }
[task 2019-04-19T21:07:08.553Z] 21:07:08 INFO - PID 6506 | JavaScript strict warning: resource://devtools/shared/protocol/lazy-pool.js, line 102: ReferenceError: reference to undefined property "actorID"
[task 2019-04-19T21:07:08.554Z] 21:07:08 INFO - PID 6506 | DBG-SERVER: Packet 2 sent from "root"
[task 2019-04-19T21:07:08.555Z] 21:07:08 INFO - PID 6506 | DBG-TEST: resource://devtools/shared/protocol/lazy-pool.js:102: strict error: ReferenceError: reference to undefined property "actorID"
[task 2019-04-19T21:07:08.556Z] 21:07:08 INFO - PID 6506 | DBG-TEST: head_dbg.js observed a console message: ReferenceError: reference to undefined property "actorID"
[task 2019-04-19T21:07:08.557Z] 21:07:08 INFO - "CONSOLE_MESSAGE: (warn) [JavaScript Warning: "ReferenceError: reference to undefined property "actorID"" {file: "resource://devtools/shared/protocol/lazy-pool.js" line: 102}]"
[task 2019-04-19T21:07:08.558Z] 21:07:08 INFO - PID 6506 | DBG-SERVER: Received packet 2: {
[task 2019-04-19T21:07:08.559Z] 21:07:08 INFO - PID 6506 | "selected": 0,
[task 2019-04-19T21:07:08.560Z] 21:07:08 INFO - PID 6506 | "tabs": [
[task 2019-04-19T21:07:08.560Z] 21:07:08 INFO - PID 6506 | {
[task 2019-04-19T21:07:08.561Z] 21:07:08 INFO - PID 6506 | "actor": "server1.conn0.TestTargetActor2",
[task 2019-04-19T21:07:08.562Z] 21:07:08 INFO - PID 6506 | "title": "debuggee.js",
[task 2019-04-19T21:07:08.563Z] 21:07:08 INFO - PID 6506 | "consoleActor": "server1.conn0.consoleActor3"
[task 2019-04-19T21:07:08.563Z] 21:07:08 INFO - PID 6506 | }
[task 2019-04-19T21:07:08.564Z] 21:07:08 INFO - PID 6506 | ],
[task 2019-04-19T21:07:08.565Z] 21:07:08 INFO - PID 6506 | "from": "root"
[task 2019-04-19T21:07:08.565Z] 21:07:08 INFO - PID 6506 | }
[task 2019-04-19T21:07:08.566Z] 21:07:08 INFO - PID 6506 | DBG-SERVER: Packet 3 sent to "server1.conn0.TestTargetActor2"
[task 2019-04-19T21:07:08.566Z] 21:07:08 INFO - PID 6506 | DBG-SERVER: Received packet 3: {
[task 2019-04-19T21:07:08.567Z] 21:07:08 INFO - PID 6506 | "type": "attach",
[task 2019-04-19T21:07:08.567Z] 21:07:08 INFO - PID 6506 | "to": "server1.conn0.TestTargetActor2"
[task 2019-04-19T21:07:08.568Z] 21:07:08 INFO - PID 6506 | }
[task 2019-04-19T21:07:08.568Z] 21:07:08 INFO - PID 6506 | DBG-SERVER: Packet 4 sent from "server1.conn0.TestTargetActor2"
[task 2019-04-19T21:07:08.569Z] 21:07:08 INFO - PID 6506 | DBG-SERVER: Received packet 4: {
[task 2019-04-19T21:07:08.569Z] 21:07:08 INFO - PID 6506 | "type": "tabAttached",
[task 2019-04-19T21:07:08.570Z] 21:07:08 INFO - PID 6506 | "threadActor": "server1.conn0.context1",
[task 2019-04-19T21:07:08.571Z] 21:07:08 INFO - PID 6506 | "from": "server1.conn0.TestTargetActor2"
[task 2019-04-19T21:07:08.571Z] 21:07:08 INFO - PID 6506 | }
[task 2019-04-19T21:07:08.572Z] 21:07:08 INFO - PID 6506 | DBG-SERVER: Packet 5 sent to "server1.conn0.consoleActor3"
[task 2019-04-19T21:07:08.572Z] 21:07:08 INFO - PID 6506 | DBG-SERVER: Received packet 5: {
[task 2019-04-19T21:07:08.573Z] 21:07:08 INFO - PID 6506 | "type": "startListeners",
[task 2019-04-19T21:07:08.573Z] 21:07:08 INFO - PID 6506 | "listeners": [],
[task 2019-04-19T21:07:08.573Z] 21:07:08 INFO - PID 6506 | "to": "server1.conn0.consoleActor3"
[task 2019-04-19T21:07:08.574Z] 21:07:08 INFO - PID 6506 | }
[task 2019-04-19T21:07:08.574Z] 21:07:08 INFO - PID 6506 | DBG-SERVER: Packet 6 sent from "server1.conn0.consoleActor3"
[task 2019-04-19T21:07:08.575Z] 21:07:08 INFO - PID 6506 | DBG-SERVER: Received packet 6: {
[task 2019-04-19T21:07:08.575Z] 21:07:08 INFO - PID 6506 | "startedListeners": [],
[task 2019-04-19T21:07:08.576Z] 21:07:08 INFO - PID 6506 | "nativeConsoleAPI": false,
[task 2019-04-19T21:07:08.576Z] 21:07:08 INFO - PID 6506 | "traits": {
[task 2019-04-19T21:07:08.577Z] 21:07:08 INFO - PID 6506 | "transferredResponseSize": true,
[task 2019-04-19T21:07:08.577Z] 21:07:08 INFO - PID 6506 | "selectedObjectActor": true,
[task 2019-04-19T21:07:08.577Z] 21:07:08 INFO - PID 6506 | "fetchCacheDescriptor": true
[task 2019-04-19T21:07:08.578Z] 21:07:08 INFO - PID 6506 | },
[task 2019-04-19T21:07:08.578Z] 21:07:08 INFO - PID 6506 | "from": "server1.conn0.consoleActor3"
task 2019-04-19T21:07:08.579Z] 21:07:08 INFO - PID 6506 | }
[task 2019-04-19T21:07:08.579Z] 21:07:08 INFO - PID 6506 | DBG-SERVER: Packet 7 sent to "server1.conn0.context1"
[task 2019-04-19T21:07:08.580Z] 21:07:08 INFO - PID 6506 | DBG-SERVER: Received packet 7: {
[task 2019-04-19T21:07:08.580Z] 21:07:08 INFO - PID 6506 | "to": "server1.conn0.context1",
[task 2019-04-19T21:07:08.580Z] 21:07:08 INFO - PID 6506 | "type": "attach",
[task 2019-04-19T21:07:08.580Z] 21:07:08 INFO - PID 6506 | "options": {
[task 2019-04-19T21:07:08.580Z] 21:07:08 INFO - PID 6506 | "autoBlackBox": true
[task 2019-04-19T21:07:08.580Z] 21:07:08 INFO - PID 6506 | }
[task 2019-04-19T21:07:08.580Z] 21:07:08 INFO - PID 6506 | }
[task 2019-04-19T21:07:08.580Z] 21:07:08 INFO - PID 6506 | DBG-SERVER: Packet 8 sent from "server1.conn0.context1"
[task 2019-04-19T21:07:08.581Z] 21:07:08 INFO - PID 6506 | DBG-SERVER: Received packet 8: {
[task 2019-04-19T21:07:08.581Z] 21:07:08 INFO - PID 6506 | "from": "server1.conn0.context1",
[task 2019-04-19T21:07:08.581Z] 21:07:08 INFO - PID 6506 | "type": "paused",
[task 2019-04-19T21:07:08.581Z] 21:07:08 INFO - PID 6506 | "actor": "server1.conn0.pause4",
[task 2019-04-19T21:07:08.581Z] 21:07:08 INFO - PID 6506 | "poppedFrames": [],
[task 2019-04-19T21:07:08.581Z] 21:07:08 INFO - PID 6506 | "why": {
[task 2019-04-19T21:07:08.581Z] 21:07:08 INFO - PID 6506 | "type": "attached"
[task 2019-04-19T21:07:08.581Z] 21:07:08 INFO - PID 6506 | }
[task 2019-04-19T21:07:08.581Z] 21:07:08 INFO - PID 6506 | }

Flags: needinfo?(lsmyth)

Jaril, can you take a look at this? Your patch was rolled back. The error is

[task 2019-04-19T21:07:08.608Z] 21:07:08     INFO -  PID 6506 | Assertion failure: false (do not use eval with system privileges), at /builds/worker/workspace/build/src/dom/security/nsContentSecurityManager.cpp:205
[task 2019-04-19T21:07:30.356Z] 21:07:30     INFO -  PID 6506 | #01: nsScriptSecurityManager::ContentSecurityPolicyPermitsJSAction(JSContext*, JS::Handle<JS::Value>) [caps/nsScriptSecurityManager.cpp:500]
[task 2019-04-19T21:07:30.359Z] 21:07:30     INFO -  PID 6506 | #02: js::GlobalObject::isRuntimeCodeGenEnabled(JSContext*, JS::Handle<JS::Value>, JS::Handle<js::GlobalObject*>) [js/src/vm/GlobalObject.cpp:0]
[task 2019-04-19T21:07:30.360Z] 21:07:30     INFO -  PID 6506 | #03: EvalKernel(JSContext*, JS::Handle<JS::Value>, EvalType, js::AbstractFramePtr, JS::Handle<JSObject*>, unsigned char*, JS::MutableHandle<JS::Value>) [js/src/builtin/Eval.cpp:219]
[task 2019-04-19T21:07:30.362Z] 21:07:30     INFO -  PID 6506 | #04: js::IndirectEval(JSContext*, unsigned int, JS::Value*) [js/src/builtin/Eval.cpp:426]
[task 2019-04-19T21:07:30.363Z] 21:07:30     INFO -  PID 6506 | #05: CallJSNative(JSContext*, bool (*)(JSContext*, unsigned int, JS::Value*), JS::CallArgs const&) [js/src/vm/Interpreter.cpp:442]
[task 2019-04-19T21:07:30.365Z] 21:07:30     INFO -  PID 6506 | #06: js::InternalCallOrConstruct(JSContext*, JS::CallArgs const&, js::MaybeConstruct) [js/src/vm/Interpreter.cpp:534]
[task 2019-04-19T21:07:30.367Z] 21:07:30     INFO -  PID 6506 | #07: <name omitted> [js/src/vm/Interpreter.cpp:605]
[task 2019-04-19T21:07:30.368Z] 21:07:30     INFO -  PID 6506 | #08: js::ForwardingProxyHandler::call(JSContext*, JS::Handle<JSObject*>, JS::CallArgs const&) const [js/src/proxy/Wrapper.cpp:162]
[task 2019-04-19T21:07:30.370Z] 21:07:30     INFO -  PID 6506 | #09: js::CrossCompartmentWrapper::call(JSContext*, JS::Handle<JSObject*>, JS::CallArgs const&) const [js/src/proxy/CrossCompartmentWrapper.cpp:237]
[task 2019-04-19T21:07:30.371Z] 21:07:30     INFO -  PID 6506 | #10: js::Proxy::call(JSContext*, JS::Handle<JSObject*>, JS::CallArgs const&) [js/src/proxy/Proxy.cpp:504]
[task 2019-04-19T21:07:30.373Z] 21:07:30     INFO -  PID 6506 | #11: js::InternalCallOrConstruct(JSContext*, JS::CallArgs const&, js::MaybeConstruct) [js/src/vm/Interpreter.cpp:508]
[task 2019-04-19T21:07:30.374Z] 21:07:30     INFO -  PID 6506 | #12: Interpret(JSContext*, js::RunState&) [js/src/vm/Interpreter.cpp:3079]
[task 2019-04-19T21:07:30.376Z] 21:07:30     INFO -  PID 6506 | #13: js::RunScript(JSContext*, js::RunState&) [js/src/vm/Interpreter.cpp:422]
[task 2019-04-19T21:07:30.377Z] 21:07:30     INFO -  PID 6506 | #14: js::InternalCallOrConstruct(JSContext*, JS::CallArgs const&, js::MaybeConstruct) [js/src/vm/Interpreter.cpp:562]
[task 2019-04-19T21:07:30.378Z] 21:07:30     INFO -  PID 6506 | #15: <name omitted> [js/src/vm/Interpreter.cpp:605]
[task 2019-04-19T21:07:30.380Z] 21:07:30     INFO -  PID 6506 | #16: js::CallSelfHostedFunction(JSContext*, JS::Handle<js::PropertyName*>, JS::Handle<JS::Value>, js::AnyInvokeArgs const&, JS::MutableHandle<JS::Value>) [js/src/vm/SelfHosting.cpp:1944]
[task 2019-04-19T21:07:30.381Z] 21:07:30     INFO -  PID 6506 | #17: js::jit::InterpretResume(JSContext*, JS::Handle<JSObject*>, JS::Handle<JS::Value>, JS::Handle<js::PropertyName*>, JS::MutableHandle<JS::Value>) [js/src/jit/VMFunctions.cpp:1005]
[task 2019-04-19T21:07:30.383Z] 21:07:30     INFO -  PID 6506 | #18: ??? (???:???)
[task 2019-04-19T21:07:30.384Z] 21:07:30     INFO -  PID 6506 | ExceptionHandler::GenerateDump cloned child 6519
[task 2019-04-19T21:07:30.386Z] 21:07:30     INFO -  PID 6506 | ExceptionHandler::SendContinueSignalToChild sent continue signal to child
[task 2019-04-19T21:07:30.387Z] 21:07:30     INFO -  PID 6506 | ExceptionHandler::WaitForContinueSignal waiting for continue signal...

which isn't one I've seen before. Maybe rebase your patch and see if it still works locally? Perhaps there was something introduced recently that changed the other tests.

Flags: needinfo?(lsmyth) → needinfo?(jarilvalenciano)
Pushed by lsmyth@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/c31ccea52937
Toggle off 'Pause on Exception' immediately. r=loganfsmyth
Status: NEW → RESOLVED
Closed: 7 months ago
Resolution: --- → FIXED
Target Milestone: --- → Firefox 68
Assignee: nobody → jarilvalenciano
You need to log in before you can comment on or make changes to this bug.