| Summary: | XMLTraceDataProcessor leaks threads | ||||||
|---|---|---|---|---|---|---|---|
| Product: | z_Archived | Reporter: | Neil Dunn <neildunn> | ||||
| Component: | TPTP | Assignee: | Marius Slavescu <slavescu> | ||||
| Status: | CLOSED FIXED | QA Contact: | |||||
| Severity: | critical | ||||||
| Priority: | P1 | CC: | guru.nagarajan, jkubasta, popescu | ||||
| Version: | unspecified | ||||||
| Target Milestone: | --- | ||||||
| Hardware: | All | ||||||
| OS: | All | ||||||
| Whiteboard: | closed460 | ||||||
| Attachments: |
|
||||||
|
Description
Neil Dunn
Marius, would you please work with Neil on these? Is any progress happening here? Should I think about proposing my own fix? Any progress? I don't think the severity should be normal since this is a leaking issue; as a result the priority is not properly set. Joanna, can you review this defect and mark it appropriately Neil, code contribution is accepted and appreciated. We have limited resources to apply to the existing code which is unfortunately affecting this issue as well. Marius, please work on resolving this defect. Thanks. This is a long standing problem, I plan to have a fix in 4.4, in parallel I'm investigating other memory leak problems in the UI. Created attachment 68928 [details]
Patch for XMLTraceDataProcessor
Neil please try the attached patch.
I don't see any problem when running on T60p (CoreDuo), it might surface only on single CPU machines. I'll try to test on a single CPU machine also.
I tested with JVMPI profile and perfmon agents. I will also test with JVMTI.
The "Profile UI" thread should go away when the profile/statistical session ends (normal or by using Terminate action), XMLTraceDataProcessor.cleanUp() is supposed to be called at that point in time.
Here is what you should see in the console when running with ModelDebugger.debug=true (see /org.eclipse.tptp.platform.models/.options file):
Thread[TCPDataFiller,6,main] - SAXFragmentHandler.terminateParser() - done
at org.eclipse.hyades.loaders.util.SAXFragmentHandler.terminateParser(SAXFragmentHandler.java:114)
at org.eclipse.hyades.loaders.util.XMLLoader.cleanUp(XMLLoader.java:258)
at org.eclipse.hyades.trace.ui.internal.piclient.XMLTraceDataProcessor.cleanUp(XMLTraceDataProcessor.java:1141)
at org.eclipse.hyades.trace.ui.internal.piclient.XMLTraceDataProcessor.dataServerExited(XMLTraceDataProcessor.java:329)
at org.eclipse.hyades.internal.execution.local.common.TCPDataServer$TCPDataProcessorNew.run(TCPDataServer.java:795)
Thread[Profile UI,6,main] - RefreshUI stopped
at org.eclipse.hyades.trace.ui.internal.piclient.XMLTraceDataProcessor$RefreshUI.run(XMLTraceDataProcessor.java:876)
If you still see the problem please can you check if XMLTraceDataProcessor.dataServerExited is called?
I am running on a T42 and with the attached patch I cannot reproduce the leaking issue. The other comments regading the separation of the UI code from the data collection implementation are valid though and should be addressed in this defect. While debugging this problem I noticed that there is another UI thread responsible for refreshing the UI, Profile_Refresh, created by the Profiling Monitor view ( PDProjectExplorer ). The data processor UI thread should be merged/moved into this one. Marius, please move defect to a valid target; 4.4 is closed I would assume that this is not a mustfix for 4.4.0.1 so the next possible target would be 4.4.1 Marius - This has been retargetted to 4.4.1. Please triage this to the right version The remaining fix was done in another defect. As of TPTP 4.6.0, TPTP is in maintenance mode and focusing on improving quality by resolving relevant enhancements/defects and increasing test coverage through test creation, automation, Build Verification Tests (BVTs), and expanded run-time execution. As part of the TPTP Bugzilla housecleaning process (see http://wiki.eclipse.org/Bugzilla_Housecleaning_Processes), this enhancement/defect is verified/closed by the Project Lead since this enhancement/defect has been resolved and unverified for more than 1 year and considered to be fixed. If this enhancement/defect is still unresolved and reproducible in the latest TPTP release (http://www.eclipse.org/tptp/home/downloads/), please re-open. |