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

servers may not exit since distributed GC is not aggressive enough

XMLWordPrintable

    • 1.2beta
    • sparc
    • solaris_2.5
    • Not verified

      Applications (servers) that export remote objects may not exit even if all remote objects have been garbage collected (remotely and locally) and there are no other non-daemon thread in the process other than an RMI thread which keeps the process alive. The distributed GC uses a sun.misc.Ref as a weak reference for each remote implementations that is not referenced by any client. As such, the distributed GC relies on a value in a sun.misc.Ref to be set to null when a remote implementation object is garbage collected locally. Since weak references are not freed by the garbage collector in an agressive manner (and may not be freed at all), the remote implementation object may remain in the object table forever and a thread that keeps a server alive while there are remote objects in the object table will never be stopped. Therefore, RMI servers may never exit.

            peterjones Peter Jones (Inactive)
            awollratsunw Ann Wollrath (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

              Created:
              Updated:
              Resolved:
              Imported:
              Indexed: