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

ASF subversion and git services commented on KUDU-3093:
-------------------------------------------------------

Commit 263c3aa894c087691ef2c4463d46a52a94f12c2b in kudu's branch 
refs/heads/master from Adar Dembo
[ https://gitbox.apache.org/repos/asf?p=kudu.git;h=263c3aa ]

KUDU-3093: another band-aid for this DebugUtilTest.TestSignalStackTrace

A TSAN build yielded a stack trace like:

@           0x444a88  __tsan::ProcessPendingSignals()
@           0x4541c1  __interceptor_pthread_mutex_trylock
@     0x7fbca26124e1  kudu::Mutex::TryAcquire()
@     0x7fbca2612893  kudu::Mutex::Acquire()
@           0x4fe036  kudu::MutexLock::MutexLock()
@           0x504abd  kudu::CountDownLatch::WaitUntil()
@           0x504a5f  kudu::CountDownLatch::WaitFor()
@           0x4f04a9  kudu::(anonymous namespace)::SleeperThread()
...

Rather than find the synchronization primitive frame least likely to be
inlined, let's take a more comprehensive approach and search for multiple
candidate frames, including SleeperThread.

I tested this locally in DEBUG, RELEASE, ASAN, and TSAN modes.

Change-Id: Ia4ca0f48ba1d7ad4cea40b70af271d7948f78a57
Reviewed-on: http://gerrit.cloudera.org:8080/15605
Reviewed-by: Alexey Serbin <[email protected]>
Tested-by: Kudu Jenkins


> 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
>            Assignee: Adar Dembo
>            Priority: Major
>             Fix For: 1.12.0
>
>
> 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