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

Reply via email to