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 209812 - LowPerformance took 25397 ms. AWT waits on mutex while other thread is stuck in native IO
Summary: LowPerformance took 25397 ms. AWT waits on mutex while other thread is stuck ...
Status: RESOLVED FIXED
Alias: None
Product: javaee
Classification: Unclassified
Component: Code (show other bugs)
Version: 7.1
Hardware: All All
: P3 normal (vote)
Assignee: Petr Hejl
URL:
Keywords: PERFORMANCE
Depends on:
Blocks:
 
Reported: 2012-03-20 23:13 UTC by daniel.morais
Modified: 2013-08-10 02:05 UTC (History)
4 users (show)

See Also:
Issue Type: DEFECT
Exception Reporter: 185352


Attachments
nps snapshot (87.12 KB, application/nps)
2012-03-20 23:13 UTC, daniel.morais
Details
the patch (3.04 KB, patch)
2012-12-19 10:57 UTC, Petr Hejl
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description daniel.morais 2012-03-20 23:13:46 UTC
Build: NetBeans IDE 7.1.1 (Build 201203012225)
VM: Java HotSpot(TM) 64-Bit Server VM, 22.1-b02, Java(TM) SE Runtime Environment, 1.7.0_03-b05
OS: Windows 7

User Comments:
daniel.morais: tentando executar projeto

mjanicek: I was changing server in Pet Catalog Java EE sample



Maximum slowness yet reported was 25397 ms, average is 16564
Comment 1 daniel.morais 2012-03-20 23:13:53 UTC
Created attachment 116957 [details]
nps snapshot
Comment 2 Petr Jiricka 2012-04-12 20:29:14 UTC
The attached snapshot spends 13 seconds in java.util.zip.ZipFile<init>, which is called from javax.xml.transform.TransformerFactory.newInstance(), which is called from the project system.
Comment 3 Milos Kleint 2012-12-11 14:20:50 UTC
J2eePlatformNode.getPlatform() seems to be require project mutex. It appears to me that the refresh() method should not run in AWT, it should not nullify the platformcache field, but recompute it and only then fire changes on display and icon.
Comment 4 Petr Jiricka 2012-12-11 15:51:37 UTC
Petr/David, can you please evaluate? Thanks.
Comment 5 Petr Hejl 2012-12-12 14:20:10 UTC
(In reply to comment #3)
> J2eePlatformNode.getPlatform() seems to be require project mutex. It appears to
> me that the refresh() method should not run in AWT, it should not nullify the
> platformcache field, but recompute it and only then fire changes on display and
> icon.
Makes a lot of sense. I might try to prepare the patch though I would be afraid that we might change rare slowness to a deadlock.
Comment 6 Petr Hejl 2012-12-19 10:57:58 UTC
Created attachment 129536 [details]
the patch

Please review possible solution.
Comment 7 Petr Hejl 2013-08-09 10:09:48 UTC
Fixed in web-main f8b052668ae9.
Comment 8 Quality Engineering 2013-08-10 02:05:58 UTC
Integrated into 'main-silver', will be available in build *201308092300* on http://bits.netbeans.org/dev/nightly/ (upload may still be in progress)

Changeset: http://hg.netbeans.org/main-silver/rev/f8b052668ae9
User: Petr Hejl <phejl@netbeans.org>
Log: #209812 - LowPerformance took 25397 ms. AWT waits on mutex while other thread is stuck in native IO