Closed Bug 1828860 Opened 2 years ago Closed 6 months ago

Reduce frequent warnings from ConduitClosed

Categories

(WebExtensions :: General, task, P3)

task

Tracking

(Not tracked)

RESOLVED DUPLICATE of bug 1839637

People

(Reporter: jstutte, Unassigned)

References

(Blocks 1 open bug)

Details

(Whiteboard: [addons-jira])

Attachments

(1 obsolete file)

There are frequent warnings in our treeherder log files like:

[task 2023-04-19T07:39:36.955Z] 07:39:36     INFO - PID 964 | [Child 6348, Main Thread] WARNING: JSWindowActorChild::SendRawMessage (Conduits, ConduitClosed) not sent: !CanSend() || !mManager || !mManager->CanSend(): file /builds/worker/checkouts/gecko/dom/ipc/jsactor/JSWindowActorChild.cpp:57

Most likely they come from here.

I am not familiar with actors in JS, but I assume we can check some equivalent of CanSend() before trying to send it? It might also be that didDestroy should call Close with a flag that does not try to send back something, given we are already destroyed? No, that is already the case with silent.

This Conduit component refers to the developer infrastructure used for Firefox development (Phabricator, Lando, etc). Moving to a component that is likely closer to the correct one.

Component: General → JavaScript Engine
Product: Conduit → Core
Version: unspecified → Trunk

Thanks and sorry for the noise, actually the message generating JS is apparently part of WebExtensions.

Component: JavaScript Engine → General
Product: Core → WebExtensions
Severity: -- → N/A
Type: defect → task
Priority: -- → P3
Whiteboard: [addons-jira]
Attachment #9333356 - Attachment is obsolete: true
Duplicate of this bug: 1830445

Note that bug 1832242 reduces the unintentional spam in non-DEBUG builds.

See Also: → 1832242

(In reply to Nika Layzell [:nika] (ni? for response) from bug 1830445 comment #3)

The Conduits actor is from WebExtensions, so moving this over there. This error just means that the actor is dead, and WebExtensions conduits are trying to send the ConduitClosed message over them.

The calling code even does an empty catch block around the send call, so perhaps it should just check if the actor is still alive before sending: https://searchfox.org/mozilla-central/rev/445a5ab684b73eb56d807d0f3b2fabcc85a7c3dd/toolkit/components/extensions/ConduitsChild.jsm#136

(In reply to Kris Maglione [:kmag] from comment #6)

(In reply to Nika Layzell [:nika] (ni? for response) from bug 1830445 comment #3)

The Conduits actor is from WebExtensions, so moving this over there. This error just means that the actor is dead, and WebExtensions conduits are trying to send the ConduitClosed message over them.

The calling code even does an empty catch block around the send call, so perhaps it should just check if the actor is still alive before sending: https://searchfox.org/mozilla-central/rev/445a5ab684b73eb56d807d0f3b2fabcc85a7c3dd/toolkit/components/extensions/ConduitsChild.jsm#136

This code now moved here, but is still the same.

Blocks: logspam
Duplicate of this bug: 1831076
No longer duplicate of this bug: 1831076
See Also: → 1839637
Status: NEW → RESOLVED
Closed: 6 months ago
Duplicate of bug: 1839637
Resolution: --- → DUPLICATE
See Also: 1839637
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: