Running with extensions.logging.enabled=true breaks the Browser Console UI

RESOLVED FIXED in Firefox 68

Status

defect
P1
normal
RESOLVED FIXED
2 months ago
20 days ago

People

(Reporter: bgrins, Assigned: nchevobbe)

Tracking

unspecified
Firefox 68

Firefox Tracking Flags

(firefox68 fixed)

Details

Attachments

(2 attachments, 1 obsolete attachment)

Reporter

Description

2 months ago

STR:

./mach run --setpref extensions.logging.enabled=true --temp-profile --jsconsole

Expected: Browser Console is working
Actual: Browser Console is entirely white (no toolbar, no output)

It's weird, there's no markup beyond #app-wrapper when inspecting the window in the Browser Console. This doesn't seem to be a perf-related issue (no beach ball, etc).

Thanks for the report Brian!

I can reproduce the problem on both Win10 and MacOS

Interestingly when manually setting the pref and opening the Browser console in my existing profile it works.

Honza

Priority: -- → P2

It's pretty hit or miss. It depends on when the logging starts, and when you open the console. The UI renders initially, and then hits a React error and disappears.

This is what I am seeing in my system console:

console.error: "The above error occurred in the <span> component:\n
in span (created by Message)\n
in span (created by Message)\n
in span (created by Message)\n
in div (created by Message)\n
in Message (created by MessageContainer)\n
in MessageContainer (created by ConsoleOutput)\n
in div (created by ConsoleOutput)\n
in ConsoleOutput\n
in VisibilityHandler\n
in Unknown (created by Connect(Component))\n
in Connect(Component) (created by App)\n
in div (created by App)\n
in div (created by App)\n
in App\n
in VisibilityHandler\n
in Unknown (created by Connect(Component))\n
in Connect(Component)\n
in Provider\n

Consider adding an error boundary to your tree to customize error handling behavior.\n
Visit https://fb.me/react-error-boundaries to learn more about error boundaries."

JavaScript error: resource://devtools/client/shared/vendor/react-dom-dev.js, line 59: Error: Objects are not valid as a React child (found: object with keys {type, initial, length, actor}). If you meant to render a collection of children, use an array instead.
in span (created by Message)
in span (created by Message)
in span (created by Message)
in div (created by Message)
in Message (created by MessageContainer)
in MessageContainer (created by ConsoleOutput)
in div (created by ConsoleOutput)
in ConsoleOutput
in VisibilityHandler
in Unknown (created by Connect(Component))
in Connect(Component) (created by App)
in div (created by App)
in div (created by App)
in App
in VisibilityHandler
in Unknown (created by Connect(Component))
in Connect(Component)
in Provider

Assignee

Comment 4

2 months ago

Sometimes the messageText can be a longString, which was crashing
the whole console output since we were always assuming messageText
was a plain string.
We now render non-string messageText with reps so it handles longStrings.
A mocha test is added to ensure this works as expected.

Assignee

Comment 5

2 months ago

Looks like we're trying to render some text but the server is sending a longString instead of a plain string.

Assignee: nobody → nchevobbe
Status: NEW → ASSIGNED
Priority: P2 → P1

Comment 6

Last month
Pushed by nchevobbe@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/b90c24bb6358
Render non-string messageText with GripMessageBody. r=bgrins.

Comment 7

Last month
bugherder
Status: ASSIGNED → RESOLVED
Closed: Last month
Resolution: --- → FIXED
Target Milestone: --- → Firefox 68
Duplicate of this bug: 1544820
Reporter

Updated

Last month
See Also: → 1551612
Attachment #9070181 - Attachment is obsolete: true
You need to log in before you can comment on or make changes to this bug.