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 154965

Summary: Deadlock between Source and SourceCache
Product: editor Reporter: Jesse Glick <jglick>
Component: Parsing & IndexingAssignee: issues@editor <issues>
Status: RESOLVED DUPLICATE    
Severity: blocker Keywords: RANDOM, THREAD
Priority: P3    
Version: 6.x   
Hardware: All   
OS: All   
Issue Type: DEFECT Exception Reporter:

Description Jesse Glick 2008-12-08 19:42:12 UTC
Simple lock ordering conflict, it looks like. 081208, while trying to open a Java source file.

Found one Java-level deadlock:
=============================
"Java Source Worker Thread":
  waiting to lock monitor 0x0a03b694 (object 0x691af298, a org.netbeans.modules.parsing.impl.SourceCache),
  which is held by "OpenIDE-request-processor-6"
"OpenIDE-request-processor-6":
  waiting to lock monitor 0x0a03b794 (object 0x6900f828, a org.netbeans.modules.parsing.api.Source),
  which is held by "Java Source Worker Thread"

Java stack information for the threads listed above:
===================================================
"Java Source Worker Thread":
        at org.netbeans.modules.parsing.impl.SourceCache.getSnapshot(SourceCache.java:107)
        - waiting to lock <0x691af298> (a org.netbeans.modules.parsing.impl.SourceCache)
        at org.netbeans.modules.parsing.impl.TaskProcessor$CompilationJob.run(TaskProcessor.java:730)
        - locked <0x6900f828> (a org.netbeans.modules.parsing.api.Source)
        - locked <0x6762cc40> (a org.netbeans.modules.parsing.impl.TaskProcessor$InternalLock)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:417)
        at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:269)
        at java.util.concurrent.FutureTask.run(FutureTask.java:123)
        at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
        at java.lang.Thread.run(Thread.java:595)
"OpenIDE-request-processor-6":
        at org.netbeans.modules.parsing.api.Source._getDocument(Source.java:351)
        - waiting to lock <0x6900f828> (a org.netbeans.modules.parsing.api.Source)
        at org.netbeans.modules.parsing.api.Source.getDocument(Source.java:217)
        at org.netbeans.modules.languages.ParserListenerFactoryImpl.create(ParserListenerFactoryImpl.java:75)
        at org.netbeans.modules.parsing.impl.SourceCache.createTasks(SourceCache.java:311)
        at org.netbeans.modules.parsing.impl.SourceCache.scheduleTasks(SourceCache.java:329)
        - locked <0x691af298> (a org.netbeans.modules.parsing.impl.SourceCache)
        at org.netbeans.modules.parsing.spi.Scheduler$1.run(Scheduler.java:152)
        at org.openide.util.RequestProcessor$Task.run(RequestProcessor.java:573)
        at org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:1005)
Comment 1 Jan Lahoda 2008-12-09 12:57:35 UTC

*** This issue has been marked as a duplicate of 154199 ***