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-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org