Menu

#1810 ProjectViewer: Updating Version Control Status not cancellable from TaskMon

None
open
5
2015-01-02
2014-12-29
Alan Ezust
No

I have a HUGE git project with lots of sub-projects. After a re-import, I see
the "updating version control status" task never finishes, and I can't abort it.

If I re-import files again, then another is created that also never finishes.

Using the Qt git checkout as a test case.
http://qt-project.org/wiki/Building_Qt_5_from_Git

Discussion

  • Alan Ezust

    Alan Ezust - 2014-12-29
    • Description has changed:

    Diff:

    --- old
    +++ new
    @@ -1,6 +1,7 @@
    -I have a HUGE git project with lots of sub-projects.
    +I have a HUGE git project with lots of sub-projects. After a re-import, I see 
     the "updating version control status" task never finishes, and I can't abort it.
    -Sometimes there are 2 of them.
    +
    +If I re-import files again, then another is created that also never finishes. 
    
     Using the Qt git checkout as a test case.
     http://qt-project.org/wiki/Building_Qt_5_from_Git
    
    • Group: -->
     
  • Dale Anson

    Dale Anson - 2014-12-30

    I don't have time to fix this right now, it might be a few days until I can get to it. Here is my preliminary take on it -- the vcs status is updated via a swing worker in ProjectManager.java (see line 744). I'm not up on the jEdit task manager, but it should somehow call the "cancel(true)" method on this swing worker. Probably the call to updateVCSStatus(project) (see line 458 in ProjectManger) should return a reference to the swing worker so the caller can call the "cancel" method when needed. That might do it.

     
  • Dale Anson

    Dale Anson - 2015-01-02
    • assigned_to: Dale Anson
     
  • Dale Anson

    Dale Anson - 2015-01-02

    I checked in a fix for this, it turns out it was a simple one-liner. Would you give it a try and see if it works for you?

     
  • Alan Ezust

    Alan Ezust - 2015-01-02

    Clicking the stop button twice shows this in the activity log but the task is still there.

    7:31:07 AM [AWT-EventQueue-0] [debug] EditBus: DynamicMenuChanged[menu=recent-files,source=null]
    7:31:10 AM [jEdit Worker #1] [error] jEdit Worker #1: java.lang.InterruptedException
    7:31:10 AM [jEdit Worker #1] [error] jEdit Worker #1: at java.lang.Object.wait(Native Method)
    7:31:10 AM [jEdit Worker #1] [error] jEdit Worker #1: at java.lang.Object.wait(Object.java:503)
    7:31:10 AM [jEdit Worker #1] [error] jEdit Worker #1: at java.lang.UNIXProcess.waitFor(UNIXProcess.java:263)
    7:31:10 AM [jEdit Worker #1] [error] jEdit Worker #1: at common.io.ProcessExecutor.waitFor(ProcessExecutor.java:234)
    7:31:10 AM [jEdit Worker #1] [error] jEdit Worker #1: at git.GitCommand.execute(GitCommand.java:82)
    7:31:10 AM [jEdit Worker #1] [error] jEdit Worker #1: at git.GitCommand.execute(GitCommand.java:61)
    7:31:10 AM [jEdit Worker #1] [error] jEdit Worker #1: at git.GitService.getNodeState(GitService.java:76)
    7:31:10 AM [jEdit Worker #1] [error] jEdit Worker #1: at projectviewer.ProjectManager$VCSStateLoader.processChildren(ProjectManager.java:796)
    7:31:10 AM [jEdit Worker #1] [error] jEdit Worker #1: at projectviewer.ProjectManager$VCSStateLoader.processChildren(ProjectManager.java:806)
    7:31:10 AM [jEdit Worker #1] [error] jEdit Worker #1: at projectviewer.ProjectManager$VCSStateLoader.processChildren(ProjectManager.java:806)
    7:31:10 AM [jEdit Worker #1] [error] jEdit Worker #1: at projectviewer.ProjectManager$VCSStateLoader.processChildren(ProjectManager.java:806)
    7:31:10 AM [jEdit Worker #1] [error] jEdit Worker #1: at projectviewer.ProjectManager$VCSStateLoader.processChildren(ProjectManager.java:806)
    7:31:10 AM [jEdit Worker #1] [error] jEdit Worker #1: at projectviewer.ProjectManager$VCSStateLoader.doInBackground(ProjectManager.java:780)
    7:31:10 AM [jEdit Worker #1] [error] jEdit Worker #1: at javax.swing.SwingWorker$1.call(SwingWorker.java:296)
    7:31:10 AM [jEdit Worker #1] [error] jEdit Worker #1: at java.util.concurrent.FutureTask.run(FutureTask.java:262)
    7:31:10 AM [jEdit Worker #1] [error] jEdit Worker #1: at javax.swing.SwingWorker.run(SwingWorker.java:335)
    7:31:10 AM [jEdit Worker #1] [error] jEdit Worker #1: at org.gjt.sp.util.TaskManager$MyTask._run(TaskManager.java:258)
    7:31:10 AM [jEdit Worker #1] [error] jEdit Worker #1: at org.gjt.sp.util.Task.run(Task.java:64)
    7:31:10 AM [jEdit Worker #1] [error] jEdit Worker #1: at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
    7:31:10 AM [jEdit Worker #1] [error] jEdit Worker #1: at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    7:31:10 AM [jEdit Worker #1] [error] jEdit Worker #1: at java.lang.Thread.run(Thread.java:745)
    7:31:10 AM [jEdit Worker #1] [error] Status: GitCommand Failed: git status --porcelain /home/ezust/Trolltech/qt5/qtbase/config.tests/x11/xinput2/xinput2.pro
    7:31:10 AM [jEdit Worker #1] [error] Status: null
    7:31:24 AM [jEdit Worker #1] [error] jEdit Worker #1: java.lang.InterruptedException
    7:31:24 AM [jEdit Worker #1] [error] jEdit Worker #1: at java.lang.Object.wait(Native Method)
    7:31:24 AM [jEdit Worker #1] [error] jEdit Worker #1: at java.lang.Object.wait(Object.java:503)
    7:31:24 AM [jEdit Worker #1] [error] jEdit Worker #1: at java.lang.UNIXProcess.waitFor(UNIXProcess.java:263)
    7:31:24 AM [jEdit Worker #1] [error] jEdit Worker #1: at common.io.ProcessExecutor.waitFor(ProcessExecutor.java:234)
    7:31:24 AM [jEdit Worker #1] [error] jEdit Worker #1: at git.GitCommand.execute(GitCommand.java:82)
    7:31:24 AM [jEdit Worker #1] [error] jEdit Worker #1: at git.GitCommand.execute(GitCommand.java:61)
    7:31:24 AM [jEdit Worker #1] [error] jEdit Worker #1: at git.GitService.getNodeState(GitService.java:76)
    7:31:24 AM [jEdit Worker #1] [error] jEdit Worker #1: at projectviewer.ProjectManager$VCSStateLoader.processChildren(ProjectManager.java:796)
    7:31:24 AM [jEdit Worker #1] [error] jEdit Worker #1: at projectviewer.ProjectManager$VCSStateLoader.processChildren(ProjectManager.java:806)
    7:31:24 AM [jEdit Worker #1] [error] jEdit Worker #1: at projectviewer.ProjectManager$VCSStateLoader.processChildren(ProjectManager.java:806)
    7:31:24 AM [jEdit Worker #1] [error] jEdit Worker #1: at projectviewer.ProjectManager$VCSStateLoader.processChildren(ProjectManager.java:806)
    7:31:24 AM [jEdit Worker #1] [error] jEdit Worker #1: at projectviewer.ProjectManager$VCSStateLoader.processChildren(ProjectManager.java:806)
    7:31:24 AM [jEdit Worker #1] [error] jEdit Worker #1: at projectviewer.ProjectManager$VCSStateLoader.processChildren(ProjectManager.java:806)
    7:31:24 AM [jEdit Worker #1] [error] jEdit Worker #1: at projectviewer.ProjectManager$VCSStateLoader.doInBackground(ProjectManager.java:780)
    7:31:24 AM [jEdit Worker #1] [error] jEdit Worker #1: at javax.swing.SwingWorker$1.call(SwingWorker.java:296)
    7:31:24 AM [jEdit Worker #1] [error] jEdit Worker #1: at java.util.concurrent.FutureTask.run(FutureTask.java:262)
    7:31:24 AM [jEdit Worker #1] [error] jEdit Worker #1: at javax.swing.SwingWorker.run(SwingWorker.java:335)
    7:31:24 AM [jEdit Worker #1] [error] jEdit Worker #1: at org.gjt.sp.util.TaskManager$MyTask._run(TaskManager.java:258)
    7:31:24 AM [jEdit Worker #1] [error] jEdit Worker #1: at org.gjt.sp.util.Task.run(Task.java:64)
    7:31:24 AM [jEdit Worker #1] [error] jEdit Worker #1: at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
    7:31:24 AM [jEdit Worker #1] [error] jEdit Worker #1: at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    7:31:24 AM [jEdit Worker #1] [error] jEdit Worker #1: at java.lang.Thread.run(Thread.java:745)
    7:31:24 AM [jEdit Worker #1] [error] Status: GitCommand Failed: git status --porcelain /home/ezust/Trolltech/qt5/qtbase/doc/global/template/style/icomoon.ttf
    7:31:24 AM [jEdit Worker #1] [error] Status: null

     

Log in to post a comment.