Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8043231

[mac] Too long pipe names: sometimes duplicate names arises when many applets on page

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: P3 P3
    • 9
    • 7-pool, 8-pool, 9
    • deploy
    • None
    • b22
    • os_x

        Frequently got the following exception on a server plugin VM:

        java.lang.RuntimeException: Error creating AF_UNIX: errno 48: Address already in use
        at sun.plugin2.ipc.unix.DomainSocketNamedPipe.<init>(Unknown Source)
        at sun.plugin2.ipc.unix.UnixIPCFactory.createNamedPipe(Unknown Source)
        at sun.plugin2.message.transport.NamedPipeTransportFactory.<init>(Unknown Source)
        at sun.plugin2.message.transport.TransportFactory.create(Unknown Source)
        at sun.plugin2.message.transport.TransportFactory.createForCurrentOS(Unknown Source)
        at sun.plugin2.main.server.JVMInstance.startImpl(Unknown Source)
        at sun.plugin2.main.server.JVMInstance.start(Unknown Source)
        at sun.plugin2.main.server.JVMManager.getOrCreateBestJVMInstance(Unknown Source)
        at sun.plugin2.main.server.JVMManager.startAppletImpl(Unknown Source)
        at sun.plugin2.main.server.JVMManager.relaunchApplet(Unknown Source)
        at sun.plugin2.main.server.JVMInstance$WorkerThread.run(Unknown Source)
        java.lang.RuntimeException: Error creating AF_UNIX: errno 48: Address already in use
        at sun.plugin2.ipc.unix.DomainSocketNamedPipe.<init>(Unknown Source)
        at sun.plugin2.ipc.unix.UnixIPCFactory.createNamedPipe(Unknown Source)
        at sun.plugin2.message.transport.NamedPipeTransportFactory.<init>(Unknown Source)
        at sun.plugin2.message.transport.TransportFactory.create(Unknown Source)
        at sun.plugin2.message.transport.TransportFactory.createForCurrentOS(Unknown Source)
        at sun.plugin2.main.server.JVMInstance.startImpl(Unknown Source)
        at sun.plugin2.main.server.JVMInstance.start(Unknown Source)
        at sun.plugin2.main.server.JVMManager.getOrCreateBestJVMInstance(Unknown Source)
        at sun.plugin2.main.server.JVMManager.startAppletImpl(Unknown Source)
        at sun.plugin2.main.server.JVMManager.relaunchApplet(Unknown Source)
        at sun.plugin2.main.server.JVMInstance$WorkerThread.run(Unknown Source)

        Looks like there is some limitation for the pipe name length. While the plugin tries to create the pipe with long name of type
        /var/folders/93/jv207k_s54s7hm7xmt9p80m80000gp/T/WebKitPlugin-XnPoE8/.com.sun.deploy.net.socket.6899.<long UID>.AF_UNIX
        The OS truncates it to:
        /var/folders/93/jv207k_s54s7hm7xmt9p80m80000gp/T/WebKitPlugin-XnPoE8/.com.sun.deploy.net.socket.6899.## (the ## is the first two digits of the <long UID>)
        The pipe names of course have the same name frequently when there are a lot of applets on the page.
        The problem is frequently observed on Safari 7.0 with sandboxed applet execution since the /WebKitPlugin-XnPoE8 is appended to the pipe name.
        Without sandboxing the pipe name is still truncated but it contains sufficient UID numbers to be unique with a high probability.

        See more details here JDK-8021383

              anashaty Anton Nashatyrev (Inactive)
              anashaty Anton Nashatyrev (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

                Created:
                Updated:
                Resolved: