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 130255

Summary: Livelock when collecting project dependencies
Product: java Reporter: Marian Petras <mpetras>
Component: SourceAssignee: Jan Lahoda <jlahoda>
Status: RESOLVED WORKSFORME    
Severity: blocker CC: pribyl
Priority: P3 Keywords: RANDOM, THREAD
Version: 6.x   
Hardware: PC   
OS: Linux   
Issue Type: DEFECT Exception Reporter:
Attachments: full thread dump (from jstack)

Description Marian Petras 2008-03-16 23:44:42 UTC
NetBeans build 080313, JDK 1.6.0_10-b13-fastdebug, Linux (Ubuntu 7.10), quad-core Intel PC
--
When opening a very simple J2SE project during startup, a livelock occurred. The status bar displays "Collecting Project
Dependencies..." but the corresponding progress bar does not move. It seems that thread "Java Source Worker Thread" is
busy doing a never-ending task. See the attached thread-dump for more detailed information. Below are the top frames
from the suspicious thread. See the attachment (full thread-dump generated by jstack) for more information about this
thread and other threads.

"Java Source Worker Thread" prio=10 tid=0x9fe5e000 nid=0x4080 runnable [0x9bcfe000..0x9bcff130]
   java.lang.Thread.State: RUNNABLE
        at java.lang.Throwable.fillInStackTrace(Native Method)
	- locked <0xa1226680> (a java.lang.IllegalMonitorStateException)
	at java.lang.Throwable.<init>(Throwable.java:181)
	at java.lang.Exception.<init>(Exception.java:29)
	at java.lang.RuntimeException.<init>(RuntimeException.java:32)
	at java.lang.IllegalMonitorStateException.<init>(IllegalMonitorStateException.java:31)
	at sun.awt.EventListenerAggregate.add(EventListenerAggregate.java:75)
	- locked <0xa2444448> (a sun.awt.EventListenerAggregate)
	at java.beans.PropertyChangeSupport.addPropertyChangeListener(PropertyChangeSupport.java:75)
	- locked <0xa242c610> (a java.beans.PropertyChangeSupport)
	at o.n.m.java.api.common.SourceRoots.addPropertyChangeListener(SourceRoots.java:302)
	at o.n.m.java.api.common.queries.CompiledSourceForBinaryQueryImpl$Result.<init>
                                                                      (CompiledSourceForBinaryQueryImpl.java:139)
        ...
Comment 1 Marian Petras 2008-03-16 23:47:16 UTC
Created attachment 58459 [details]
full thread dump (from jstack)
Comment 2 Jan Lahoda 2008-03-17 10:57:51 UTC
Seems really strange - in my sources, EventListenerAggregate.java:75 contains only assignment into an array, not sure
how it could throw IMSE. Anyway, I tried to add new IMSE() into SourceRoots.addPropertyChangeListener, and no infinite
loop occurred, so it seems more like a JDK problem. When it happens again, could you please do several thread dumps with
jstack -m -l? Thanks.
Comment 3 Marian Petras 2008-03-17 11:56:49 UTC
I did not find any corresponding sources for sun.awt.EventListenerAggregate - the bundled src.zip does not contain
sources for package 'sun.awt'. Sources available from jdk6.dev.java.net and openjdk.java.net do not match the line
numbers. The next time the livelock happens, I will generate several thread-dumps using jstack.
Comment 4 Jan Lahoda 2008-03-19 14:09:19 UTC
I talked to Petr N., and this seems like another issue with biased locking. The mixed thread dumps would help me to file
a bug against JDK. Also please include output from java -version (of the JDK on which the IDE runs). Thanks.
Comment 5 pribyl 2008-09-24 17:30:29 UTC
//closing INCOMPLETE issues older than a 4 weeks 

Please reopen if the problem persists, or verify if it has been solved.

Thank you