← Back to team overview

openjdk team mailing list archive

[Bug 525883] Re: Java applet audio with pulseaudio broken (local apps likely broken)

 

I confirm the bug and the fix by jarkko and ricardo. This is what I did:

sudo ln -s ../i386 /usr/lib/jvm/java-6-openjdk/jre/lib/ext/i386

cat > .java.policy 
grant {
    permission java.lang.RuntimePermission "loadLibrary.pulse-java";
    permission java.io.FilePermission "/usr/lib/jvm/java-6-openjdk/jre/lib/i386/libpulse-java.so", "read";
    permission java.io.FilePermission "/usr/lib/jvm/java-6-openjdk/jre/lib/ext/i386/libpulse-java.so", "read";
};

and it fixed similar error:

java.security.AccessControlException: access denied
(java.lang.RuntimePermission loadLibrary.pulse-java)

among the not finding libpulse-java.so -problem.

This is done using maverick, updated latest today. My daughter hit the
problem at some first grade school education pages at:
http://opit.wsoy.fi , which I believe requires authenticaiton. Sorry I
can't provide sample due auth.

-- 
You received this bug notification because you are a member of OpenJDK,
which is subscribed to openjdk-6 in Ubuntu.
https://bugs.launchpad.net/bugs/525883

Title:
  Java applet audio with pulseaudio broken (local apps likely broken)

Status in “openjdk-6” package in Ubuntu:
  Confirmed

Bug description:
  Binary package hint: openjdk-6-jre

  Problem: No audio output from applets in firefox using pulseaudio.

  
  charm% lsb_release -rd
  Description:    Ubuntu 9.10
  Release:        9.10

  This bug is in a combination of packages:
   - openjdk-6-jre 6b16-1.6.1-3ubuntu1
   - openjdk-6-jre-lib 6b16-1.6.1-3ubuntu1
   - icedtea6-plugin 6b16-1.6.1-3ubuntu1

  Examples:
    - Webex meetings
    - http://www.javazoom.net/applets/tinyplayer/tinyplayer.html

  Doing some investigation, I found two things:

   - There is a security policy problem for applets using sound
   - There is a packaging problem with the location of the native pulse library for java

  Working backwards using java stacktraces on stderr, I found the following permissions 
  were necessary to get audio output from java:

  $ cat .java.policy
  grant {
    permission java.lang.RuntimePermission 
          "loadLibrary.pulse-java";
    permission java.io.FilePermission 
          "/usr/lib/jvm/java-6-openjdk/jre/lib/ext/i386/libpulse-java.so", "read";
  };

  Then, I found that the .so file didn't actually exist! Instead, it's
  in a different directory:

  $ dpkg -L openjdk-6-jre | grep pulse
  /usr/lib/jvm/java-6-openjdk/jre/lib/i386/libpulse-java.so

  Making a symbolic link fixed everything and made it work:

  $ ls -l /usr/lib/jvm/java-6-openjdk/jre/lib/ext/i386
  lrwxrwxrwx 1 root root 7 2010-02-22 11:19 /usr/lib/jvm/java-6-openjdk/jre/lib/ext/i386 -> ../i386

  I can't say how the policies should be managed for applets, but even
  regular java programs aren't likely to work until the packaging is
  fixed.

  -Dave



References