From: Tim P. <ti...@pa...> - 2010-04-20 00:26:19
|
Sorry all, This problem does not appear to be anything to do with WebMacro. It concerns the death of a thread with an associated shutdown hook. Why this behaves 'correctly' or should I say silently fails in 2.1 I have not discovered, however by executing in a spawned JVM the shutdown hook is correctly run and the 'problem' goes away. Sorry to bother you. Tim On Monday 19 April 2010 21:37:44 Tim Pizey wrote: > Hi Guy, > > It was very nice to meet you in person at ACCU2010. > > I appear to have broken WebMacro, in that if I use the 2.2 snapshot > version I get an error but not if I back out to 2.1 > > The circumstances are: using a WebMacro in a non-servlet setup called as an application from inside Maven. > > I will try to produce a test case that does not include Melati. > > The stack trace is: > [WARNING] thread Thread[Thread-8,5,org.melati.app.TemplateApp] was interrupted but is still alive after waiting at least 15000msecs > [WARNING] thread Thread[Thread-8,5,org.melati.app.TemplateApp] will linger despite being asked to die via interruption > [WARNING] NOTE: 1 thread(s) did not finish despite being asked to via interruption. This is not a problem with exec:java, it is a problem with the running code. Although not serious, it should be remedied. > [WARNING] Couldn't destroy threadgroup org.codehaus.mojo.exec.ExecJavaMojo$IsolatedThreadGroup[name=org.melati.app.TemplateApp,maxpri=10] > java.lang.IllegalThreadStateException > at java.lang.ThreadGroup.destroy(ThreadGroup.java:743) > at org.codehaus.mojo.exec.ExecJavaMojo.execute(ExecJavaMojo.java:320) > at org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:490) > at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:694) > at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalWithLifecycle(DefaultLifecycleExecutor.java:556) > at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:535) > at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:387) > at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:348) > at org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:180) > at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:328) > at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:138) > at org.apache.maven.cli.MavenCli.main(MavenCli.java:362) > at org.apache.maven.cli.compat.CompatibleMain.main(CompatibleMain.java:60) > 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 org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430) > at org.codehaus.classworlds.Launcher.main(Launcher.java:375) > > mvn -version > Apache Maven 2.2.1 (rdebian-2) > Java version: 1.6.0_17 > Java home: /usr/lib/jvm/java-6-sun-1.6.0.17/jre > Default locale: en_GB, platform encoding: UTF-8 > OS name: "linux" version: "2.6.32-trunk-amd64" arch: "amd64" Family: "unix" > > > cheers > Tim > > -- We are in dialogue. |