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.

Bug 218790 - Accessing file system in EDT: CallGraphModelFactory.isCallGraphAvailiable
Summary: Accessing file system in EDT: CallGraphModelFactory.isCallGraphAvailiable
Status: RESOLVED FIXED
Alias: None
Product: cnd
Classification: Unclassified
Component: Code Model (show other bugs)
Version: 7.2
Hardware: All All
: P3 normal (vote)
Assignee: Egor Ushakov
URL:
Keywords: PERFORMANCE
: 218776 (view as bug list)
Depends on:
Blocks: 218138
  Show dependency tree
 
Reported: 2012-09-21 15:03 UTC by Egor Ushakov
Modified: 2013-05-13 15:19 UTC (History)
0 users

See Also:
Issue Type: DEFECT
Exception Reporter:


Attachments
still reproduced (5.60 KB, text/plain)
2013-05-07 11:28 UTC, Egor Ushakov
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Egor Ushakov 2012-09-21 15:03:04 UTC
CallGraphModelFactory.isCallGraphAvailiable is called on the first context menu open and goes to filesystem from EDT, see attached stacktrace
Comment 1 Vladimir Voskresensky 2012-12-11 06:22:20 UTC
Sasha, please, have a look
Comment 2 Alexander Simon 2012-12-11 11:38:51 UTC
Missing log:
NFO [dlight.libs.common.logger]: Should not be called from UI thread
java.lang.Exception: Should not be called from UI thread
	at org.netbeans.modules.dlight.libs.common.DLightLibsCommonLogger.assertNonUiThread(DLightLibsCommonLogger.java:119)
	at org.netbeans.modules.dlight.libs.common.DLightLibsCommonLogger.assertNonUiThreadOnce(DLightLibsCommonLogger.java:129)
	at org.netbeans.modules.remote.support.LocalFileSystemProvider.urlToFileObject(LocalFileSystemProvider.java:253)
	at org.netbeans.modules.remote.spi.FileSystemProvider.urlToFileObject(FileSystemProvider.java:273)
	at org.netbeans.modules.cnd.remote.fs.CndFileSystemProviderImpl.toFileObjectImpl(CndFileSystemProviderImpl.java:87)
	at org.netbeans.modules.cnd.spi.utils.CndFileSystemProvider$DefaultProvider.toFileObjectImpl(CndFileSystemProvider.java:242)
	at org.netbeans.modules.cnd.spi.utils.CndFileSystemProvider.toFileObject(CndFileSystemProvider.java:135)
	at org.netbeans.modules.cnd.utils.cache.CndFileUtils.toFileObject(CndFileUtils.java:212)
	at org.netbeans.modules.cnd.utils.cache.CndFileUtils.toFileObject(CndFileUtils.java:205)
	at org.netbeans.modules.cnd.modelimpl.csm.core.AbstractFileBuffer.getFileObject(AbstractFileBuffer.java:142)
	at org.netbeans.modules.cnd.modelimpl.csm.core.FileImpl.getFileObject(FileImpl.java:1685)
	at org.netbeans.modules.cnd.modelutil.CsmUtilities.getFileObject(CsmUtilities.java:546)
	at org.netbeans.modules.cnd.modelutil.CsmUtilities.getDataObject(CsmUtilities.java:584)
	at org.netbeans.modules.cnd.modelutil.CsmUtilities.findCloneableEditorSupport(CsmUtilities.java:637)
	at org.netbeans.modules.cnd.modelutil.CsmDisplayUtilities.getContextLine(CsmDisplayUtilities.java:128)
	at org.netbeans.modules.cnd.api.model.xref.CsmReferenceSupport.getContextLine(CsmReferenceSupport.java:98)
	at org.netbeans.modules.cnd.navigation.callgraph.CallImpl.getDescription(CallImpl.java:117)
	at org.netbeans.modules.cnd.callgraph.impl.CallGraphScene.attachEdgeWidget(CallGraphScene.java:288)
	at org.netbeans.modules.cnd.callgraph.impl.CallGraphScene.attachEdgeWidget(CallGraphScene.java:63)
	at org.netbeans.api.visual.graph.GraphScene.addEdge(GraphScene.java:155)
	at org.netbeans.modules.cnd.callgraph.impl.CallGraphScene$4.run(CallGraphScene.java:205)
	at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
	at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:666)
	at java.awt.EventQueue.access$400(EventQueue.java:81)
	at java.awt.EventQueue$2.run(EventQueue.java:627)
	at java.awt.EventQueue$2.run(EventQueue.java:625)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:636)
	at org.netbeans.core.TimableEventQueue.dispatchEvent(TimableEventQueue.java:159)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
	at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
Comment 3 Alexander Simon 2012-12-11 13:43:19 UTC
fixed, change set:
http://hg.netbeans.org/cnd-main/rev/bcec3659efdd

also fixed couple similar exceptions
Comment 4 Quality Engineering 2012-12-12 02:43:53 UTC
Integrated into 'main-golden', will be available in build *201212120001* on http://bits.netbeans.org/dev/nightly/ (upload may still be in progress)
Changeset: http://hg.netbeans.org/main-golden/rev/bcec3659efdd
User: Alexander Simon <alexvsimon@netbeans.org>
Log: fixed Bug #218790 Accessing file system in EDT: CallGraphModelFactory.isCallGraphAvailiable
Comment 5 Vladimir Voskresensky 2012-12-12 15:36:32 UTC
*** Bug 218776 has been marked as a duplicate of this bug. ***
Comment 6 Vladimir Voskresensky 2012-12-12 15:39:29 UTC
*** Bug 218774 has been marked as a duplicate of this bug. ***
Comment 7 Quality Engineering 2012-12-14 02:42:15 UTC
Integrated into 'main-golden', will be available in build *201212140001* on http://bits.netbeans.org/dev/nightly/ (upload may still be in progress)
Changeset: http://hg.netbeans.org/main-golden/rev/4fb19d465eb1
User: Alexander Simon <alexvsimon@netbeans.org>
Log: fixed Bug #218790 Accessing file system in EDT: CallGraphModelFactory.isCallGraphAvailiable
- reimplement AbstractFileBuffer.getFileObject. Do not restore FO during deserialization. Keep FO in weak reference.
Comment 8 Egor Ushakov 2013-05-07 11:28:44 UTC
Created attachment 134177 [details]
still reproduced
Comment 9 Egor Ushakov 2013-05-13 15:19:39 UTC
remaining file access is to user/cache dir, it's ok