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