[ 
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: [email protected]
For additional commands, e-mail: [email protected]

For further information about the NetBeans mailing lists, visit:
https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists

Reply via email to