个人工具

UbuntuHelp:FirefoxFlashCrashes

来自Ubuntu中文

跳转至: 导航, 搜索

This wiki page was created to compile all information, files, and HOWTOs related to Launchpad bug 192888 (https://bugs.launchpad.net/ubuntu/+source/pulseaudio/+bug/192888), Firefox crashing during Flash playback. Please feel free to modify this page to add content regarding the bug, along with other bugs associated with it.

The problem

This is the problem described the the submitter of bug 192888, and is fairly accurate with most reports:

  1. Navigate to youtube video (example: http://www.youtube.com/watch?v=V5BxymuiAxQ).
  2. Wait until sound starts playing.
  3. Hit your browser back button
  4. Hit your browser forward button
  5. Goto #2 if Firefox has not yet crashed.

The cause

There is a bug in the Flash binary that is only exposed when the libflashsupport library is used. Due to this bug, when an instance of flash content is closed and another opened, there is a possibility of a segmentation fault - which cause a segmentation fault in Firefox itself. 64 bit users do not notice this problem due to nspluginwrapper isolating the Firefox process from the Flash process (Flash runs within the npwrapper.bin process when wrapped). The libflashsupport library was necessary for Flash 9 to work correctly with PulseAudio, but it is now obsolete since the release of Flash 10 (albeit still at release candidate status).

Fix for Ubuntu Intrepid (pre-release)

This issue is no longer present in Intrepid (as we are using Flash 10, libflashsupport has been removed, and Luke Yelavich has patched alsa-lib to detect and use the PulseAudio ALSA plugins when appropriate). There are other issues remaining, however. The version of Flash 10 in the repository is obsolete, and has some performance regressions. An update to the latest version is waiting for approval in bug #257403, but there are some complications:

  1. Flash 10 includes support for "windowless mode" Flash content, which nspluginwrapper does not fully support. This requires a fix or workaround. See bug #272286.
  2. Flash 10 RC2 has introduced new dependencies on external libraries. Although these libraries have been added to ia32-libs for 64-bit users, there seems to be issues remaining. See bug #246911.

Fix for Ubuntu Hardy (more complicated)

Fixing this bug in Hardy is not quite so straightforward. Flash 9 is not compatible with PulseAudio unless libflashsupport is installed - however, libflashsupport causes crashes - see bug #192888. Flash 10 is compatible with PulseAudio (but libflashsupport must be removed, as it still causes crashes). However, there are more pre-requisites to ensure it works correctly, including:

  1. To ensure all the fixes that are required for Intrepid (listed above) are applied to Hardy.
  2. Updates are released for alsa-lib and alsa-plugins: Hardy's version of the PulseAudio ALSA plugins do not function correctly, which is tracked in bug #192888.
  3. There needs to be a backport of alsa-lib that introduces an important change to the behaviour of PulseAudio, where the default ALSA device is set to PulseAudio. This has the potential to cause regressions in several applications, however. See bug #198453.

Therefore, Hardy will require SRUs (StableReleaseUpgrades) on several packages, which could take some times - but most of all, needs proper testing in Intrepid before this can happen. Please see my threads on Ubuntu Forums for the PulseAudio guides, as many of these issues are discussed: For Hardy: http://ubuntuforums.org/showthread.php?t=789578 For Intrepid: http://ubuntuforums.org/showthread.php?t=866965 -psyke83

Having problems?

If there is an issue with this wiki page, please contact me (alecwh) at alecwh{at}gmail[dot]com. DO NOT contact me asking for help with this bug. I probably have no idea (the above contributions are mostly from others).