Uploaded image for project: 'Cocoon'
  1. Cocoon
  2. COCOON-1574

Memory Leak with XMLFileModule

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Reopened
    • Major
    • Resolution: Unresolved
    • 2.2
    • 2.1.11
    • * Cocoon Core
    • None
    • Operating System: Windows XP
      Platform: PC
    • 36162
    • Components: Sitemap
    • Components: Sitemap

    Description

      I'm currently looking into a memory leak issue at Apache Forrest. Forrest's
      site currently needs to be built with -Xmx128m because of this. I believe the
      issue is originated at Cocoon's LinkRewriterTransformer or XMLFileModule.

      A memory profiler shows lots (30MB+) of DOM DocumentImpls (150+ objects), which
      get referenced by XMLFileModule.DocumentHelper. Their URIs are linkmap-xxx.

      LinkRewriterTransformer#createTransformedLink(String) uses a InputModuleHelper,
      which seems to reference a XMLFileModule.
        ...
        newLink = (String) modHelper.getAttribute(this.objectModel,
                           ^^^^^^^^^
        ...

      The XMLFileModule keeps the visited documents in a map, which is where they
      build up.

      Just for testing, I changed XMLFileModule#getDocumentHelper(Configuration) from
        this.documents.put(src, new DocumentHelper(reload, cache, src, this));
      to
        return new DocumentHelper(reload, cache, src, this);

      Thus, a new DocumentHelper is created every time, instead of caching them. The
      result: No more memory problems, Apache Forrest's site builds again with -Xmx32.

      Ron

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              rblasch Ronald Blaschke
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated: