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 243945

Summary: A deadlock between ModuleManager$SystemClassLoader and NetigsoHandle
Product: platform Reporter: Martin Entlicher <mentlicher>
Component: Module SystemAssignee: Jaroslav Tulach <jtulach>
Status: RESOLVED FIXED    
Severity: normal    
Priority: P2    
Version: 8.0.1   
Hardware: PC   
OS: All   
URL: http://deadlock.netbeans.org/job/NB-Core-Build/1594/console
Issue Type: DEFECT Exception Reporter:
Attachments: The deadlock

Description Martin Entlicher 2014-04-20 06:56:59 UTC
Created attachment 146844 [details]
The deadlock

See http://deadlock.netbeans.org/job/NB-Core-Build/1594/console
(Attached)

Happened after fix of issue #243208.

In one thread:
Some class is being loaded under a lock:
ModuleManager$SystemClassLoader.getResourcesImpl(ModuleManager.java:691) and it delegates to Netigso and calls NetigsoHandle.getDefault(), but it waits on a lock held by the other thread...

In other thread:
NetigsoHandle.getDefault() acquires a lock and through lookup it calls
ModuleManager$SystemClassLoader.loadClass(ModuleManager.java:722). But it stucks on a lock held by the first thread.
Comment 1 Jaroslav Tulach 2014-05-09 07:25:48 UTC
ergonomics#25f07604735f
Comment 2 Quality Engineering 2014-05-13 02:40:25 UTC
Integrated into 'main-silver', will be available in build *201405130001* on http://bits.netbeans.org/dev/nightly/ (upload may still be in progress)

Changeset: http://hg.netbeans.org/main-silver/rev/25f07604735f
User: Jaroslav Tulach <jtulach@netbeans.org>
Log: #243945: Performing the lookup call outside of synchronized block