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 110321 - Occasional freeze when editing read-only source file
Summary: Occasional freeze when editing read-only source file
Status: STARTED
Alias: None
Product: platform
Classification: Unclassified
Component: Text (show other bugs)
Version: 5.x
Hardware: PC Windows XP
: P4 blocker (vote)
Assignee: issues@editor
URL:
Keywords: RANDOM
Depends on:
Blocks:
 
Reported: 2007-07-19 17:20 UTC by binary_digit
Modified: 2010-01-12 05:20 UTC (History)
1 user (show)

See Also:
Issue Type: DEFECT
Exception Reporter:


Attachments
NetBeans console thread dump (138.15 KB, text/plain)
2007-08-30 20:16 UTC, binary_digit
Details

Note You need to log in before you can comment on or make changes to this bug.
Description binary_digit 2007-07-19 17:20:59 UTC
Sometimes when attempting to edit a source file that is read-only, NetBeans 5.5 freezes up and requires a shutdown of
the IDE via Task Manager.  This also happened in NetBeans 5.0 before we upgraded to 5.5.  The files are read-only
because of the source control tool we use (Perforce), and sometimes we forget to check out the file before attempting to
edit it.
Comment 1 Max Sauer 2007-07-24 14:34:17 UTC
Please run NB from console and attach thread dump to this issue -- it can be aquired from the console via Ctrl+BackSlash
on UNIX or Ctrl+Break on MSWindows, thanks.
Comment 2 binary_digit 2007-08-03 15:14:25 UTC
I've been trying to make this happen again over the last week in order to provide the requested thread dump, but
NetBeans has been working like a champ.  I'm beginning to wonder if the problem isn't associated with something else
besides NetBeans.  I would say go ahead and flag this issue as INVALID, and if it happens again I'll just open another
ticket and make sure to include the thread dump.

Thanks for your time!
Comment 3 binary_digit 2007-08-03 16:13:35 UTC
Within 30 minutes of asking for this ticket to be closed, it finally happened again.  I was trying to paste text over
text that had been highlighted by the F3 search function (F3 then Ctrl + V).  Here is the tread dump from the NetBeans
console:


Full thread dump Java HotSpot(TM) Client VM (1.6.0_01-b06 mixed mode):

"Inactive RequestProcessor thread [Was:TimedSoftReference/org.openide.util.TimedSoftReference]" daemon prio=2
tid=0x2fb42800 nid=0x690 in Object.wait(
) [0x2677f000..0x2677fb94]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        at org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:885)
        - locked <0x0c4e0098> (a java.lang.Object)

"MDR event dispatcher" daemon prio=2 tid=0x269eac00 nid=0xd1c in Object.wait() [0x25fbf000..0x25fbfd14]
   java.lang.Thread.State: WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        at java.lang.Object.wait(Object.java:485)
        at org.netbeans.mdr.util.EventNotifier$EventsDelivery.run(EventNotifier.java:263)
        - locked <0x09990e70> (a java.util.LinkedList)
        at java.lang.Thread.run(Thread.java:619)

"DestroyJavaVM" prio=6 tid=0x00298400 nid=0xf0 waiting on condition [0x00000000..0x0090fd4c]
   java.lang.Thread.State: RUNNABLE

"Collaboration Notification" daemon prio=6 tid=0x26a70400 nid=0x274 in Object.wait() [0x2672f000..0x2672fa94]
   java.lang.Thread.State: WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        at java.lang.Object.wait(Object.java:485)
        at org.netbeans.modules.collab.ui.NotificationThread.run(NotificationThread.java:93)
        - locked <0x097af498> (a java.lang.Object)

"AWT-EventQueue-1" prio=6 tid=0x26a15400 nid=0xcc runnable [0x266de000..0x266dfb14]
   java.lang.Thread.State: RUNNABLE
        at java.lang.reflect.Array.newArray(Native Method)
        at java.lang.reflect.Array.newInstance(Array.java:52)
        at javax.swing.event.EventListenerList.getListeners(EventListenerList.java:120)
        at org.netbeans.editor.BaseDocument.fireAtomicLock(BaseDocument.java:1489)
        at org.netbeans.editor.BaseDocument.atomicLock(BaseDocument.java:1366)
        - locked <0x0be4c5b8> (a org.netbeans.modules.editor.NbEditorDocument)
        at org.netbeans.editor.GuardedDocument.runAtomic(GuardedDocument.java:222)
        at org.openide.text.CloneableEditorSupport$CESUndoRedoManager$RenderUndo.<init>(CloneableEditorSupport.java:2759)
        at org.openide.text.CloneableEditorSupport$CESUndoRedoManager$RenderUndo.<init>(CloneableEditorSupport.java:2751)
        at org.openide.text.CloneableEditorSupport$CESUndoRedoManager.undo(CloneableEditorSupport.java:2670)
        at org.openide.text.CloneableEditorSupport.revertPreviousOrUpcomingUndo(CloneableEditorSupport.java:1651)
        at org.openide.text.CloneableEditorSupport.callNotifyModified(CloneableEditorSupport.java:1524)
        at org.openide.text.CloneableEditorSupport$Listener.vetoableChange(CloneableEditorSupport.java:2317)
        at org.netbeans.editor.BaseDocument.notifyModify(BaseDocument.java:1451)
        at org.netbeans.editor.BaseDocument.atomicUnlock(BaseDocument.java:1410)
        at org.netbeans.editor.BaseKit$PasteAction.actionPerformed(BaseKit.java:1393)
        at org.netbeans.editor.BaseAction.actionPerformed(BaseAction.java:256)
        at javax.swing.SwingUtilities.notifyAction(SwingUtilities.java:1636)
        at javax.swing.JComponent.processKeyBinding(JComponent.java:2844)
        at javax.swing.JComponent.processKeyBindings(JComponent.java:2879)
        at javax.swing.JComponent.processKeyEvent(JComponent.java:2807)
        at java.awt.Component.processEvent(Component.java:5815)
        at java.awt.Container.processEvent(Container.java:2058)
        at java.awt.Component.dispatchEventImpl(Component.java:4410)
        at java.awt.Container.dispatchEventImpl(Container.java:2116)
        at java.awt.Component.dispatchEvent(Component.java:4240)
        at java.awt.KeyboardFocusManager.redispatchEvent(KeyboardFocusManager.java:1848)
        at java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(DefaultKeyboardFocusManager.java:693)
        at java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(DefaultKeyboardFocusManager.java:958)
        at java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(DefaultKeyboardFocusManager.java:830)
        at java.awt.DefaultKeyboardFocusManager.dispatchEvent(DefaultKeyboardFocusManager.java:657)
        at java.awt.Component.dispatchEventImpl(Component.java:4282)
        at java.awt.Container.dispatchEventImpl(Container.java:2116)
        at java.awt.Window.dispatchEventImpl(Window.java:2429)
        at java.awt.Component.dispatchEvent(Component.java:4240)
        at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
        at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:273)
        at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:183)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:173)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:168)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:160)
        at java.awt.EventDispatchThread.run(EventDispatchThread.java:121)

"TimerQueue" daemon prio=6 tid=0x25a29800 nid=0xdc in Object.wait() [0x2626f000..0x2626fb94]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        at javax.swing.TimerQueue.postExpiredTimers(TimerQueue.java:218)
        - locked <0x09b39b10> (a javax.swing.TimerQueue)
        at javax.swing.TimerQueue.run(TimerQueue.java:234)
        - locked <0x09b39b10> (a javax.swing.TimerQueue)
        at java.lang.Thread.run(Thread.java:619)

"AWT-Windows" daemon prio=6 tid=0x25856400 nid=0x42c runnable [0x2615f000..0x2615fb94]
   java.lang.Thread.State: RUNNABLE
        at sun.awt.windows.WToolkit.eventLoop(Native Method)
        at sun.awt.windows.WToolkit.run(WToolkit.java:290)
        at java.lang.Thread.run(Thread.java:619)

"AWT-Shutdown" prio=6 tid=0x25836800 nid=0x434 in Object.wait() [0x2610f000..0x2610fc14]
   java.lang.Thread.State: WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        at java.lang.Object.wait(Object.java:485)
        at sun.awt.AWTAutoShutdown.run(AWTAutoShutdown.java:259)
        - locked <0x08a5af70> (a java.lang.Object)
        at java.lang.Thread.run(Thread.java:619)

"Java2D Disposer" daemon prio=10 tid=0x2582e800 nid=0x424 in Object.wait() [0x260bf000..0x260bfc94]
   java.lang.Thread.State: WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:116)
        - locked <0x08a63ef8> (a java.lang.ref.ReferenceQueue$Lock)
        at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:132)
        at sun.java2d.Disposer.run(Disposer.java:125)
        at java.lang.Thread.run(Thread.java:619)

"Timer-0" daemon prio=6 tid=0x257fd800 nid=0xba4 in Object.wait() [0x2600f000..0x2600fd14]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        at java.util.TimerThread.mainLoop(Timer.java:509)
        - locked <0x08a5b248> (a java.util.TaskQueue)
        at java.util.TimerThread.run(Timer.java:462)

"CLI Requests Server" daemon prio=6 tid=0x2553d400 nid=0xaf8 runnable [0x25f6f000..0x25f6fa14]
   java.lang.Thread.State: RUNNABLE
        at java.net.PlainSocketImpl.socketAccept(Native Method)
        at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:384)
        - locked <0x08adcb88> (a java.net.SocksSocketImpl)
        at java.net.ServerSocket.implAccept(ServerSocket.java:450)
        at java.net.ServerSocket.accept(ServerSocket.java:421)
        at org.netbeans.CLIHandler$Server.run(CLIHandler.java:867)

"Active Reference Queue Daemon" daemon prio=2 tid=0x259ac800 nid=0xeb4 in Object.wait() [0x25e2f000..0x25e2fa94]
   java.lang.Thread.State: WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:116)
        - locked <0x08acd710> (a java.lang.ref.ReferenceQueue$Lock)
        at org.openide.util.Utilities$ActiveQueue.run(Utilities.java:3002)
        at java.lang.Thread.run(Thread.java:619)

"Low Memory Detector" daemon prio=6 tid=0x25529c00 nid=0xc00 runnable [0x00000000..0x00000000]
   java.lang.Thread.State: RUNNABLE

"CompilerThread0" daemon prio=10 tid=0x25524800 nid=0xbdc waiting on condition [0x00000000..0x2573f898]
   java.lang.Thread.State: RUNNABLE

"Attach Listener" daemon prio=10 tid=0x25523800 nid=0xc04 runnable [0x00000000..0x00000000]
   java.lang.Thread.State: RUNNABLE

"Signal Dispatcher" daemon prio=10 tid=0x25522800 nid=0xbc4 waiting on condition [0x00000000..0x00000000]
   java.lang.Thread.State: RUNNABLE

"Finalizer" daemon prio=8 tid=0x2550b000 nid=0xbd4 in Object.wait() [0x2564f000..0x2564fd94]
   java.lang.Thread.State: WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:116)
        - locked <0x089de250> (a java.lang.ref.ReferenceQueue$Lock)
        at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:132)
        at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:159)

"Reference Handler" daemon prio=10 tid=0x25506c00 nid=0x104 in Object.wait() [0x255ff000..0x255ffa14]
   java.lang.Thread.State: WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        at java.lang.Object.wait(Object.java:485)
        at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:116)
        - locked <0x089a9a40> (a java.lang.ref.Reference$Lock)

"VM Thread" prio=10 tid=0x25503c00 nid=0x100 runnable

"GC task thread#0 (ParallelGC)" prio=6 tid=0x0029e000 nid=0xfc runnable

"GC task thread#1 (ParallelGC)" prio=6 tid=0x0029f000 nid=0xf8 runnable

"VM Periodic Task Thread" prio=10 tid=0x2552c800 nid=0xc10 waiting on condition

JNI global references: 2786

Heap
 PSYoungGen      total 24064K, used 13057K [0x22e80000, 0x25130000, 0x25190000)
  eden space 13184K, 99% used [0x22e80000,0x23b407f0,0x23b60000)
  from space 10880K, 0% used [0x23b60000,0x23b60000,0x24600000)
  to   space 10496K, 0% used [0x246f0000,0x246f0000,0x25130000)
 PSOldGen        total 431040K, used 431040K [0x08990000, 0x22e80000, 0x22e80000)
  object space 431040K, 100% used [0x08990000,0x22e80000,0x22e80000)
 PSPermGen       total 52352K, used 51567K [0x02990000, 0x05cb0000, 0x08990000)
  object space 52352K, 98% used [0x02990000,0x05bebd10,0x05cb0000)

Comment 4 ehucka 2007-08-06 10:07:13 UTC
moving to editor for further evaluation
Comment 5 Miloslav Metelka 2007-08-06 15:53:59 UTC
The freeze means that the CPU is 0% or 100%? (I guess the latter but not sure).
I assume that there is no extra NB supporting module for the Perforce so you checkout manually in an external app, right?
Could you possibly take more threaddumps in a row and attach them as a single text attachment? Thanks.
Comment 6 binary_digit 2007-08-06 16:15:47 UTC
"The freeze means that the CPU is 0% or 100%? (I guess the latter but not sure)."
I'm running on a dual core processor; Task Manager shows 50% CPU bound but I think that means one of the cores is at
100% and the other is free.

"I assume that there is no extra NB supporting module for the Perforce so you checkout manually in an external app, right?"
No, we are using a custom Netbeans module that allows us to check files in and out using toolbar/menu actions in the
IDE.  We use that most of the time.

"Could you possibly take more threaddumps in a row and attach them as a single text attachment? Thanks."
Sure, I'll get that to you as soon as I can get it to fail again.
Comment 7 Miloslav Metelka 2007-08-07 13:48:52 UTC
From the attached thread dump I now see that the JVM is simply running out of the memory:

Heap
 PSYoungGen      total 24064K, used 13057K [0x22e80000, 0x25130000, 0x25190000)
  eden space 13184K, 99% used [0x22e80000,0x23b407f0,0x23b60000)
  from space 10880K, 0% used [0x23b60000,0x23b60000,0x24600000)
  to   space 10496K, 0% used [0x246f0000,0x246f0000,0x25130000)
 PSOldGen        total 431040K, used 431040K [0x08990000, 0x22e80000, 0x22e80000)
  object space 431040K, 100% used [0x08990000,0x22e80000,0x22e80000)
 PSPermGen       total 52352K, used 51567K [0x02990000, 0x05cb0000, 0x08990000)
  object space 52352K, 98% used [0x02990000,0x05bebd10,0x05cb0000)

Please follow http://wiki.netbeans.org/wiki/view/FaqSettingHeapSize to increase the available memory. There are still
leaks that need to be fixed before final release and until that this should help. Thanks.
Comment 8 binary_digit 2007-08-10 17:22:15 UTC
I apologize for reopening this ticket, but NetBeans froze up on my colleague again and he emailed me a thread dump that
seems to reveal that the VM is not out of memory in this case.  He said this happened when pressing the spacebar in a
read-only file; no text was selected at the time.

Full thread dump Java HotSpot(TM) Client VM (1.6.0_01-b06 mixed mode):

"Inactive RequestProcessor thread [Was:Default RequestProcessor/org.openide.text.PositionRef$Manager]" daemon prio=2
tid=0x3c092c00 nid=0xf78 in Object.wait() [0x2f93f000..0x2f93fa94]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        at org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:885)
        - locked <0x0d968d90> (a java.lang.Object)

"Inactive RequestProcessor thread [Was:Implicit RequestPoster's
RP-12564599/org.netbeans.modules.java.JavaEditor$JavaEditorComponent$1]" daemon prio=2 tid=0x3c402400 nid=0xb24 in
Object.wait() [0x2f59f000..0x2f59fb14]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        at org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:885)
        - locked <0x0d9ad250> (a java.lang.Object)

"Inactive RequestProcessor thread [Was:TimedSoftReference/org.openide.util.TimedSoftReference]" daemon prio=2
tid=0x3c257400 nid=0xcfc in Object.wait() [0x3c7af000..0x3c7afc94]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        at org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:885)
        - locked <0x094d65c0> (a java.lang.Object)

"Inactive RequestProcessor thread [Was:Hints RP/org.netbeans.modules.editor.hints.HintsOperator$HintPopupTaskImpl]"
daemon prio=2 tid=0x3be18c00 nid=0xc34 in Object.wait() [0x3c56f000..0x3c56fd94]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        at org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:885)
        - locked <0x094d65d0> (a java.lang.Object)

"MDR event dispatcher" daemon prio=2 tid=0x3bd64800 nid=0xfe8 in Object.wait() [0x3c84f000..0x3c84fa14]
   java.lang.Thread.State: WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        at java.lang.Object.wait(Object.java:485)
        at org.netbeans.mdr.util.EventNotifier$EventsDelivery.run(EventNotifier.java:263)
        - locked <0x05ca6858> (a java.util.LinkedList)
        at java.lang.Thread.run(Thread.java:619)

"DestroyJavaVM" prio=6 tid=0x00299000 nid=0xc58 waiting on condition [0x00000000..0x0090fd4c]
   java.lang.Thread.State: RUNNABLE

"Collaboration Notification" daemon prio=6 tid=0x3bd0e400 nid=0xb38 in Object.wait() [0x2fa2f000..0x2fa2fc94]
   java.lang.Thread.State: WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        - waiting on <0x04a42f98> (a java.lang.Object)
        at java.lang.Object.wait(Object.java:485)
        at org.netbeans.modules.collab.ui.NotificationThread.run(NotificationThread.java:93)
        - locked <0x04a42f98> (a java.lang.Object)

"AWT-EventQueue-1" prio=6 tid=0x3bd0d800 nid=0xf8 runnable [0x3c70e000..0x3c70fd14]
   java.lang.Thread.State: RUNNABLE
        at org.openide.loaders.FolderInstance.waitFinished(FolderInstance.java:291)
        at org.openide.loaders.FolderInstance.waitFinished(FolderInstance.java:311)
        at org.openide.loaders.FolderLookup$ProxyLkp.beforeLookup(FolderLookup.java:365)
        at org.openide.util.lookup.ProxyLookup$R.myBeforeLookup(ProxyLookup.java:536)
        at org.openide.util.lookup.ProxyLookup$R.beforeLookup(ProxyLookup.java:555)
        at org.openide.util.lookup.ProxyLookup$R.myBeforeLookup(ProxyLookup.java:544)
        at org.openide.util.lookup.ProxyLookup$R.computeResult(ProxyLookup.java:411)
        at org.openide.util.lookup.ProxyLookup$R.allInstances(ProxyLookup.java:386)
        at org.openide.text.CloneableEditorSupportRedirector.findRedirect(CloneableEditorSupportRedirector.java:47)
        at org.openide.text.CloneableEditorSupport.getDocument(CloneableEditorSupport.java:729)
        at org.openide.text.CloneableEditorSupport.revertPreviousOrUpcomingUndo(CloneableEditorSupport.java:1693)
        at org.openide.text.CloneableEditorSupport.callNotifyModified(CloneableEditorSupport.java:1583)
        at org.openide.text.CloneableEditorSupport$Listener.vetoableChange(CloneableEditorSupport.java:2385)
        at org.netbeans.editor.BaseDocument.notifyModify(BaseDocument.java:1451)
        at org.netbeans.editor.BaseDocument.atomicUnlock(BaseDocument.java:1410)
        at org.netbeans.editor.BaseKit$InsertBreakAction.actionPerformed(BaseKit.java:977)
        at org.netbeans.editor.BaseAction.actionPerformed(BaseAction.java:256)
        at javax.swing.SwingUtilities.notifyAction(SwingUtilities.java:1636)
        at javax.swing.JComponent.processKeyBinding(JComponent.java:2844)
        at javax.swing.JComponent.processKeyBindings(JComponent.java:2879)
        at javax.swing.JComponent.processKeyEvent(JComponent.java:2807)
        at java.awt.Component.processEvent(Component.java:5815)
        at java.awt.Container.processEvent(Container.java:2058)
        at java.awt.Component.dispatchEventImpl(Component.java:4410)
        at java.awt.Container.dispatchEventImpl(Container.java:2116)
        at java.awt.Component.dispatchEvent(Component.java:4240)
        at java.awt.KeyboardFocusManager.redispatchEvent(KeyboardFocusManager.java:1848)
        at java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(DefaultKeyboardFocusManager.java:693)
        at java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(DefaultKeyboardFocusManager.java:958)
        at java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(DefaultKeyboardFocusManager.java:830)
        at java.awt.DefaultKeyboardFocusManager.dispatchEvent(DefaultKeyboardFocusManager.java:657)
        at java.awt.Component.dispatchEventImpl(Component.java:4282)
        at java.awt.Container.dispatchEventImpl(Container.java:2116)
        at java.awt.Window.dispatchEventImpl(Window.java:2429)
        at java.awt.Component.dispatchEvent(Component.java:4240)
        at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
        at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:273)
        at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:183)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:173)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:168)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:160)
        at java.awt.EventDispatchThread.run(EventDispatchThread.java:121)

"TimerQueue" daemon prio=6 tid=0x2ef86400 nid=0x114 in Object.wait() [0x3c6bf000..0x3c6bfd94]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        at javax.swing.TimerQueue.run(TimerQueue.java:236)
        - locked <0x06b821b8> (a javax.swing.TimerQueue)
        at java.lang.Thread.run(Thread.java:619)

"AWT-Shutdown" prio=6 tid=0x2e98dc00 nid=0xfec in Object.wait() [0x2f9df000..0x2f9dfd94]
   java.lang.Thread.State: WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        at java.lang.Object.wait(Object.java:485)
        at sun.awt.AWTAutoShutdown.run(AWTAutoShutdown.java:259)
        - locked <0x04c29668> (a java.lang.Object)
        at java.lang.Thread.run(Thread.java:619)

"Timer-0" daemon prio=6 tid=0x2e850c00 nid=0xcd8 in Object.wait() [0x2f8ef000..0x2f8efb14]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        at java.util.TimerThread.mainLoop(Timer.java:509)
        - locked <0x04c29678> (a java.util.TaskQueue)
        at java.util.TimerThread.run(Timer.java:462)

"CLI Requests Server" daemon prio=6 tid=0x2ec16800 nid=0x4a0 runnable [0x2f4ff000..0x2f4ffc14]
   java.lang.Thread.State: RUNNABLE
        at java.net.PlainSocketImpl.socketAccept(Native Method)
        at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:384)
        - locked <0x04b29558> (a java.net.SocksSocketImpl)
        at java.net.ServerSocket.implAccept(ServerSocket.java:450)
        at java.net.ServerSocket.accept(ServerSocket.java:421)
        at org.netbeans.CLIHandler$Server.run(CLIHandler.java:867)

"AWT-Windows" daemon prio=6 tid=0x2ec24400 nid=0x188 runnable [0x2f3ff000..0x2f3ffa14]
   java.lang.Thread.State: RUNNABLE
        at sun.awt.windows.WToolkit.eventLoop(Native Method)
        at sun.awt.windows.WToolkit.run(WToolkit.java:290)
        at java.lang.Thread.run(Thread.java:619)

"Java2D Disposer" daemon prio=10 tid=0x2ec22800 nid=0x458 in Object.wait() [0x2f35f000..0x2f35fb14]
   java.lang.Thread.State: WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:116)
        - locked <0x04c31ab8> (a java.lang.ref.ReferenceQueue$Lock)
        at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:132)
        at sun.java2d.Disposer.run(Disposer.java:125)
        at java.lang.Thread.run(Thread.java:619)

"Active Reference Queue Daemon" daemon prio=2 tid=0x2e840400 nid=0xba8 in Object.wait() [0x2ebbf000..0x2ebbfb94]
   java.lang.Thread.State: WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:116)
        - locked <0x04d60400> (a java.lang.ref.ReferenceQueue$Lock)
        at org.openide.util.Utilities$ActiveQueue.run(Utilities.java:3002)
        at java.lang.Thread.run(Thread.java:619)

"Low Memory Detector" daemon prio=6 tid=0x2e799800 nid=0x2b8 runnable [0x00000000..0x00000000]
   java.lang.Thread.State: RUNNABLE

"CompilerThread0" daemon prio=10 tid=0x2e795800 nid=0xfb8 waiting on condition [0x00000000..0x2eacf998]
   java.lang.Thread.State: RUNNABLE

"Attach Listener" daemon prio=10 tid=0x2e793800 nid=0x118 runnable [0x00000000..0x00000000]
   java.lang.Thread.State: RUNNABLE

"Signal Dispatcher" daemon prio=10 tid=0x2e792800 nid=0x43c waiting on condition [0x00000000..0x00000000]
   java.lang.Thread.State: RUNNABLE

"Surrogate Locker Thread (CMS)" daemon prio=6 tid=0x2e791800 nid=0x3f8 waiting on condition [0x00000000..0x2e9dfc28]
   java.lang.Thread.State: RUNNABLE

"Finalizer" daemon prio=8 tid=0x2cc7a000 nid=0xef4 in Object.wait() [0x2e78f000..0x2e78fb14]
   java.lang.Thread.State: WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:116)
        - locked <0x04d60470> (a java.lang.ref.ReferenceQueue$Lock)
        at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:132)
        at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:159)

"Reference Handler" daemon prio=10 tid=0x2cc75c00 nid=0xfc4 in Object.wait() [0x2e73f000..0x2e73fb94]
   java.lang.Thread.State: WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        at java.lang.Object.wait(Object.java:485)
        at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:116)
        - locked <0x04c29698> (a java.lang.ref.Reference$Lock)

"VM Thread" prio=10 tid=0x2cc72c00 nid=0xd64 runnable

"Gang worker#0 (Parallel GC Threads)" prio=10 tid=0x0029c800 nid=0xb70 runnable


"Gang worker#1 (Parallel GC Threads)" prio=10 tid=0x0029b000 nid=0xa00 runnable


"Concurrent Mark-Sweep GC Thread" prio=10 tid=0x2cbf5400 nid=0xd00 runnable
"VM Periodic Task Thread" prio=10 tid=0x2e79b800 nid=0xc14 waiting on condition


JNI global references: 3795

Heap
 par new generation   total 14784K, used 2037K [0x02a30000, 0x03a30000, 0x04a30000)
  eden space 13184K,   6% used [0x02a30000, 0x02afe4e0, 0x03710000)
  from space 1600K,  75% used [0x03710000, 0x0383ef28, 0x038a0000)
  to   space 1600K,   0% used [0x038a0000, 0x038a0000, 0x03a30000)
 concurrent mark-sweep generation total 244220K, used 172360K [0x04a30000, 0x138af000, 0x22a30000)
 concurrent-mark-sweep perm gen total 91404K, used 55969K [0x22a30000, 0x28373000, 0x2ca30000)

Comment 9 binary_digit 2007-08-10 17:28:48 UTC
I have asked my colleague to take several successive thread dumps in the future so we can accommodate the requests you
made previously.
Comment 10 Vitezslav Stejskal 2007-08-21 16:44:29 UTC
The IDE does not seem to be deadlocked. It looks like the editor was trying to undo the change you made on that
read-only file, but probably could not finish it. Is there any disk activity if this happens? We would definitely need
more successive thread dumps to see what's going on in the IDE. The openide/text guys might have some useful insights
about loading/reloading documents.
Comment 11 binary_digit 2007-08-30 20:16:42 UTC
Created attachment 47834 [details]
NetBeans console thread dump
Comment 12 binary_digit 2007-08-30 20:20:50 UTC
This finally happened again to my colleague when he pressed Backspace in a read-only file.  No text was selected.  He
took successive thread dumps until the console filled up, so the first dump in the attachment is incomplete but included
anyway to be as thorough as possible.  Attachment containing the thread dumps is NBDump.txt.
Comment 13 binary_digit 2007-08-30 20:29:13 UTC
There was no disk IO while it was frozen, but it was fully CPU bound.  The file had been read-only since days before; it
was not made writable then read-only during the same NetBeans session.  This is with NetBeans 5.5.1.
Comment 14 Petr Nejedly 2007-08-30 21:47:31 UTC
The for loop inside CloneableEditorSupport.revertPreviousOrUpcomingUndo() is somehow stuck, running between adding new
UndoableEdit and undoing it.
Comment 15 Lukas Hasik 2008-04-10 21:16:25 UTC
moving opened issues from TM <= 6.1 to TM=Dev
Comment 16 Antonin Nebuzelsky 2008-04-17 15:15:47 UTC
Reassigning to new module owner mslama.
Comment 17 mslama 2008-06-26 17:16:30 UTC
Does it happen with latest dev build? I am playing with IDE but so far I did not reproduce it. From thread dumps I do
not see why this happens. I need some way how to reproduce it so that I can add logs to code and see what happens. I
made some java files read only and tried to press any key in editor (also Backspace). Could you send me source on which
it happenned?
Comment 18 mslama 2008-06-26 17:30:23 UTC
What filesystem do you use? What user? Does user have admin rights? On Windows when user has admin rights readonly
attribute is ignored. Does IDE show "[r/o]" in editor tab? I am on Linux. I might try on Windows but I need to know what
is your configuration.
Comment 19 mslama 2009-04-30 14:56:55 UTC
Do you use newer IDE version? NB 6.5/6.5.1? I could send you patched text module with logging enabled to find out what
happens. I am not able to say what is wrong from provided thread dumps.