You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@kudu.apache.org by "Adar Dembo (Jira)" <ji...@apache.org> on 2020/03/27 20:23:00 UTC

[jira] [Commented] (KUDU-3093) DebugUtilTest.TestSignalStackTrace of debug-util-test failed on aarch64

    [ https://issues.apache.org/jira/browse/KUDU-3093?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17069027#comment-17069027 ] 

Adar Dembo commented on KUDU-3093:
----------------------------------

I actually don't think this is an aarch64-specific issue; I can repro this on my Ubuntu 18 machine. I suspect commit f37e7a6e0 caused this, as RELEASE builds can now inline the lambda or its call to SleeperThread(), preventing the stack frame matching from working.

BTW, here are the stack traces:
{noformat}
KUDU-3093 aarch64 stack trace
@ 0xffff7fa1c688 ([vdso]+0x687)
@ 0xffff7f73d548 __pthread_cond_timedwait
@ 0xaaaab5f41e7c kudu::ConditionVariable::WaitUntil()
@ 0xaaaab5ef05a0 _ZNSt17_Function_handlerIFvvEZN4kudu39DebugUtilTest_TestSignalStackTrace_Test8TestBodyEvEUlvE_E9_M_invokeERKSt9_Any_data
@ 0xaaaab5f95120 kudu::Thread::SuperviseThread()
@ 0xffff7f737088 start_thread
@ 0xffff7f737088 start_thread

Ubuntu 18 (DEBUG)
@     0x7f91eb575890  (unknown)
@     0x7f91eb570ed9  __pthread_cond_timedwait
@     0x7f91ec3db0fd  kudu::ConditionVariable::WaitUntil()
@     0x55ee4d6165e8  kudu::CountDownLatch::WaitUntil()
@     0x55ee4d616692  kudu::CountDownLatch::WaitFor()
@     0x55ee4d60c6e2  kudu::(anonymous namespace)::SleeperThread()
@     0x55ee4d60cf89  _ZZN4kudu39DebugUtilTest_TestSignalStackTrace_Test8TestBodyEvENKUlvE_clEv
@     0x55ee4d6133e2  _ZNSt17_Function_handlerIFvvEZN4kudu39DebugUtilTest_TestSignalStackTrace_Test8TestBodyEvEUlvE_E9_M_invokeERKSt9_Any_data
@     0x7f91ec831f46  std::function<>::operator()()
@     0x7f91ec4f89f5  kudu::Thread::SuperviseThread()
@     0x7f91eb56a6db  start_thread
@     0x7f91eb29388f  clone

Ubuntu 18 (RELEASE)
@     0x7fe39b002890  (unknown)
@     0x7fe39affded9  __pthread_cond_timedwait
@     0x55f915e4e20c  kudu::ConditionVariable::WaitUntil()
@     0x55f915dec2dc
_ZNSt17_Function_handlerIFvvEZN4kudu39DebugUtilTest_TestSignalStackTrace_Test8TestBodyEvEUlvE_E9_M_invokeERKSt9_Any_data
@     0x55f915ead312  kudu::Thread::SuperviseThread()
@     0x7fe39aff76db  start_thread
@     0x7fe39ad2088f  clone
{noformat}

> DebugUtilTest.TestSignalStackTrace of debug-util-test failed on aarch64
> -----------------------------------------------------------------------
>
>                 Key: KUDU-3093
>                 URL: https://issues.apache.org/jira/browse/KUDU-3093
>             Project: Kudu
>          Issue Type: Sub-task
>            Reporter: huangtianhua
>            Priority: Major
>
> I test kudu on aarch64 server based on https://gerrit.cloudera.org/#/c/14964/ , the test debug-util-test failed, for DEBUG build type, the test failed sometimes, for RELEASE build type the test is hang on TestSignalStackTrace testcase, I debug using gdb, get the error info as below:
> /home/jenkins/workspace/kudu/src/kudu/util/debug-util-test.cc:123: Failure
> Value of: DumpThreadStack(t->tid())
> Expected: has substring "SleeperThread"
>   Actual: "    @     0xffff7fa1c688  ([vdso]+0x687)\n    @     0xffff7f73d548  __pthread_cond_timedwait\n    @      0xaaaab5f41e7c  kudu::ConditionVariable::WaitUntil()\n    @     0xaaaab5ef05a0  _ZNSt17_Function_handlerIFv vEZN4kudu39DebugUtilTest_TestSignalStackTrace_Test8TestBodyEvEUlvE_E9_M_invokeERKSt9_Any_data\n    @     0xaaaa b5f95120  kudu::Thread::SuperviseThread()\n    @     0xffff7f737088  start_thread\n    @     0xffff7f737088  st art_thread\n"
> /home/jenkins/workspace/kudu/src/kudu/util/test_util.cc:348: Failure
> Failed
> Timed out waiting for assertion to pass.
> I0327 07:46:04.605425 17375 test_util.cc:146] -----------------------------------------------
> I0327 07:46:04.605443 17375 test_util.cc:147] Had fatal failures, leaving test files at /tmp/kudutest-0/debug-u til-test.DebugUtilTest.TestSignalStackTrace.1585295134509818-17375
> [  FAILED  ] DebugUtilTest.TestSignalStackTrace (30094 ms)
> [----------] 1 test from DebugUtilTest (30094 ms total)
> [----------] Global test environment tear-down
> [==========] 1 test from 1 test case ran. (30094 ms total)
> [  PASSED  ] 0 tests.
> [  FAILED  ] 1 test, listed below:
> [  FAILED  ] DebugUtilTest.TestSignalStackTrace
>  1 FAILED TEST
> Don't know why the result is defferent for DEBUG and RELEASE,  seems only onething I can find: https://github.com/apache/kudu/blob/master/src/kudu/gutil/once.cc#L21-L30 But it looks no effect, right? Could someone help us to have a look for this? Thanks very much.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)