| Summary: | gconf tool throws errors during file save | ||||||
|---|---|---|---|---|---|---|---|
| Product: | [Technology] RTSC | Reporter: | Amit Mookerjee <amitm> | ||||
| Component: | Core | Assignee: | Sasha Slijepcevic <sascha> | ||||
| Status: | CLOSED FIXED | QA Contact: | |||||
| Severity: | normal | ||||||
| Priority: | P3 | CC: | d-russo, karl | ||||
| Version: | unspecified | ||||||
| Target Milestone: | --- | ||||||
| Hardware: | All | ||||||
| OS: | All | ||||||
| Whiteboard: | target:3.20.08 | ||||||
| Attachments: |
|
||||||
|
Description
Amit Mookerjee
Created attachment 187575 [details]
config.Shell control flow
The bug is caused by an unclosed file handle in config.Shell. A handle opened in processLoad was not closed in evaluateLoad, as it should be following the pattern established in processFile and evaluateReader.
The attached image shows the Shell architecture. GConf calls into Shell through TCF. TCF is passing the line 'load(<scriptName>);' to processLine, which then gets evaluated in processLoad->evaluateLoad, where the bug gets exposed.
The same problem can be demonstrated in Tconf, if it's run interactively from the command line. When the Tconf from 3.20.06 release is used, the following command will capture a handle to hello.tcf, and the saving of changes to hello.tcf in a text editor will be disabled even after the command returns:
js> utils.load("hello.tcf");
js>
Only when the user exits Tconf, saving hello.tcf in an editor will work.
With a fix implemented, after utils.load is invoked, hello.tcf can be saved in an editor even before the user exits Tconf.
- fixed in xdcutils-f05 verify pass. I reproduced (again to be sure) with 3.20.07.xy release and see the problem. I installed 3.20.08.87_eng and did multiple modify/save cycles and I no longer get this exception. verify pass. Shipped in XDCtools 3.20.08 |