tomcat-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Rainer Jung <rainer.j...@kippdata.de>
Subject TCnative crashes in test suite for trunk and TC 7
Date Fri, 11 Nov 2011 09:11:56 GMT
I get crashes when testing APR/TCnative 1.1.22 on trunk and on TC 7.
APR version was 1.4.5.

Does anybody else see this? The failures seem intermittent and I would 
expect they are *not* always happening in the same tests.

A) trunk

Failing test: org.apache.catalina.core.TestAsyncContextImpl

Testcase: testDispatchWithThreadSingle 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.

Failing also (again crash): org.apache.jasper.compiler.TestParser

First crash happens in:

C  [libapr-1.so.0+0x14970]  apr_allocator_destroy+0x10
C  [libapr-1.so.0+0x15698]  apr_pool_terminate+0x4c
j  org.apache.tomcat.jni.Library.terminate()V+-3222620
j  org.apache.tomcat.jni.Library.terminate()V+0
v  ~StubRoutines::call_stub
V  [libjvm.so+0x16bea0]  void 
JavaCalls::call_helper(JavaValue*,methodHandle*,JavaCallArguments*,Thread*)+0x218
V  [libjvm.so+0x7deaac] 
oopDesc*Reflection::invoke(instanceKlassHandle,methodHandle,Handle,bool,objArrayHandle,BasicType,objArrayHandle,bool,Thread*)+0x13a8
V  [libjvm.so+0x223008] 
oopDesc*Reflection::invoke_method(oopDesc*,Handle,objArrayHandle,Thread*)+0x260
V  [libjvm.so+0x22178c]  JVM_InvokeMethod+0x350
C  [libjava.so+0x10c0c] 
Java_sun_reflect_NativeMethodAccessorImpl_invoke0+0x18
j 
sun.reflect.NativeMethodAccessorImpl.invoke0(Ljava/lang/reflect/Method;Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+-1986028
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+156
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+237
j  org.apache.catalina.startup.Tomcat.destroy()V+9
j  org.apache.catalina.startup.TomcatBaseTest.tearDown()V+82

During shutdown in the allocator belonging to the global APR memory pool 
an invalid memory address is encountered:

#7  apr_allocator_destroy (allocator=0x227318) at 
memory/unix/apr_pools.c:143
143                 *ref = node->next;
(gdb) print *allocator
$1 = {max_index = 16, max_free_index = 0, current_free_index = 0, mutex 
= 0x0, owner = 0x339898, free = {0x0, 0x2040, 0x3332d0, 0x0, 0x5c4760, 
0x1f8ac8, 0x0, 0x0, 0x0,
     0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x66e040, 0x0, 0x0, 0x0}}
(gdb) print allocator->owner
$2 = (apr_pool_t *) 0x339898
(gdb) print *allocator->owner
$3 = {parent = 0x0, child = 0x0, sibling = 0x0, ref = 0x0, cleanups = 
0x0, free_cleanups = 0x0, allocator = 0x227318, subprocesses = 0x0, 
abort_fn = 0, user_data = 0x0,
   tag = 0xfe033500 "apr_global_pool", active = 0x339880, self = 
0x339880, self_first_avail = 0x3398d8 "", pre_cleanups = 0x0}
(gdb) print node
$4 = (apr_memnode_t *) 0x2040
(gdb) print *node
Cannot access memory at address 0x2040


Second crash looks pretty much the same:

#7  apr_allocator_destroy (allocator=0x5a7b20) at 
memory/unix/apr_pools.c:143
143                 *ref = node->next;
(gdb) print *allocator
$1 = {max_index = 16, max_free_index = 0, current_free_index = 0, mutex 
= 0x0, owner = 0x3321a0, free = {0x0, 0x4a28, 0x423618, 0x0, 0x833540, 
0x3e2b48, 0x0, 0x0, 0x0,
     0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7d3440, 0x0, 0x0, 0x0}}
(gdb) print *allocator->owner
$2 = {parent = 0x0, child = 0x0, sibling = 0x0, ref = 0x0, cleanups = 
0x0, free_cleanups = 0x0, allocator = 0x5a7b20, subprocesses = 0x0, 
abort_fn = 0, user_data = 0x0,
   tag = 0xfe033500 "apr_global_pool", active = 0x332188, self = 
0x332188, self_first_avail = 0x3321e0 "", pre_cleanups = 0x0}
(gdb) print node->next
Cannot access memory at address 0x4a28


B) TC 7

Failing test: org.apache.catalina.core.TestSwallowAbortedUploads

No crash or HotSpot-Error-File written, but:

     [junit] #
     [junit] # A fatal error has been detected by the Java Runtime 
Environment:
     [junit] #
     [junit] #  SIGSEGV (0xb) at pc=0xff2573f4, pid=9523, tid=10
     [junit] #
     [junit] # JRE version: 6.0_29-b11
     [junit] # Java VM: Java HotSpot(TM) Server VM (20.4-b02 mixed mode 
solaris-sparc )
     [junit] # Problematic frame:
     [junit] # C  [libc.so.1+0x573f4]
     [junit] # [ timer expired, abort... ]


Regards,

Rainer


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org


Mime
View raw message