Update: I ran org/apache/tomcat/util/http/mapper/TestMapperWelcomeFiles.java in a loop. The crash happens in about 5-10% of all runs. I'm not saying the crsh is specific to this test, I just tried to reproduce it with the test for which I noticed it first.
The good thing: - I checked without r1130539 (BZ 51310, added a destroy cal) and the problem still occurs - I checked with 7.0.14 and the problem still occurs. So it is not a regression. - Even better: very rarely instead of a crash I get and unterminated loop in apr_allocator_destroy because of circular pointer chains. And that - crashes and rare untrminated loops in apr_allocator_destroy - makes it exactly the same kind of fault I occasionally notice when testing apr using its own test suite. We (APR) still do not know the root cause for this, last time there was speculation about the test being borked. I might use our often failing little TC test to investigate the APR problem :) Regards, Rainer On 05.06.2011 18:33, Rainer Jung wrote: > Not a vote yet: > > I get a test failure: > > Testcase: testWelcomeFileStrict took 0.005 sec > Caused an ERROR > Forked Java VM exited abnormally. Please note the time in the report > does not reflect the time until the VM exit. > junit.framework.AssertionFailedError: Forked Java VM exited abnormally. > Please note the time in the report does not reflect the time until the > VM exit. > > > And indeed there is a core file and a hotspot error file. The crash > happens in tcnative, more precisely in apr_allocator_destroy(). Could it > have to do with the recent addition of server.destroy() (BZ 51310)? > > Note that I only recently added the APR tests to my standard checks. > Furthermore I could not reproduce it during a second test. So the root > cause could be older. > > > C [libapr-1.so.0+0x13f00] apr_allocator_destroy+0x10 > C [libapr-1.so.0+0x14c20] apr_pool_terminate+0x4c > j org.apache.tomcat.jni.Library.terminate()V+-2499892 > j org.apache.tomcat.jni.Library.terminate()V+0 > v ~StubRoutines::call_stub > V [libjvm.so+0x16b1a4] > V [libjvm.so+0x7c5a04] > V [libjvm.so+0x22579c] > V [libjvm.so+0x223eb4] > C [libjava.so+0x10be4] > Java_sun_reflect_NativeMethodAccessorImpl_invoke0+0x18 > j > sun.reflect.NativeMethodAccessorImpl.invoke0(Ljava/lang/reflect/Method;Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+-1751180 > j > sun.reflect.NativeMethodAccessorImpl.invoke0(Ljava/lang/reflect/Method;Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+0 > j > sun.reflect.NativeMethodAccessorImpl.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+87 > j > sun.reflect.DelegatingMethodAccessorImpl.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+6 > j > java.lang.reflect.Method.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+161 > j org.apache.catalina.core.AprLifecycleListener.terminateAPR()V+23 > j > org.apache.catalina.core.AprLifecycleListener.lifecycleEvent(Lorg/apache/catalina/LifecycleEvent;)V+96 > j > org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(Ljava/lang/String;Ljava/lang/Object;)V+37 > j > org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(Ljava/lang/String;Ljava/lang/Object;)V+6 > j > org.apache.catalina.util.LifecycleBase.setStateInternal(Lorg/apache/catalina/LifecycleState;Ljava/lang/Object;Z)V+140 > j org.apache.catalina.util.LifecycleBase.destroy()V+194 > j org.apache.catalina.startup.Tomcat.destroy()V+9 > j org.apache.catalina.startup.TomcatBaseTest.tearDown()V+57 > j junit.framework.TestCase.runBare()V+34 > j junit.framework.TestResult$1.protect()V+4 > j > junit.framework.TestResult.runProtected(Ljunit/framework/Test;Ljunit/framework/Protectable;)V+1 > j junit.framework.TestResult.run(Ljunit/framework/TestCase;)V+18 > j junit.framework.TestCase.run(Ljunit/framework/TestResult;)V+2 > j > junit.framework.TestSuite.runTest(Ljunit/framework/Test;Ljunit/framework/TestResult;)V+2 > j junit.framework.TestSuite.run(Ljunit/framework/TestResult;)V+37 > j org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.run()V+693 > j > org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.launch(Lorg/apache/tools/ant/taskdefs/optional/junit/JUnitTest;[Ljava/lang/String;ZZZZZZ)I+41 > j > org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.main([Ljava/lang/String;)V+918 > v ~StubRoutines::call_stub > V [libjvm.so+0x16b1a4] > V [libjvm.so+0x20f4fc] > C [java+0x3ab8] > --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org