| Summary: | [GTK] Behaves in weird ways when under "low memory" | ||
|---|---|---|---|
| Product: | WebKit | Reporter: | Bastien Nocera <bugzilla> |
| Component: | WebKitGTK | Assignee: | Nobody <webkit-unassigned> |
| Status: | NEW --- | ||
| Severity: | Normal | CC: | bugs-noreply, cgarcia, mcatanzaro |
| Priority: | P2 | ||
| Version: | Other | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
|
Description
Bastien Nocera
2019-04-18 07:18:10 PDT
Would it be possible to get a bt of the WebProcess when that happens? My theory is there's not enough memory to launch a new web process, so we can't show an error page because we need a new web process to show an error page. Or: could be the web process is being launched, crashes due to OOM, and then gets relaunched again continuously. (In reply to Michael Catanzaro from comment #2) > My theory is there's not enough memory to launch a new web process, so we > can't show an error page because we need a new web process to show an error > page. > > Or: could be the web process is being launched, crashes due to OOM, and then > gets relaunched again continuously. It's not crashing or getting killed due to OOM, because I'd see that in the journal. It's (probably) silently not able to launch new WebProcesses, because of resource limitation. I have no way to know which resource is missing because I have no way to make WebKit spit out information about this failure. (In reply to Carlos Garcia Campos from comment #1) > Would it be possible to get a bt of the WebProcess when that happens? It's not a crash or a hang. If it were a hang, I don't know how I'd identify which one of the processes was associated with the the tab in question. We have:
g_error("Unable to fork a new child process: %s", error->message);
when g_subprocess_launcher_spawnv fails.
(In reply to Carlos Garcia Campos from comment #4) > We have: > > g_error("Unable to fork a new child process: %s", error->message); > > when g_subprocess_launcher_spawnv fails. That didn't show up in my logs either. Could the controlling process be running out of file descriptors instead? |