Closed Bug 1627679 Opened 4 years ago Closed 4 years ago

Crash in [@ mozilla::ipc::PreloadSandboxedDynamicLibraries]

Categories

(Core :: Security: Process Sandboxing, defect)

x86_64
Linux
defect
Not set
normal

Tracking

()

RESOLVED INCOMPLETE

People

(Reporter: gsvelto, Assigned: shravanrn)

References

Details

(Keywords: crash)

Crash Data

This bug is for crash report bp-87161ca1-ae1e-4cbd-939b-c292f0200406.

Top 10 frames of crashing thread:

0 libxul.so mozilla::ipc::PreloadSandboxedDynamicLibraries ipc/glue/LibrarySandboxPreload.cpp:57
1 libxul.so mozilla::dom::ContentChild::RecvSetProcessSandbox dom/ipc/ContentChild.cpp:1680
2 libxul.so mozilla::dom::PContentChild::OnMessageReceived ipc/ipdl/PContentChild.cpp:8936
3 libxul.so mozilla::ipc::MessageChannel::DispatchMessage ipc/glue/MessageChannel.cpp:2187
4 libxul.so mozilla::ipc::MessageChannel::MessageTask::Run ipc/glue/MessageChannel.cpp:1990
5 libxul.so nsThread::ProcessNextEvent xpcom/threads/nsThread.cpp:1220
6 libxul.so mozilla::ipc::MessagePump::Run ipc/glue/MessagePump.cpp:87
7 libxul.so MessageLoop::Run ipc/chromium/src/base/message_loop.cc:290
8 libxul.so nsBaseAppShell::Run widget/nsBaseAppShell.cpp:137
9 libxul.so XRE_RunAppShell toolkit/xre/nsEmbedFunctions.cpp:909

This seems to be currently only happening on the developer version of Ubuntu. The crashes are all coming from a single machine, the raw reason is:

MOZ_CRASH("Library preload failure: Failed to load libgraphite\n")

I'm investigating now.

Assignee: nobody → shravanrn
Priority: -- → P1

So, this crash would occur if the firefox binary was unable to find or access one of the dynamic libraries packaged in the firefox distribution called libgraphite_wasm.so (which is a wasm sandboxed version of graphite compiled to a dynamic library). Given that this is a development version of Ubuntu, I can imagine a number of reasons of why this could happen if some OS level features are unstable

  1. If this is built on a file-system without symlinks or has unstable symlink support, and you are building firefox from source, then the non packaged has some symlinks which would be broken
  2. If the seccomp policy implemented by the kernel is unstable, it would not allow firefox to open the given file even though it is explicitly allowed
  3. If you two builds of firefox, take the firefox binary from a build that is compiled to use the dynamic library, with the rest of the distribution that uses the static library, this would occur
  4. If you somehow build firefox with the configuration to use wasm sandboxed graphite, but change to build system to not output this.

Unfortunately, given that there is only a single machine that has this issue, it is hard to pin this down further or investigate. Given that this has been deployed to prod and works fine everywhere else, I think we can re-open this issue if we see more occurrences or if there is a user report?

Please re-open the bug if you disagree with my conclusion.

If we do decide to re-open this bug, I am documenting a workaround below.

  • we can change the above failure to a warning. In this situation, the crash would occur only if we try to use a graphite font which is (1) typically not the default font on most computers (2) not very common on the web. So this mostly punts the problem a bit down the road

hmm... i just realized I can't mark this won't fixed because of the priority.
@gcp: let me know if you agree with the above analysis and we can change the priority.

Flags: needinfo?(gpascutto)

WONTFIX would imply that we'd reject a patch for this even if it fell into our lap. Given that we don't even know what the problem is, that seems somewhat premature. If there's no actionable information, then this would be INCOMPLETE. If we're sure it's a misconfiguration or bug in a pre-release build of Ubuntu, it would be INVALID. Given that indeed it's only a single machine, I guess it's somewhere in the middle of those two.

I'll close this as INCOMPLETE for now. If it spikes on other machines, we may need to reinvestigate.

Status: NEW → RESOLVED
Closed: 4 years ago
Flags: needinfo?(gpascutto)
Priority: P1 → --
Resolution: --- → INCOMPLETE

Sounds good. Thanks for the clarification.

You need to log in before you can comment on or make changes to this bug.