[snap] posix_spawn: No such file or directory

Bug #1993581 reported by Nathan Teodosio
24
This bug affects 5 people
Affects Status Importance Assigned to Milestone
chromium-browser (Ubuntu)
Fix Released
Critical
Nathan Teodosio

Bug Description

Chromium from the edge channel fails to launch with

  % chromium
  [17618:17618:1019/163156.976437:FATAL:spawn_subprocess.cc(221)] posix_spawn: No such file or directory (2)

  % snap info chromium
  channels:
    latest/stable: 106.0.5249.119 2022-10-14 (2136) 150MB -
    latest/candidate: 106.0.5249.119 2022-10-13 (2136) 150MB -
    latest/beta: 107.0.5304.36 2022-10-13 (2135) 152MB -
    latest/edge: 108.0.5355.0 2022-10-18 (2146) 153MB -
  installed: 108.0.5355.0 (2146) 153MB -

Revision history for this message
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in chromium-browser (Ubuntu):
status: New → Confirmed
Revision history for this message
Luis Alberto Pabón (copong) wrote :

I can confirm this also happens to me:

 * Ubuntu 22.10
 * Sway
 * Chromium snap (edge channel) 108.0.5355.0 2022-10-20

```
~ chromium
[2053171:2053171:1020/110551.746322:FATAL:spawn_subprocess.cc(221)] posix_spawn: No such file or directory (2)
fish: Job 1, 'chromium' terminated by signal SIGTRAP (Trace or breakpoint trap)
```

Changed in chromium-browser (Ubuntu):
status: Confirmed → In Progress
Revision history for this message
Alexander Browne (elcste) wrote :

Seeing this with the today's beta build: 108.0.5359.22 (2177).

Revision history for this message
Alexander Browne (elcste) wrote :

$ chromium
[215800:215800:1031/155854.374117:FATAL:spawn_subprocess.cc(221)] posix_spawn: No such file or directory (2)
Trace/breakpoint trap (core dumped)

Revision history for this message
Luis Alberto Pabón (copong) wrote :

I can confirm this happens with Chromium beta (108.0.5359.22) and edge (108.0.5359.19), but not stable (106.0.5249.119)

Revision history for this message
Alexander Browne (elcste) wrote :

With the latest version just released to the beta channel, revision 2180, I no longer see the "spawn" lines, but it still is not starting up for me (Ubuntu 22.10). This is all I get:

$ chromium
Trace/breakpoint trap (core dumped)

Revision history for this message
Nathan Teodosio (nteodosio) wrote :

I am aware that my tentative fix (submitted to beta) failed to solve the issue. But we are getting closer.

Revision history for this message
Alexander Browne (elcste) wrote :

And just to confirm, Google builds from https://download-chromium.appspot.com (now version 109.0.5396.0) open without issue.

Revision history for this message
Nathan Teodosio (nteodosio) wrote :

You were faster than me on #6, Alexander. :)

> And just to confirm, Google builds from https://download-chromium.appspot.com (now version 109.0.5396.0) open without issue.

Yes, it is a downstream issue related to the crash pad, which serves no purpose in our context.

Revision history for this message
Nathan Teodosio (nteodosio) wrote :

For reference,

It's not entirely clear whether this is an upstream or downstream issue, but I'm leaning on the former. The source seems to indicate that chrome_crash_handler is meant only for an official (branded) Chromium build [3][4]; This is backed up by [5], which however has much obsolete stuff.

Relevant upstream reports:

[1] Issue 1377365: Chromium dev fails to launch: "posix_spawn: No such file or directory".
[2] Issue 1176772: Land Crashpad for Chromium-Linux.

As a matter of fact, if I manually copy chrome_crash_handler (from somewhere else) into the snap, Chromium launches normally.

Unfortunately simply disabling posix_spawn for chrome_crash_handler doesn't work, as already detected here. There is some IPC[6] involved and the other end — the client process in the diagram, I reckon — aborts.

[1]: https://bugs.chromium.org/p/chromium/issues/detail?id=1377365
[2]: https://bugs.chromium.org/p/chromium/issues/detail?id=1176772
[3]: https://source.chromium.org/chromium/chromium/src/+/main:BUILD.gn;drc=45940cd0c24186a35012d06d0aa0302e98830ab4;l=510
[4]: https://source.chromium.org/chromium/chromium/src/+/main:chrome/BUILD.gn;drc=45940cd0c24186a35012d06d0aa0302e98830ab4;l=1712
[5]: https://source.chromium.org/chromium/chromium/src/+/main:docs/website/site/developers/crash-reports/index.md
[6]: https://chromium.googlesource.com/crashpad/crashpad/+/refs/heads/main/doc/overview_design.md

Revision history for this message
Nathan Teodosio (nteodosio) wrote :

Fix released in amd64 beta. Marking as committed because it's still not released for other architectures nor for edge.

Can you please confirm it works for you?

Changed in chromium-browser (Ubuntu):
status: In Progress → Fix Committed
Revision history for this message
Alexander Browne (elcste) wrote :

Yes, snap revision 2183 launches for me! I tried with two computers running 22.10.

Revision history for this message
Nathan Teodosio (nteodosio) wrote :

Thanks for testing!

Beta is indeed fixed, but (and I don't know how I managed to overlook that) edge still fails. Resetting bug status.

Changed in chromium-browser (Ubuntu):
status: Fix Committed → In Progress
Revision history for this message
Nathan Teodosio (nteodosio) wrote :

Nevermind, I see what happened...

Due to a Snap Store or Launchpad error the automatic upload of the edge build failed two days ago, then I confirmed the fix by downloading and installing it manually.

Naturally I forgot that and when I tried a few minutes ago "snap refresh --edge chromium" I got the older, broken build.

Changed in chromium-browser (Ubuntu):
status: In Progress → Fix Committed
Changed in chromium-browser (Ubuntu):
status: Fix Committed → Fix Released
Revision history for this message
Nathan Teodosio (nteodosio) wrote : -

The crash pad maintainer pointed out that I was wrong[1]: It is meant to
be enabled in Chromium. That led me to realize the now painfully obvious
cause: chrome_crashpad_handler was generated all along, just simply not
staged; It was introduced — for Linux — in 108 after all.

Now to the question, "is it useful for us, or should we leave it
disabled as in [2]?"

With two builds, one with crash pad disabled and one with it enabled, I
empirically ascertained that although reporting is disabled in Chromium
{attachment: disabled.png} for both, this does not mean that the crash
pad is not being used for both.

Rather, the crash pad makes crash reports generation possible. When
entering about:crash, which generates a sample crash, in the URL bar,
only the build with crash pad enabled generates a report in
about:crashes {attachment: crash-logged.png} and in
~/snap/chromium/common/chromium/Crash Reports/.

So it's better that the crash pad is left enabled.

[1]: https://bugs.chromium.org/p/chromium/issues/detail?id=1377365
[2]: https://launchpad.net/bugs/1926590

Revision history for this message
Nathan Teodosio (nteodosio) wrote :
Revision history for this message
Nathan Teodosio (nteodosio) wrote :
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.