[ 
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

        

Reply via email to