[Pkg-chromium-maint] Chromium 14 backport "Aw, Snap!"
Fabien C.
et1w9zppao6hlkl at jetable.org
Mon Oct 10 22:44:14 UTC 2011
> It's a crash in the renderer processes, so that won't help. The
> upstream instructions [0] are more useful in this case, but like I
> said the crash somehow goes away when run under the debugger...weird.
Not only the debugger.
Actually, the crash disappears as soon as you use the --renderer-cmd-prefix option.
I tried with it with a stupid script that only runs the command it receives as an argument:
chromium --renderer-cmd-prefix='/tmp/test.sh'
The source of 'test.sh' being:
#!/bin/sh
echo $*
$*
And surprisingly, everything works...
The little side effect however is that you have 2 processes spawned whenever a renderer is created.
You can avoid this with a little C program that will make use of execve() as follows:
-------[myexec.c]-------
#include <stdio.h>
#include <unistd.h>
#include <errno.h>
#include <string.h>
int main(int argc, char* argv[], char* envp[]) {
if( argc < 2) {
fprintf(stderr, "Usage: %s <command> [ args ... ]\n", argv[0]);
return -1;
}
execve(argv[1], &argv[1], envp);
int last_errno = errno;
fprintf(stderr, "Impossible to launch %s\n", argv[1]);
fprintf(stderr, "%s\n", strerror(last_errno));
return last_errno;
}
-------[myexec.c]-------
Let's try it:
chromium --renderer-cmd-prefix='/tmp/myexec'
It works... And only one process is created.
This is quite a strange bug... If someone is willing to report it upstream, that would be nice. :)
Maybe you can implement this workaround in your backport, if it works for you Michael. It's probably less painful than the --single-process option.
Fab
More information about the Pkg-chromium-maint
mailing list