Closed Bug 1761578 Opened 3 years ago Closed 3 years ago

Crash in [@ mozilla::ipc::MessageChannel::Send | mozilla::dom::PContentChild::SendShutdownProfile | IPC_Message_Name=PContent::Msg_ShutdownProfile]

Categories

(Core :: Gecko Profiler, defect, P3)

defect

Tracking

()

RESOLVED DUPLICATE of bug 1779367

People

(Reporter: mccr8, Unassigned)

References

Details

(Keywords: crash)

Crash Data

Maybe Fission related. (DOMFissionEnabled=1)

Crash report: https://crash-stats.mozilla.org/report/index/46a6fef3-1805-4636-a64e-8f1100220324

MOZ_CRASH Reason: MOZ_CRASH(IPC message size is too large)

Top 10 frames of crashing thread:

0 XUL mozilla::ipc::MessageChannel::Send ipc/glue/MessageChannel.cpp:721
1 XUL mozilla::dom::PContentChild::SendShutdownProfile ipc/ipdl/PContentChild.cpp:4999
2 XUL mozilla::dom::ContentChild::ShutdownInternal dom/ipc/ContentChild.cpp:3124
3 XUL mozilla::dom::ContentChild::RecvShutdown dom/ipc/ContentChild.cpp:3049
4 XUL mozilla::dom::PContentChild::OnMessageReceived ipc/ipdl/PContentChild.cpp:12220
5 XUL mozilla::ipc::MessageChannel::MessageTask::Run ipc/glue/MessageChannel.cpp:1502
6 XUL mozilla::TaskController::DoExecuteNextTaskOnlyMainThreadInternal xpcom/threads/TaskController.cpp:778
7 XUL nsThread::ProcessNextEvent xpcom/threads/nsThread.cpp:1173
8 XUL mozilla::ipc::MessagePump::Run ipc/glue/MessagePump.cpp:85
9 XUL MessageLoop::Run ipc/chromium/src/base/message_loop.cc:306

We have a limit of 256MB for IPC messages, and it looks like this shutdown profiler thing exceeds that, at least sometimes. 17 crashes in a Nightly, but all from the same install time.

(In reply to Andrew McCreight [:mccr8] from comment #0)

We have a limit of 256MB for IPC messages, and it looks like this shutdown profiler thing exceeds that, at least sometimes. 17 crashes in a Nightly, but all from the same install time.

We have had some reports of too-big profiles (Florian? And were those recent reports all yours? 😄), possibly because we keep adding more and more data! (Or it could be a real issue, I'll need to investigate...)

Anyway, if there's such a limit, the code should probably catch that before trying to send too-big messages (here).

Severity: S2 → S3
Priority: -- → P3

The easiest workaround is probably to break the data into multiple messages if it gets too big.

(In reply to Gerald Squelart [:gerald] (he/him) from comment #1)

We have had some reports of too-big profiles (Florian? And were those recent reports all yours? 😄), possibly because we keep adding more and more data! (Or it could be a real issue, I'll need to investigate...)

In my case I think the crashes happened when I had long profiles (ie. start the profiler, go do something else, and capture the profile when coming back to the machine after tens of minutes) and was using the nostacksampling feature. I think our current serialization of markers with stacks is space inefficient, so the size in the JSON profile is much larger than the profiler buffer size for profiles that have lots of markers with stacks and few stack samples. This is just a guess though, I haven't actually verified it.

Copying crash signatures from duplicate bugs.

Crash Signature: [@ mozilla::ipc::MessageChannel::Send | mozilla::dom::PContentChild::SendShutdownProfile | IPC_Message_Name=PContent::Msg_ShutdownProfile] → [@ mozilla::ipc::MessageChannel::Send | mozilla::dom::PContentChild::SendShutdownProfile | IPC_Message_Name=PContent::Msg_ShutdownProfile] [@ mozilla::ipc::PortLink::SendMessage | IPC_Message_Name=PContent::Msg_ShutdownProfile]

Bug 1779367 was opened later, but got fixed, so I'm marking this one here as duplicate.

Status: NEW → RESOLVED
Crash Signature: [@ mozilla::ipc::MessageChannel::Send | mozilla::dom::PContentChild::SendShutdownProfile | IPC_Message_Name=PContent::Msg_ShutdownProfile] [@ mozilla::ipc::PortLink::SendMessage | IPC_Message_Name=PContent::Msg_ShutdownProfile] → [@ mozilla::ipc::MessageChannel::Send | mozilla::dom::PContentChild::SendShutdownProfile | IPC_Message_Name=PContent::Msg_ShutdownProfile]
Closed: 3 years ago
Resolution: --- → DUPLICATE
You need to log in before you can comment on or make changes to this bug.