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 - Deadlock between Source and SourceCache
Summary: Deadlock between Source and SourceCache
Status: RESOLVED DUPLICATE of bug 154199
Alias: None
Product: editor
Classification: Unclassified
Component: Parsing & Indexing (show other bugs)
Version: 6.x
Hardware: All All
: P3 blocker (vote)
Assignee: issues@editor
URL:
Keywords: RANDOM, THREAD
Depends on:
Blocks:
 
Reported: 2008-12-08 19:42 UTC by Jesse Glick
Modified: 2009-02-19 20:45 UTC (History)
0 users

See Also:
Issue Type: DEFECT
Exception Reporter:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
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 ***