[ 
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)

Reply via email to