Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

TimeSlicer to Processing template looks idle yet is still working #1

Open
fbielejec opened this issue Jul 1, 2011 · 1 comment
Open
Assignees
Labels

Comments

@fbielejec
Copy link
Member

How to reproduce the bug:

  • Got to TimeSlicer tab
  • Import the data (tree and trees file)
  • Click on Plot button

What happens:

Progress bar and Plot button are busy when Spread parses the trees (AnalyzeTrees method), but are released before the plotting is done. Finished message is shown prematurely.

What should happen:

Progress bar and Plot button should be released only when plotting is done.

What is REALLY happening:

Apparently the Processing AnimationThread is not working from SwingWorker thread pool invoked by the doInBackground() method. Because of that the done() method is invoked when AnalyzeTrees() finishes it's job (as it is running in SwingWorker
thread pool). The relevant lines of code are in gui.TimeSlicerTab.java::ListenGenerateProcessing (794 : 980)

Possible solutions:

  • Somehow get the AnimationThread to run in the Swing Worker thread pool.
  • Run the job in EDT using invokeLater() (risking that application freezes)
  • Other

Other Comments:

Actually the same holds with other Processing templates. Yet there the plotting takes such a short time that the issue is not observable from the user point of view. This however becomes clear when the threads are observed in profiler.

@ghost ghost assigned fbielejec Jul 1, 2011
@fbielejec
Copy link
Member Author

Maybe CyclicBarrier could be of some assistance

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant