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 201736 - ParserManager.parse called in AWT event thread
Summary: ParserManager.parse called in AWT event thread
Status: VERIFIED FIXED
Alias: None
Product: javaee
Classification: Unclassified
Component: EJB (show other bugs)
Version: 7.1
Hardware: PC Windows XP
: P3 normal (vote)
Assignee: Martin Fousek
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-09-07 11:33 UTC by Jiri Skrivanek
Modified: 2011-09-27 12:53 UTC (History)
1 user (show)

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 Jiri Skrivanek 2011-09-07 11:33:55 UTC
Please fix warnings:

WARNING [org.netbeans.modules.parsing.impl.TaskProcessor]: ParserManager.parse called in AWT event thread by: org.netbeans.modules.j2ee.ejbcore.ui.logicalview.ejb.shared.EjbViewController.findFileObject(EjbViewController.java:384)
WARNING [org.netbeans.modules.parsing.impl.TaskProcessor]: ParserManager.parse called in AWT event thread by: org.netbeans.modules.j2ee.ejbcore.ui.logicalview.ejb.shared.EjbViewController.getBeanClass(EjbViewController.java:248)
WARNING [org.netbeans.modules.parsing.impl.TaskProcessor]: ParserManager.parse called in AWT event thread by: org.netbeans.modules.j2ee.dd.impl.ejb.annotation.EjbJarMetadataModelImpl.runReadAction(EjbJarMetadataModelImpl.java:94)
WARNING [org.netbeans.modules.parsing.impl.TaskProcessor]: ParserManager.parse called in AWT event thread by: org.netbeans.modules.j2ee.ejbcore._RetoucheUtil.getMainClassName(_RetoucheUtil.java:98)
WARNING [org.netbeans.modules.parsing.impl.TaskProcessor]: ParserManager.parse called in AWT event thread by: org.netbeans.modules.j2ee.ejbcore.api.methodcontroller.AbstractMethodController.getInterfaces(AbstractMethodController.java:389)
WARNING [org.netbeans.modules.parsing.impl.TaskProcessor]: ParserManager.parse called in AWT event thread by: org.netbeans.modules.j2ee.ejbcore._RetoucheUtil.getMethods(_RetoucheUtil.java:390)
WARNING [org.netbeans.modules.parsing.impl.TaskProcessor]: ParserManager.parse called in AWT event thread by: org.netbeans.modules.j2ee.dd.impl.ejb.annotation.EjbJarMetadataModelImpl.runReadActionWhenReady(EjbJarMetadataModelImpl.java:106)
WARNING [org.netbeans.modules.parsing.impl.TaskProcessor]: ParserManager.parse called in AWT event thread by: org.netbeans.modules.j2ee.ejbcore._RetoucheUtil.resolveFileObjectForClass(_RetoucheUtil.java:298)
WARNING [org.netbeans.modules.parsing.impl.TaskProcessor]: ParserManager.parse called in AWT event thread by: org.netbeans.modules.j2ee.ejbcore.action.AbstractMethodGenerator.addMethod(AbstractMethodGenerator.java:109)
WARNING [org.netbeans.modules.parsing.impl.TaskProcessor]: ParserManager.parse called in AWT event thread by: org.netbeans.modules.j2ee.ejbcore.action.BusinessMethodGenerator.generate(BusinessMethodGenerator.java:115)
WARNING [org.netbeans.modules.parsing.impl.TaskProcessor]: ParserManager.parse called in AWT event thread by: org.netbeans.modules.j2ee.ejbcore.ui.logicalview.ejb.action.EJBActionGroup.enable(EJBActionGroup.java:135)
WARNING [org.netbeans.modules.parsing.impl.TaskProcessor]: ParserManager.parse called in AWT event thread by: org.netbeans.modules.j2ee.ejbcore.action.CmFieldGenerator.containsField(CmFieldGenerator.java:187)
WARNING [org.netbeans.modules.parsing.impl.TaskProcessor]: ParserManager.parse called in AWT event thread by: org.netbeans.modules.j2ee.ejbcore.action.CmFieldGenerator.addFieldToClass(CmFieldGenerator.java:116)
WARNING [org.netbeans.modules.parsing.impl.TaskProcessor]: ParserManager.parse called in AWT event thread by: org.netbeans.modules.j2ee.ejbcore.action.CmFieldGenerator.addFieldToClass(CmFieldGenerator.java:137)
WARNING [org.netbeans.modules.parsing.impl.TaskProcessor]: ParserManager.parse called in AWT event thread by: org.netbeans.modules.j2ee.ejbcore.action.CmFieldGenerator.addFieldToClass(CmFieldGenerator.java:160)
WARNING [org.netbeans.modules.parsing.impl.TaskProcessor]: ParserManager.parse called in AWT event thread by: org.netbeans.modules.j2ee.ejbcore._RetoucheUtil.getJavaClassFromNode(_RetoucheUtil.java:147)
WARNING [org.netbeans.modules.parsing.impl.TaskProcessor]: ParserManager.parse called in AWT event thread by: org.netbeans.modules.j2ee.ejbcore.Utils.isTargetJavaSE(Utils.java:311)
WARNING [org.netbeans.modules.parsing.impl.TaskProcessor]: ParserManager.parse called in AWT event thread by: org.netbeans.modules.j2ee.ejbcore.ui.logicalview.entries.CallEjbPanel$5.run(CallEjbPanel.java:199)
Comment 1 Martin Fousek 2011-09-08 13:49:15 UTC
Method/field generators done in web-main #14784fc36e04.
Comment 2 Quality Engineering 2011-09-09 15:01:09 UTC
Integrated into 'main-golden'
Changeset: http://hg.netbeans.org/main-golden/rev/14784fc36e04
User: Martin Fousek <marfous@netbeans.org>
Log: #201736 - ParserManager.parse called in AWT event thread - all Generators
Comment 3 Martin Fousek 2011-09-20 15:06:28 UTC
Most of these warning come from methods generation in EJB and should be fixed by this changeset: web-main #b2f5e44b279a

All method generation actions thru editor insert code or bean node start in the background thread (preparing java source tasks), then open dialog in EDT and the own generation is since web-main #14784fc36e04 done in other thread again.
Comment 4 Quality Engineering 2011-09-21 08:05:08 UTC
Integrated into 'main-golden'
Changeset: http://hg.netbeans.org/main-golden/rev/b2f5e44b279a
User: Martin Fousek <marfous@netbeans.org>
Log: #201736 - ParserManager.parse called in AWT event thread
Comment 5 Martin Fousek 2011-09-22 09:10:40 UTC
Checked that no blocking in EJBActionGroup happens anymore (warning wasn't removed - but it shouldn't be the goal, goal should be to be sure that code around is required), see issue #120623.
EjbViewController: web-main #388de26130e7
CallEjbPanel: web-main #810365bb3cd8
Utils.isTargetJavaSE last call from EDT fixed in web-main #04e402569808 and updated comment on that method web-main #072726ad0a94

About the EjbJarMetadataModelImpl it's called mostly outside EDT and cases I found were during checking if some action is enabled or similarly where is no place for pre-computation (actually I could use FutureTask but it would block and wait for result anyway).

I discussed this case also with Tomas Z. who confirmed that there isn't another way how to do that and that all these warnings are enabled just in cases of enabled assertions (so not for release builds).

So it seems that all of those warning were investigated, most of them fixed. Feel free to reopen in cases you will find place(s) where EjbJarMetadataModelImpl can be called better.
Comment 6 Quality Engineering 2011-09-22 14:48:35 UTC
Integrated into 'main-golden'
Changeset: http://hg.netbeans.org/main-golden/rev/388de26130e7
User: Martin Fousek <marfous@netbeans.org>
Log: #201736 - ParserManager.parse called in AWT event thread - EjbViewController part doens't use java source tasks
Comment 7 Quality Engineering 2011-09-23 13:20:16 UTC
Integrated into 'main-golden'
Changeset: http://hg.netbeans.org/main-golden/rev/04e402569808
User: Martin Fousek <marfous@netbeans.org>
Log: #201736 - ParserManager.parse called in AWT event thread - Utils.isTargetJavaSE