maven-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "John Casey (JIRA)" <j...@codehaus.org>
Subject [jira] Commented: (MNG-4137) NPE in DefaultLIfecycleExecutor when run from within Hudson builds
Date Tue, 28 Apr 2009 17:00:44 GMT

    [ http://jira.codehaus.org/browse/MNG-4137?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=174496#action_174496
] 

John Casey commented on MNG-4137:
---------------------------------

The problem seems to be that Hudson provides its own version of the LifecycleExecutor, component
descriptor; when the component descriptor or the class itself changes, there may be NPE's
or CompositionExceptions that result, since the class and component descriptor may not match
up anymore.

This happened in the previous issue when we added a new field to the DefaultLifecycleExecutor.
Since Hudson's version of the component descriptor hadn't changed accordingly, the new field
was never populated, and a NPE was generated. The "solution" was to warn the user that the
new part of the build couldn't be executed:

>From DefaultLifecycleExecutor.java, line 1962:

{code}
    private void warnOfIncompleteComponentConfiguration( String role )
    {
        StringBuffer buffer = new StringBuffer();
        buffer.append( "\n************ WARNING ************" );
        buffer.append( "\n\nThis Maven runtime contains a LifecycleExecutor component with
an incomplete configuration." );
        buffer.append( "\n\nLifecycleExecutor class: " ).append( getClass().getName() );
        buffer.append( "\nMissing component requirement: " ).append( role );
        buffer.append( "\n" );
        buffer.append( "\nNOTE: This seems to be a third-party Maven derivative you are using.
If so, please" );
        buffer.append( "\nnotify the developers for this derivative project of the problem.
The Apache Maven team is not" );
        buffer.append( "\nresponsible for maintaining the integrity of third-party component
overrides." );
        buffer.append( "\n\n" );
        
        getLogger().warn( buffer.toString() );
    }
{code}


> NPE in DefaultLIfecycleExecutor when run from within Hudson builds
> ------------------------------------------------------------------
>
>                 Key: MNG-4137
>                 URL: http://jira.codehaus.org/browse/MNG-4137
>             Project: Maven 2
>          Issue Type: Bug
>          Components: Plugins and Lifecycle
>    Affects Versions: 2.1.0
>         Environment: Hudson ver. 1.299
> Apache Maven 2.1.0 (r755702; 2009-03-18 15:10:27-0400)
> Java version: 1.6.0_12
> Java home: /usr/java/jdk1.6.0_12/jre
> Default locale: en_US, platform encoding: UTF-8
> OS name: "linux" version: "2.6.18-92.1.18.el5" arch: "i386" Family: "unix"
>            Reporter: Jonathan Johnson
>
> Since upgrading from Maven 2.0.10 to 2.1.0 my Hudson midnight job that runs "clean site"
fails with a NullPointerException at DefaultLifecycleExecutor.java:747 exception.  See below.
> This is related, if not the same bug that was claimed fixed in 2.1.0 M1 - http://jira.codehaus.org/browse/MNG-3704
> I though its was an issue with the Cobertura plugin - See https://hudson.dev.java.net/issues/show_bug.cgi?id=3468
but once I remove Cobertura I now get the same stack trace after "[INFO] Preparing surefire-report:report":
> [INFO] Preparing surefire-report:report
> [HUDSON] Archiving [...omittted for this posting...]
> [INFO] ------------------------------------------------------------------------
> [ERROR] FATAL ERROR
> [INFO] ------------------------------------------------------------------------
> [INFO] null
> [INFO] ------------------------------------------------------------------------
> [INFO] Trace
> java.lang.NullPointerException
> 	at org.apache.maven.lifecycle.DefaultLifecycleExecutor.calculateConcreteConfiguration(DefaultLifecycleExecutor.java:747)
> 	at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:578)
> 	at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalWithLifecycle(DefaultLifecycleExecutor.java:540)
> 	at org.apache.maven.lifecycle.DefaultLifecycleExecutor.forkProjectLifecycle(DefaultLifecycleExecutor.java:1168)
> 	at org.apache.maven.lifecycle.DefaultLifecycleExecutor.forkLifecycle(DefaultLifecycleExecutor.java:1009)
> 	at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:647)
> 	at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalWithLifecycle(DefaultLifecycleExecutor.java:540)
> 	at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:519)
> 	at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:371)
> 	at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:332)
> 	at org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:181)
> 	at org.apache.maven.lifecycle.LifecycleExecutorInterceptor.execute(LifecycleExecutorInterceptor.java:65)
> 	at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:356)
> 	at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:137)
> 	at org.apache.maven.cli.MavenCli.main(MavenCli.java:356)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:597)
> 	at org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315)
> 	at org.codehaus.classworlds.Launcher.launch(Launcher.java:255)
> 	at hudson.maven.agent.Main.launch(Main.java:158)
> 	at hudson.maven.MavenBuilder.call(MavenBuilder.java:162)
> 	at hudson.maven.MavenModuleSetBuild$Builder.call(MavenModuleSetBuild.java:578)
> 	at hudson.maven.MavenModuleSetBuild$Builder.call(MavenModuleSetBuild.java:524)
> 	at hudson.remoting.UserRequest.perform(UserRequest.java:97)
> 	at hudson.remoting.UserRequest.perform(UserRequest.java:46)
> 	at hudson.remoting.Request$2.run(Request.java:236)
> 	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:619)
> [INFO] ------------------------------------------------------------------------
> [INFO] Total time: 6 minutes 45 seconds
> [INFO] Finished at: Fri Apr 17 14:58:47 EDT 2009
> [INFO] Final Memory: 76M/271M
> [INFO] ------------------------------------------------------------------------

-- 
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

        

Mime
View raw message