Uploaded image for project: 'FishEye'
  1. FishEye
  2. FE-4241

Fisheye can't restart when "IOHelper" fails to manipulate /tmp/DiffTextCache

    XMLWordPrintable

Details

    • Our product teams collect and evaluate feedback from a number of different sources. To learn more about how we use customer feedback in the planning process, check out our new feature policy.

    Description

      Currently, if the deletion/creation fails (ie. trying to delete/create /tmp/DiffTextCache) two behaviors are observed:

      1. FeCru can't restart and the following is logged:

      2012-09-21 00:17:54,280 INFO  - Server started on :8060 (http) (control port on 127.0.0.1:8059)
      ERROR: problem running command
      java.lang.reflect.InvocationTargetException
      	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
      	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
      	at java.lang.reflect.Method.invoke(Unknown Source)
      	at com.cenqua.fisheye.FishEyeCtl.mainImpl(FishEyeCtl.java:98)
      	at com.cenqua.fisheye.FishEyeCtl.main(FishEyeCtl.java:41)
      Caused by: java.lang.OutOfMemoryError: GC overhead limit exceeded
      	at java.util.Arrays.copyOf(Unknown Source)
      	at java.lang.AbstractStringBuilder.expandCapacity(Unknown Source)
      	at java.lang.AbstractStringBuilder.append(Unknown Source)
      	at java.lang.StringBuilder.append(Unknown Source)
      	at java.io.UnixFileSystem.resolve(Unknown Source)
      	at java.io.File.<init>(Unknown Source)
      	at java.io.File.listFiles(Unknown Source)
      	at com.cenqua.fisheye.io.IOHelper.recursiveDeleteImpl(IOHelper.java:172)
      	at com.cenqua.fisheye.io.IOHelper.recursiveDelete(IOHelper.java:157)
      	at com.cenqua.fisheye.rep.DiffTextCache.<init>(DiffTextCache.java:71)
      	at com.cenqua.fisheye.rep.BaseRepositoryScanner.start(BaseRepositoryScanner.java:499)
      	at com.cenqua.fisheye.svn.SvnRepositoryScanner.start(SvnRepositoryScanner.java:93)
      	at com.cenqua.fisheye.svn.SvnRepositoryScanner.start(SvnRepositoryScanner.java:61)
      	at com.cenqua.fisheye.rep.BaseRepositoryEngine.doStart(BaseRepositoryEngine.java:70)
      	at com.cenqua.fisheye.rep.RepositoryEngine.start(RepositoryEngine.java:198)
      	at com.cenqua.fisheye.rep.RepositoryHandle.run(RepositoryHandle.java:318)
      	at com.cenqua.fisheye.config.DefaultRepositoryManager.runRepository(DefaultRepositoryManager.java:299)
      	at com.cenqua.fisheye.config.DefaultRepositoryManager.runRepositories(DefaultRepositoryManager.java:330)
      	at com.cenqua.fisheye.config.RootConfig.startRepositories(RootConfig.java:454)
      	at com.cenqua.fisheye.ctl.Run.mainImpl(Run.java:251)
      	at com.cenqua.fisheye.ctl.Run.main(Run.java:76)
      	... 6 more
      

      2. FeCru become unresponsive during usage:
      Thread dump:

      [17] WrapperStartStopAppMain: RUNNABLE
         java.io.WinNTFileSystem.list(Native Method)
         java.io.File.list(Unknown Source)
         java.io.File.listFiles(Unknown Source)
         com.cenqua.fisheye.io.IOHelper.recursiveDeleteImpl(IOHelper.java:172)
         com.cenqua.fisheye.io.IOHelper.recursiveDelete(IOHelper.java:157)
         com.cenqua.fisheye.rep.DiffTextCache.<init>(DiffTextCache.java:66)
         com.cenqua.fisheye.rep.BaseRepositoryScanner.start(BaseRepositoryScanner.java:537)
         com.cenqua.fisheye.svn.SvnRepositoryScanner.start(SvnRepositoryScanner.java:94)
         com.cenqua.fisheye.svn.SvnRepositoryScanner.start(SvnRepositoryScanner.java:61)
         com.cenqua.fisheye.rep.BaseRepositoryEngine.doStart(BaseRepositoryEngine.java:66)
         com.cenqua.fisheye.rep.RepositoryEngine.start(RepositoryEngine.java:203)
         com.cenqua.fisheye.rep.RepositoryHandle.run(RepositoryHandle.java:311)
         com.cenqua.fisheye.config.DefaultRepositoryManager.runRepository(DefaultRepositoryManager.java:259)
         com.cenqua.fisheye.config.DefaultRepositoryManager.runRepositories(DefaultRepositoryManager.java:287)
         com.cenqua.fisheye.config.RootConfig.startRepositories(RootConfig.java:497)
         com.cenqua.fisheye.ctl.Run.mainImpl(Run.java:250)
         com.cenqua.fisheye.ctl.Run.main(Run.java:71)
         sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
         sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
         java.lang.reflect.Method.invoke(Unknown Source)
         com.cenqua.fisheye.FishEyeCtl.mainImpl(FishEyeCtl.java:114)
         com.cenqua.fisheye.FishEyeCtl.main(FishEyeCtl.java:42)
         sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
         sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
         java.lang.reflect.Method.invoke(Unknown Source)
         org.tanukisoftware.wrapper.WrapperStartStopApp.run(WrapperStartStopApp.java:159)
         java.lang.Thread.run(Unknown Source)
      

      In both cases, the size of /tmp/DiffTextCache was very big, making us think that at some point FeCru failed to remove/re-new its content and it started accumulating old files.

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              rbattaglin Renan Battaglin
              Votes:
              2 Vote for this issue
              Watchers:
              6 Start watching this issue

              Dates

                Created:
                Updated: