Open
Bug 1261180
Opened 9 years ago
Updated 1 month ago
Add --debugger [gdb|lldb|rr|...] flag to marionette runner and mach
Categories
(Testing :: Marionette Client and Harness, defect, P3)
Testing
Marionette Client and Harness
Tracking
(Not tracked)
NEW
People
(Reporter: fitzgen, Unassigned)
References
(Depends on 1 open bug)
Details
(Keywords: pi-marionette-client)
I am debugging an assertion failure where my only reproducible test case is running marionette tests and this is really annoying to debug with gdb because I have to try to find and attach to the process before it ends.
Would be a lot easier if I could add `--debugger gdb` when running marionette tests.
Updated•9 years ago
|
Reporter | ||
Comment 1•9 years ago
|
||
Specifically, a C++ assertion failure unrelated to the marionette tests, which results in crashing the process in DEBUG builds.
Comment 2•9 years ago
|
||
We've got a helpful mozdebug library in mozbase:
https://dxr.mozilla.org/mozilla-central/rev/494289c72ba3997183e7b5beaca3e0447ecaf96d/testing/mochitest/runtests.py#2213
Comment 3•9 years ago
|
||
Btw this is no only mach which is missing this flag. But also the runner doesn't have it yet.
Summary: Add --debugger [gdb|lldb|rr|...] flag to `./mach marionette-test` → Add --debugger [gdb|lldb|rr|...] flag to marionette runner and mach
Updated•8 years ago
|
Priority: -- → P3
Comment 7•8 years ago
|
||
For those looking for a temporary fix, I use a patch[1] that adds MOZ_DEBUG_PARENT_PROCESS (similar to MOZ_DEBUG_CHILD_PROCESS), where gecko dumps the process id and waits for a debugger to attach.
[1] https://github.com/brendandahl/gecko/commit/73f78b6b68ebd2520e893ad221c4a34bd2dd1045
Updated•8 years ago
|
Priority: P3 → P1
Updated•7 years ago
|
Priority: P1 → P3
Version: Version 3 → unspecified
Updated•3 years ago
|
Severity: normal → S3
Updated•2 years ago
|
Product: Testing → Remote Protocol
Updated•2 years ago
|
Component: Marionette → Marionette Client and Harness
Product: Remote Protocol → Testing
Comment 8•1 month ago
|
||
A workaround for using rr is to rename the firefox binary and place a script in it's place
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
FIREFOX_BIN="${SCRIPT_DIR}/firefox-orig"
if [[ ! -x "$FIREFOX_BIN" ]]; then
echo "Error: cannot find $FIREFOX_BIN" >&2
exit 1
fi
exec rr record "$FIREFOX_BIN" "$@"
You need to log in
before you can comment on or make changes to this bug.
Description
•