Community
Participate
Working Groups
1. New plug-in project using a template (plug-in with a view works) 2. Put some random text or other problem into Activator.java 3. Export > Plug-ins and Fragments 4. Turn on "Use class files compiled from the workspace" option 5. Run the export Result: The compile problems are reported in a popup dialog, but they are logged twice in the log.
This can wait until M5.
Pushing polish items to M6.
Moving to Platform Core for comment. I assume that PDE is doing something incorrectly, but both messages are logged inside the job structure. When our export job completes it has an error status. In the finally block of Worker.run() the status gets logged twice. The first during pool.endJob(currentJob, result) (this also pops up the error dialog). Immediately after a call to RuntimeLog.log(result) causes the status to be put into the log a second time.
(In reply to comment #3) > When our export job completes it has an error status. In the finally block of > Worker.run() the status gets logged twice. The first during > pool.endJob(currentJob, result) (this also pops up the error dialog). > Immediately after a call to RuntimeLog.log(result) causes the status to be put > into the log a second time. I don't see us logging in pool.endJob anywhere. Perhaps someone has registered a job listener listening for the done event and logging an extra time. Do you have the stack traces?
It appears that the ProgressManager has a listener that is doing the logging. It is also responsible for opening the error dialog (which is wanted behaviour). I debugged as far as ProgressManager (line 449). The JobChangeAdapter.done() calls: StatusManager.getManager().handle(statusAdapter,StatusManager.SHOW | StatusManager.LOG); We would like to have the error be displayed to the user and logged. However, having it logged twice (once by the ProgressManager and again by the Worker) is not preferable. Reducing severity to minor.
I agree. The ProgressManager should not log it. Since the core jobs mechanism needs to handle the case where there is no ProgressManager, it's best to do the logging only once at the lowest level to ensure it is always logged.
The logging was introduced because of Bug# 277081. John, Does the core jobs handle NPE situations during an async execution? If so, then ProgressManager can be made not to log the error.
(In reply to comment #7) > Does the core jobs handle NPE situations during an async execution? If so, > then ProgressManager can be made not to log the error. It looks like we don't. I think this is a bug in the job bundle, since we log failures for normal jobs, but not for job with asynchronous completion. I suggest reverting your change in ProgressManager and I will fix the job implementation to log consistently. I will reopen bug 277081 and move it to me to properly log in that case. I will leave this bug for making the change on the UI side.
Created attachment 159793 [details] Fix to remove double logging
I'm going to go ahead and release this, since I have released the change on the jobs side for tomorrow's build and want to avoid seeing double-logging of everything. Prakash, please review.
Verified in I20100309-0100