[ https://issues.apache.org/jira/browse/KUDU-3072?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17072623#comment-17072623 ]
shuna commented on KUDU-3072: ----------------------------- when i compile kudu on aarch64, I had had the same problem and decided to close into http://gerrit.cloudera.org:8080/15420 to my project, but when compiling kudu to such a problem: bash-4.2# make [ 0%] Recreating ../build/latest symlink [ 0%] Built target latest_symlink [ 2%] Built target gutil [ 2%] Linking CXX executable ../../../bin/protoc-gen-insertions + /opt/rh/devtoolset-8/root/bin/c++-impl -fsigned-char -march=armv8-a -Wall -Wno-sign-compare -Wno-comment -pthread -fno-strict-aliasing -DBOOST_DATE_TIME_POSIX_TIME_STD_CONFIG -ggdb -std=c++11 -fsized-deallocation -g -Wl,--export-dynamic -rdynamic CMakeFiles/protoc-gen-insertions.dir/protoc-gen-insertions.cc.o -o ../../../bin/protoc-gen-insertions ../../../lib/libgutil.a ../../../../../thirdparty/installed/uninstrumented/lib/libprotobuf.a ../../../../../thirdparty/installed/uninstrumented/lib/libprotoc.a ../../../../../thirdparty/installed/uninstrumented/lib/libglog.a ../../../../../thirdparty/installed/uninstrumented/lib/libunwind.a ../../../../../thirdparty/installed/uninstrumented/lib/libgflags.a ../../../../../thirdparty/installed/uninstrumented/lib/libtcmalloc.a ../../../../../thirdparty/installed/uninstrumented/lib/libprofiler.a /usr/lib64/librt.so ../../../../../thirdparty/installed/uninstrumented/lib/libprotobuf.a ../../../../../thirdparty/installed/uninstrumented/lib/libtcmalloc.a(stacktrace.o): In function `GetStackTraceWithContext_libunwind(void**, int, int, void const*)': /root/src/apache/kudu/thirdparty/src/gperftools-2.6.90_bak/src/stacktrace_libunwind-inl.h:120: undefined reference to `_ULaarch64_init_local' /root/src/apache/kudu/thirdparty/src/gperftools-2.6.90_bak/src/stacktrace_libunwind-inl.h:124: undefined reference to `_ULaarch64_step' /root/src/apache/kudu/thirdparty/src/gperftools-2.6.90_bak/src/stacktrace_libunwind-inl.h:142: undefined reference to `_ULaarch64_step' /root/src/apache/kudu/thirdparty/src/gperftools-2.6.90_bak/src/stacktrace_libunwind-inl.h:135: undefined reference to `_ULaarch64_get_reg' ../../../../../thirdparty/installed/uninstrumented/lib/libtcmalloc.a(stacktrace.o): In function `GetStackTrace_libunwind(void**, int, int)': /root/src/apache/kudu/thirdparty/src/gperftools-2.6.90_bak/src/stackt I have analyzed the libunwind-aarch64.a and libunwind.a and libglog.a and libtcmallo.a symbol problem before and after glog patch : before: !image-2020-04-01-18-21-57-054.png! afther: !image-2020-04-01-18-22-55-612.png! The difference is that libglog.a has no _ULaarch64_step symbol, so I changed the order of libunwind at KUDU_BASE_LIBS in cmakelst.txt, after tcmalloc, and the problem was solved. May I ask if you have encountered this problem and how to solve it ? > minidump-test failed on aarch64 server > -------------------------------------- > > Key: KUDU-3072 > URL: https://issues.apache.org/jira/browse/KUDU-3072 > Project: Kudu > Issue Type: Sub-task > Reporter: huangtianhua > Assignee: huangtianhua > Priority: Major > Fix For: 1.12.0 > > Attachments: image-2020-04-01-18-21-57-054.png, > image-2020-04-01-18-22-55-612.png > > > I test kudu on aarch64 server based on https://gerrit.cloudera.org/#/c/14964/ > , the test minidump-test failed, error details info see > http://paste.openstack.org/show/790470/ : > [==========] Running 8 tests from 2 test cases. > [----------] Global test environment set-up. > [----------] 2 tests from MinidumpDeathTest > [ RUN ] MinidumpDeathTest.TestRegisterAndDelete > WARNING: Logging before InitGoogleLogging() is written to STDERR > I0309 02:17:29.248252 26035 minidump.cc:241] Setting minidump size limit to > 20M > [WARNING] > /home/jenkins/workspace/kudu/thirdparty/src/googletest-release-1.8.0/googletest/src/gtest-death-test.cc:836:: > Death tests use fork(), which is unsafe particularly in a threaded context. > For this test, Google Test detected 3 threads. > Wrote minidump to > /tmp/kudutest-0/minidump-test.MinidumpDeathTest.TestRegisterAndDelete.1583720249245925-26035/minidumps/minidump-test/884bfadb-15be-463e-ab19968c-be52ffe0.dmp > /home/jenkins/workspace/kudu/src/kudu/util/minidump-test.cc:71: Failure > Death test: { abort(); } > Result: died but not with expected error. > Expected: kudu::MinidumpDeathTest_TestRegisterAndDelete_Test::TestBody() > Actual msg: > [ DEATH ] Wrote minidump to > /tmp/kudutest-0/minidump-test.MinidumpDeathTest.TestRegisterAndDelete.1583720249245925-26035/minidumps/minidump-test/884bfadb-15be-463e-ab19968c-be52ffe0.dmp > [ DEATH ] *** Aborted at 1583720249 (unix time) try "date -d @1583720249" > if you are using GNU date *** > [ DEATH ] PC: @ 0x0 (unknown) > [ DEATH ] *** SIGABRT (@0x65b6) received by PID 26038 (TID 0xffff845d9010) > from PID 26038; stack trace: *** > [ DEATH ] @ 0xffff85875688 ([vdso]+0x687) > [ DEATH ] @ 0xffff84cba4d8 raise > [ DEATH ] @ 0xffff84cba464 raise > [ DEATH ] > I0309 02:17:29.562698 26035 test_util.cc:147] > ----------------------------------------------- > I0309 02:17:29.562726 26035 test_util.cc:148] Had fatal failures, leaving > test files at > /tmp/kudutest-0/minidump-test.MinidumpDeathTest.TestRegisterAndDelete.1583720249245925-26035 > [ FAILED ] MinidumpDeathTest.TestRegisterAndDelete (316 ms) > [ RUN ] MinidumpDeathTest.TestCheckStackTraceAndMinidump > I0309 02:17:29.563597 26035 minidump.cc:241] Setting minidump size limit to > 20M > [WARNING] > /home/jenkins/workspace/kudu/thirdparty/src/googletest-release-1.8.0/googletest/src/gtest-death-test.cc:836:: > Death tests use fork(), which is unsafe particularly in a threaded context. > For this test, Google Test detected 3 threads. > Wrote minidump to > /tmp/kudutest-0/minidump-test.MinidumpDeathTest.TestCheckStackTraceAndMinidump.1583720249245925-26035/minidumps/minidump-test/578fe2af-ffae-47a9-54c969bb-d909b4b5.dmp > /home/jenkins/workspace/kudu/src/kudu/util/minidump-test.cc:97: Failure > Death test: { while (google::_Check_string* _result = google::Check_EQImpl( > google::GetReferenceableValue(1), google::GetReferenceableValue(0), "1" " " > "==" " " "0")) > google::LogMessageFatal("/home/jenkins/workspace/kudu/src/kudu/util/minidump-test.cc", > 97, google::CheckOpString(_result)).stream(); } > Result: died but not with expected error. > Expected: > kudu::MinidumpDeathTest_TestCheckStackTraceAndMinidump_Test::TestBody() > Actual msg: > [ DEATH ] F0309 02:17:29.564812 26042 minidump-test.cc:97] Check failed: 1 > == 0 (1 vs. 0) > [ DEATH ] *** Check failure stack trace: *** > [ DEATH ] Wrote minidump to > /tmp/kudutest-0/minidump-test.MinidumpDeathTest.TestCheckStackTraceAndMinidump.1583720249245925-26035/minidumps/minidump-test/578fe2af-ffae-47a9-54c969bb-d909b4b5.dmp > [ DEATH ] *** Aborted at 1583720249 (unix time) try "date -d @1583720249" > if you are using GNU date *** > [ DEATH ] PC: @ 0x0 (unknown) > [ DEATH ] *** SIGABRT (@0x65ba) received by PID 26042 (TID 0xffff845d9010) > from PID 26042; stack trace: *** > [ DEATH ] @ 0xffff85875688 ([vdso]+0x687) > [ DEATH ] @ 0xffff84cba4d8 raise > [ DEATH ] @ 0xffff84cba464 raise > [ DEATH ] > I0309 02:17:29.752290 26035 test_util.cc:147] > ----------------------------------------------- > I0309 02:17:29.752316 26035 test_util.cc:148] Had fatal failures, leaving > test files at > /tmp/kudutest-0/minidump-test.MinidumpDeathTest.TestCheckStackTraceAndMinidump.1583720249245925-26035 > [ FAILED ] MinidumpDeathTest.TestCheckStackTraceAndMinidump (190 ms) > [----------] 2 tests from MinidumpDeathTest (506 ms total) > ...... > I found stack stracing of glog doesn't support on aarch64, so the death > assertion is failed, I have proposed a pr to google/glog > https://github.com/google/glog/pull/529 -- This message was sent by Atlassian Jira (v8.3.4#803005)