You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@netbeans.apache.org by "Eric Bresie (JIRA)" <ji...@apache.org> on 2019/07/05 14:21:00 UTC
[jira] [Commented] (NETBEANS-2606) NetBeans overallocating
FileObject(s), jams up GC, hangs
[ https://issues.apache.org/jira/browse/NETBEANS-2606?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16879318#comment-16879318 ]
Eric Bresie commented on NETBEANS-2606:
---------------------------------------
Could this be related to some of the secondary or subsequent issues that are derived from NETBEANS-168?
Could this be a another Watcher related issue like NETBEANS-2785 and NETBEANS-2291?
Could this be due to how things are traversed? I seem to recall in some context the basic "File.listFiles()" type method is called my pull references (i.e. in memory) for every file and basically waits until done (accumulating all that referenced items which may not be very efficient) verses a more stream way of doing so (i.e. with NIO Path based equivalent) allowing for more batches of files (i.e. handle small batch continue then handle next batch and continue to avoid having to wait until the end).
> NetBeans overallocating FileObject(s), jams up GC, hangs
> --------------------------------------------------------
>
> Key: NETBEANS-2606
> URL: https://issues.apache.org/jira/browse/NETBEANS-2606
> Project: NetBeans
> Issue Type: Bug
> Affects Versions: 11.0
> Reporter: Shevek
> Priority: Major
> Attachments: histo.txt, temp.txt
>
>
> Ubuntu 19.04
> JDK1.8
> JVM stuck in ergonomics, caused by too many FileObjects in memory.
> 10 threads sitting at 99% CPU, presumably mostly GC threads.
> GUI not responding.
> Note that this IDE JVM runs with 2.5Gb heap, and normally uses about 1.5Gb of that, so something has gone seriously wrong.
> num #instances #bytes class name
> ----------------------------------------------
> 1: 8839529 424297392 org.netbeans.modules.masterfs.filebasedfs.fileobjects.BaseFileObj$FileEventImpl
> 2: 12383724 297209376 java.util.concurrent.ConcurrentLinkedQueue$Node
> 3: 5520360 220814400 org.openide.util.WeakListenerImpl$ListenerReference
> 4: 7963905 191133720 org.openide.filesystems.FCLSupport$DispatchEventWrapperSingle
> 5: 5608373 179467936 java.lang.ref.WeakReference
> 6: 5404854 172955328 org.openide.util.WeakListenerImpl$ProxyListener
> 7: 123474 111203424 [B
> 8: 4419767 106074408 org.openide.filesystems.FCLSupport$DispatchEventWrapperMulti
> 9: 5378746 86059936 com.sun.proxy.$Proxy1
> 10: 1929065 77162600 org.netbeans.modules.masterfs.filebasedfs.fileobjects.FileObj
> 11: 1992178 74673680 [Ljava.lang.Object;
> 12: 576632 74309864 [C
> 13: 1403506 33684144 org.openide.filesystems.EventControl$AtomicActionLink
> 14: 1940678 31050848 javax.swing.event.EventListenerList
> 15: 1403503 22456048 org.netbeans.modules.masterfs.filebasedfs.fileobjects.FileObjectFactory$AsyncRefreshAtomicAction
> At the point where we have over 22 million atomic refresh actions on the queue, something has gone VERY WRONG - See NETBEANS-2291 - this particular project has only about 200,000 files in it, so where do we get 22 million file-refresh actions from? Backpressure on the queue, anyone?
> Log messages:
> WARNING [org.netbeans.core.TimableEventQueue]: too much time in AWT thread org.netbeans.modules.sampler.InternalSampler@55b26cab
> WARNING [org.netbeans.core.TimableEventQueue]: too much time in AWT thread null
> WARNING [org.netbeans.core.TimableEventQueue]: no snapshot taken
> WARNING [org.netbeans.core.TimableEventQueue]: too much time in AWT thread org.netbeans.modules.sampler.InternalSampler@2768760d
> WARNING [org.netbeans.core.TimableEventQueue]: no snapshot taken
> WARNING [org.netbeans.core.TimableEventQueue]: too much time in AWT thread org.netbeans.modules.sampler.InternalSampler@63f25c86
> WARNING [org.netbeans.core.TimableEventQueue]: no snapshot taken
> WARNING [org.netbeans.core.TimableEventQueue]: too much time in AWT thread org.netbeans.modules.sampler.InternalSampler@34933167
> WARNING [org.netbeans.core.TimableEventQueue]: no snapshot taken
> WARNING [org.netbeans.core.TimableEventQueue]: too much time in AWT thread org.netbeans.modules.sampler.InternalSampler@75ba9419
> WARNING [org.netbeans.core.TimableEventQueue]: no snapshot taken
> WARNING [org.netbeans.core.TimableEventQueue]: too much time in AWT thread org.netbeans.modules.sampler.InternalSampler@1c699d1e
> WARNING [org.netbeans.core.TimableEventQueue]: no snapshot taken
> WARNING [org.netbeans.core.TimableEventQueue]: too much time in AWT thread org.netbeans.modules.sampler.InternalSampler@12ae60e3
> WARNING [org.netbeans.core.TimableEventQueue]: too much time in AWT thread null
> jstack attached.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@netbeans.apache.org
For additional commands, e-mail: commits-help@netbeans.apache.org
For further information about the NetBeans mailing lists, visit:
https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists