This Bugzilla instance is a read-only archive of historic NetBeans bug reports. To report a bug in NetBeans please follow the project's instructions for reporting issues.
Summary: | VcsFileSystem.lock() does not throw UserQuestionExceptions reliably. | ||
---|---|---|---|
Product: | obsolete | Reporter: | Martin Entlicher <mentlicher> |
Component: | vcscore | Assignee: | Martin Entlicher <mentlicher> |
Status: | CLOSED FIXED | ||
Severity: | blocker | ||
Priority: | P2 | ||
Version: | 4.x | ||
Hardware: | All | ||
OS: | All | ||
Issue Type: | DEFECT | Exception Reporter: | |
Bug Depends on: | |||
Bug Blocks: | 57480 | ||
Attachments: |
A deadlock that occurs when I replace Turbo.getCachedMeta() with Turbo.getMeta().
The textual patch that fixes this issue. |
Description
Martin Entlicher
2005-04-07 18:48:03 UTC
Created attachment 21494 [details]
A deadlock that occurs when I replace Turbo.getCachedMeta() with Turbo.getMeta().
The problem with this is, that it's too dangerous (see the attached thread dump). The problem is, that the requests are comming in AWT thread (isn't this wrong??) and Turbo.getCachedMeta() takes the properties from the memory layer only when called from AWT. It does not consult the disk. The best behavior IMHO would be to check the disk layer and when fprops == null, consider the file as not local. Fixed in trunk as proposed: /cvs/vcscore/src/org/netbeans/modules/vcscore/VcsFileSystem.java,v <-- VcsFileSystem.java new revision: 1.325; previous revision: 1.324 Created attachment 21496 [details]
The textual patch that fixes this issue.
It was strange that FS code called from AWT did not acccess cache disk level. It's FS anyway so AWT client must count with delays. REVIEWED Turbo.getCachedMeta() has a condition on AWT thread. That's why. Anyway, thanks for the review, the fix is now merged into release41 branch: /cvs/vcscore/src/org/netbeans/modules/vcscore/VcsFileSystem.java,v <-- VcsFileSystem.java new revision: 1.324.2.1; previous revision: 1.324 Verified. |