Flash player crashing only under plugin-container
John Francis <[email protected]>
| Newsgroups | gmane.comp.mozilla.devel.plugins |
|---|---|
| Organization | http://groups.google.com |
| Message-ID | <[email protected]> |
I've installed Firefox 4 under CentOS 5.6 using the trick of copying a
newer libstdc++.so.6 into the firefox directory. It works fine except
that the Flash Player plugin usually crashes immediately on load up.
Some very basic flash components will sometimes work but I would say
the vast majority crash immediately on load up.
The plugin works fine in "legacy mode", that is with
dom.ipc.plugins.enabled.libflashplayer.so set to false.
I know this will probably be considered a third-party build, but there
may be something interesting in figuring out this apparent bug. I've
done what I can using strace. I've used the -f and -ff options to
follow forked processes and write the strace to separate files by pid.
I'm using a plugin-container wrapper script that uses LD_PRELOAD to
force it to use the newer libstdc++.so.6 plus whatever else is
available in the firefox distribution directory.
Here is a snippet from the strace of the process that launches the
plugin (I think):
pipe([7, 8]) = 0
...
access("/usr/lib/flash-plugin/libflashplayer.so", F_OK) = 0
access("/usr/lib/flash-plugin/libflashplayer.so", F_OK) = 0
open("/usr/lib/flash-plugin/libflashplayer.so", O_RDONLY) = 15
read(15, "\177ELF
\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\0\227\4\0004\0\0\0"..., 512)
= 512
fstat64(15, {st_mode=S_IFREG|0755, st_size=12537796, ...}) = 0
...
gettimeofday({1306367074, 158128}, NULL) = 0
write(13, "\0", 1) = 1
write(8, "!", 1) = 1
ioctl(14, FIONREAD, [0]) = 0
poll([{fd=5, events=POLLIN}, {fd=14, events=POLLIN}, {fd=7,
events=POLLIN}], 3, 0) = 1 ([{fd=7,
revents=POLLIN}])
read(7, "!", 1) = 1
--- SIGSEGV (Segmentation fault) @ 0 (0) ---
prctl(0x4, 0x1, 0xb7d021e0, 0xac, 0) = 0
gettid() = 7624
socketpair(PF_FILE, SOCK_STREAM, 0, [17, 19]) = 0
sendmsg(4, {msg_name(0)=NULL, msg_iov(1)=[{"\v\0\0\0\0\0\0\0\1\0\0\0
\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 592}], msg_controllen=16,
{cmsg_len=16, cmsg_level=SOL_SOCKET, cmsg_type=SCM_RIGHTS, {19}},
msg_flags=0}, 0) = 592
close(19) = 0
read(17, "", 1) = 0
rt_sigaction(SIGSEGV, {SIG_DFL, [SEGV], SA_RESTART}, {0x1139d48, [ILL
ABRT BUS FPE SEGV], SA_STACK|SA_SIGINFO}, 8) = 0
gettid() = 7624
tgkill(7624, 7624, SIGSEGV) = 0
exit_group(1) = ?
I still have the full traces if anyone is interested.