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 - A deadlock between ModuleManager$SystemClassLoader and NetigsoHandle
Summary: A deadlock between ModuleManager$SystemClassLoader and NetigsoHandle
Status: RESOLVED FIXED
Alias: None
Product: platform
Classification: Unclassified
Component: Module System (show other bugs)
Version: 8.0.1
Hardware: PC All
: P2 normal (vote)
Assignee: Jaroslav Tulach
URL: http://deadlock.netbeans.org/job/NB-C...
Keywords:
Depends on:
Blocks:
 
Reported: 2014-04-20 06:56 UTC by Martin Entlicher
Modified: 2014-05-13 02:40 UTC (History)
0 users

See Also:
Issue Type: DEFECT
Exception Reporter:


Attachments
The deadlock (20.84 KB, text/plain)
2014-04-20 06:56 UTC, Martin Entlicher
Details

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