[
http://jira.codehaus.org/browse/MNG-4641?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Kristian Rosenvold closed MNG-4641.
-----------------------------------
Resolution: Won't Fix
Every effort has been taken to stay backward compatible in M3. This does not
mean any *new* fature automatically will work with all current old builds. This
is 3.0, not 2.2.2, and for 3.0 with parallel, the rules have changed somewhat -
if not much. The feature has been a community effort and discussed for almost 9
months , and there is nothing half-baked about it - it's been running a heavy
test suite for a long time. We will look into how we communicate consequences
of parallel builds, it has been decided long ago that this feature will be
marked "experimental" for 3.0, we might add some more dire-looking warnings or
other means. This is exactly because we have known all along that some mojos
would have problems.
Updates to the mojo-guidelines are forthcoming, and will contain mostly the
basic thread-safety issues; be careful with static state, look out for
unintended singletons. If your underlying technology simply doesn't support
concurrent invocations, I'd suggest just putting synchronized on the execute
statement of the mojo.
We discussed adding some means for a mojo to say "I am threadsafe" a few months
ago, and at that time it didn't seem necessary. As a direct consequence of this
issue I am reopening that discussion om the dev-list. I am closing this issue,
but we will take another round at discussing the need for a flag. Feel free to
create the more appropriate "Mojos need some way to indicate support of
multithreading" issue if you think this is necessary.
Oh; and yes: The modello plugin has one of the worst concurrency problems seen
so far. 1.4-SNAPSHOT in trunk solves the problem. Please report other plugin
related issues to the appropriate issue trackers.
> flex-mojos plugin fails with parallel threads
> ---------------------------------------------
>
> Key: MNG-4641
> URL: http://jira.codehaus.org/browse/MNG-4641
> Project: Maven 2 & 3
> Issue Type: Bug
> Affects Versions: 3.0-beta-1
> Environment: OS X, 3.0-beta1
> Reporter: Nigel Magnay
> Assignee: Benjamin Bentmann
> Priority: Minor
>
> Normal build completes correctly. Multiproject build with
> mvn -X -T 2.0C clean install
> yields:
> [ERROR] Failed to execute goal
> org.sonatype.flexmojos:flexmojos-maven-plugin:3.6:compile-swc
> (default-compile-swc) on project realtime-flex-model: null:
> MojoExecutionException: NullPointerException -> [Help 1]
> org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute
> goal org.sonatype.flexmojos:flexmojos-maven-plugin:3.6:compile-swc
> (default-compile-swc) on project realtime-flex-model: null
> at
> org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:141)
> at
> org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:77)
> at
> org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:69)
> at
> org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:82)
> at
> org.apache.maven.lifecycle.internal.LifecycleThreadedBuilder$1.call(LifecycleThreadedBuilder.java:165)
> at
> org.apache.maven.lifecycle.internal.LifecycleThreadedBuilder$1.call(LifecycleThreadedBuilder.java:162)
> at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
> at java.util.concurrent.FutureTask.run(FutureTask.java:138)
> at
> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
> at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
> at java.util.concurrent.FutureTask.run(FutureTask.java:138)
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
> at java.lang.Thread.run(Thread.java:637)
> Caused by: org.apache.maven.plugin.MojoExecutionException
> at
> org.sonatype.flexmojos.compiler.AbstractFlexCompilerMojo.build(AbstractFlexCompilerMojo.java:2491)
> at
> org.sonatype.flexmojos.compiler.AbstractFlexCompilerMojo.run(AbstractFlexCompilerMojo.java:1282)
> at
> org.sonatype.flexmojos.AbstractIrvinMojo.execute(AbstractIrvinMojo.java:183)
> at
> org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:105)
> at
> org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:133)
> ... 13 more
> Caused by: java.lang.NullPointerException
> at
> macromedia.asc.embedding.LintEvaluator.getWarningDefaults(LintEvaluator.java:3221)
> at
> flex2.compiler.as3.As3Compiler.processCoachSettings(As3Compiler.java:1270)
> at flex2.compiler.as3.As3Compiler.<init>(As3Compiler.java:202)
> at flex2.tools.WebTierAPI.getCompilers(WebTierAPI.java:257)
> at flex2.tools.oem.Library.recompile(Library.java:763)
> at flex2.tools.oem.Library.compile(Library.java:1388)
> at flex2.tools.oem.Library.build(Library.java:653)
> at
> org.sonatype.flexmojos.compiler.AbstractFlexCompilerMojo.build(AbstractFlexCompilerMojo.java:2473)
> ... 17 more
> This could be because 2 flex compiles are trying to run concurrently, and
> perhaps that isn't allowed..
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira