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 222258 - Netigso notification events can lead to deadlock
Summary: Netigso notification events can lead to deadlock
Status: RESOLVED FIXED
Alias: None
Product: platform
Classification: Unclassified
Component: Netigso (show other bugs)
Version: 7.2
Hardware: PC Linux
: P2 normal (vote)
Assignee: Jaroslav Tulach
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-11-16 11:02 UTC by Pavel Flaska
Modified: 2012-11-21 13:44 UTC (History)
0 users

See Also:
Issue Type: DEFECT
Exception Reporter:


Attachments
Threa dump (29.44 KB, text/plain)
2012-11-16 11:02 UTC, Pavel Flaska
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Pavel Flaska 2012-11-16 11:02:47 UTC
Created attachment 127924 [details]
Threa dump

Netigso notification events are posted to RequestProcessor which can lead to deadlock. 

1. When creating a subclass of a thread, security manager is doing some check that getContextClassLoader method is not overridden in subclass. This leads to extensive class loading which ends up with bundleChanged notification which is processed by RequestProcessor. All the processing is running under auditSubclass (SoftCache) lock.

2. When any other thread is trying to post its task to RequestProcessor and there is no thread in a pool available, the Processor thread instance creation can lock with the first one. (1.)

See attached thread dump for details.
Comment 1 Jaroslav Tulach 2012-11-19 10:34:42 UTC
ergonomics#d9b7bba1e24e
Comment 2 Quality Engineering 2012-11-21 13:44:31 UTC
Integrated into 'main-golden', will be available in build *201211211016* on http://bits.netbeans.org/dev/nightly/ (upload may still be in progress)
Changeset: http://hg.netbeans.org/main-golden/rev/d9b7bba1e24e
User: Jaroslav Tulach <jtulach@netbeans.org>
Log: #222258: Netigso notification events can lead to deadlock
#222258: Don't hold internal lock when constructing new Processor