bloomberg / bde

Basic Development Environment - a set of foundational C++ libraries used at Bloomberg.
Apache License 2.0
1.68k stars 318 forks source link

Test failure in balst_stacktraceutil.t #286

Closed greghogan closed 1 year ago

greghogan commented 2 years ago

bde 3.110.0.3 bde-tools 3.110.0.0

$ ctest -V -R 'balst_stacktraceutil\.t'
UpdateCTestConfiguration  from :/tmp/guix-build-bloomberg-bde-3.110.0.3.drv-0/build/DartConfiguration.tcl
UpdateCTestConfiguration  from :/tmp/guix-build-bloomberg-bde-3.110.0.3.drv-0/build/DartConfiguration.tcl
Test project /tmp/guix-build-bloomberg-bde-3.110.0.3.drv-0/build
Constructing a list of tests
Done constructing a list of tests
Updating test list for fixtures
Added 0 tests to meet fixture requirements
Checking test dependency graph...
Checking test dependency graph end
test 126
    Start 126: balst_stacktraceutil.t

126: Test command: /gnu/store/65i3nhcwmz0p8rqbg48gaavyky4g4hwk-python-3.9.9/bin/python3.9 "/gnu/store/van5j8ddlvsrwqjf9j7jvw4c722jl43c-bloomberg-bde-tools-3.110.0.0/bin/bde_runtest.py" "/tmp/guix-build-bloomberg-bde-3.110.0.3.drv-0/build/balst_stacktraceutil.t"
126: Test timeout computed to be: 10000000
126: [15:41:47] TEST START
126: [15:41:47] CASE  1: SUCCESS
126: [15:41:47] CASE  2: SUCCESS
126: [15:41:47] CASE  3: FAILURE (rc 6)
126: TEST /tmp/guix-build-bloomberg-bde-3.110.0.3.drv-0/source/groups/bal/balst/balst_stacktraceutil.t.cpp CASE 3
126: Error /tmp/guix-build-bloomberg-bde-3.110.0.3.drv-0/source/groups/bal/balst/balst_stacktraceutil.t.cpp(416): (PLAT_WIN && !DEBUG_ON) || pastMain || frame.isSymbolNameKnown()    (failed)
126: i: 0
126: Error /tmp/guix-build-bloomberg-bde-3.110.0.3.drv-0/source/groups/bal/balst/balst_stacktraceutil.t.cpp(420): pastMain || frame.isOffsetFromSymbolKnown()    (failed)
126: i: 0   offset: 18446744073709551615
126: Error /tmp/guix-build-bloomberg-bde-3.110.0.3.drv-0/source/groups/bal/balst/balst_stacktraceutil.t.cpp(425): reachedMain || offset < maxOffset    (failed)
126: str.length() = 494
126: str = (0): --unknown-- at 0x7fdd44d4a57f
126: (1): _ZL10case_3_Topb+0x78 at 0x40eb28 source:balst_stacktraceutil.t.cpp in balst_stacktraceutil.t
126: (2): _ZN6CASE_311upperMiddleEb+0x36 at 0x40bf06 in balst_stacktraceutil.t
126: (3): _ZN6CASE_311lowerMiddleEb+0x32 at 0x40bf72 in balst_stacktraceutil.t
126: (4): _ZN6CASE_36bottomEb+0x4a at 0x40bffa in balst_stacktraceutil.t
126: (5): main+0xe5b at 0x4097cb in balst_stacktraceutil.t
126: (6): --unknown-- at 0x7fdd447a57dd
126: (7): _start+0x2a at 0x40b87a in balst_stacktraceutil.t
126: 
126: (0): --unknown-- at 0x7fdd44d4a57f
126: (1): _ZL10case_3_Topb+0x78 at 0x40eb28 source:balst_stacktraceutil.t.cpp in balst_stacktraceutil.t
126: (2): _ZN6CASE_311upperMiddleEb+0x36 at 0x40bf06 in balst_stacktraceutil.t
126: (3): _ZN6CASE_311lowerMiddleEb+0x32 at 0x40bf72 in balst_stacktraceutil.t
126: (4): _ZN6CASE_36bottomEb+0x4a at 0x40bffa in balst_stacktraceutil.t
126: (5): main+0xe5b at 0x4097cb in balst_stacktraceutil.t
126: (6): --unknown-- at 0x7fdd447a57dd
126: (7): _start+0x2a at 0x40b87a in balst_stacktraceutil.t
126: Error /tmp/guix-build-bloomberg-bde-3.110.0.3.drv-0/source/groups/bal/balst/balst_stacktraceutil.t.cpp(416): (PLAT_WIN && !DEBUG_ON) || pastMain || frame.isSymbolNameKnown()    (failed)
126: i: 0
126: Error /tmp/guix-build-bloomberg-bde-3.110.0.3.drv-0/source/groups/bal/balst/balst_stacktraceutil.t.cpp(420): pastMain || frame.isOffsetFromSymbolKnown()    (failed)
126: i: 0   offset: 18446744073709551615
126: Error /tmp/guix-build-bloomberg-bde-3.110.0.3.drv-0/source/groups/bal/balst/balst_stacktraceutil.t.cpp(425): reachedMain || offset < maxOffset    (failed)
126: str.length() = 495
126: str = (0): --unknown-- at 0x7fdd44d4a57f
126: (1): case_3_Top(bool)+0x78 at 0x40eb28 source:balst_stacktraceutil.t.cpp in balst_stacktraceutil.t
126: (2): CASE_3::upperMiddle(bool)+0x36 at 0x40bf06 in balst_stacktraceutil.t
126: (3): CASE_3::lowerMiddle(bool)+0x32 at 0x40bf72 in balst_stacktraceutil.t
126: (4): CASE_3::bottom(bool)+0x4a at 0x40bffa in balst_stacktraceutil.t
126: (5): main+0xe7b at 0x4097eb in balst_stacktraceutil.t
126: (6): --unknown-- at 0x7fdd447a57dd
126: (7): _start+0x2a at 0x40b87a in balst_stacktraceutil.t
126: 
126: (0): --unknown-- at 0x7fdd44d4a57f
126: (1): case_3_Top(bool)+0x78 at 0x40eb28 source:balst_stacktraceutil.t.cpp in balst_stacktraceutil.t
126: (2): CASE_3::upperMiddle(bool)+0x36 at 0x40bf06 in balst_stacktraceutil.t
126: (3): CASE_3::lowerMiddle(bool)+0x32 at 0x40bf72 in balst_stacktraceutil.t
126: (4): CASE_3::bottom(bool)+0x4a at 0x40bffa in balst_stacktraceutil.t
126: (5): main+0xe7b at 0x4097eb in balst_stacktraceutil.t
126: (6): --unknown-- at 0x7fdd447a57dd
126: (7): _start+0x2a at 0x40b87a in balst_stacktraceutil.t
126: Error, non-zero test status = 6.
126: 
126: [15:41:47] CASE  4: SUCCESS
126: [15:41:47] CASE  6: SUCCESS
126: [15:41:47] CASE  5: SUCCESS
126: [15:41:47] CASE  7: SUCCESS
126: [15:41:47] CASE  8: SUCCESS
126: [15:41:47] CASE  9: SUCCESS
126: [15:41:47] CASE 11: SUCCESS
126: [15:41:47] CASE 12: SUCCESS
126: [15:41:47] CASE 13: SUCCESS
126: [15:41:47] CASE 14: FAILURE (rc 28)
126: TEST /tmp/guix-build-bloomberg-bde-3.110.0.3.drv-0/source/groups/bal/balst/balst_stacktraceutil.t.cpp CASE 14
126: LINE: 2171 expName: BloombergLP::bsls::StackAddressUtil::getStackAddresses(void
126: Error /tmp/guix-build-bloomberg-bde-3.110.0.3.drv-0/source/groups/bal/balst/balst_stacktraceutil.t.cpp(2263): (passed.d_symbolPresent = !frame.symbolName().empty())    (failed)
126: LINE: 2171 expName: BloombergLP::bsls::StackAddressUtil::getStackAddresses(void    name: 
126: Error /tmp/guix-build-bloomberg-bde-3.110.0.3.drv-0/source/groups/bal/balst/balst_stacktraceutil.t.cpp(2274): (passed.d_symbolGood = 0 == bsl::strncmp(expName.c_str(), name, expName.length()))    (failed)
126: LINE: 2171 mangledName:    expMangled: getStackAddresses
126: Error /tmp/guix-build-bloomberg-bde-3.110.0.3.drv-0/source/groups/bal/balst/balst_stacktraceutil.t.cpp(2280): (passed.d_mangledSymbolGood = npos != frame.mangledSymbolName().find("BloombergLP"))    (failed)
126: LINE: 2171 mangledName:    expMangled: getStackAddresses
126: Error /tmp/guix-build-bloomberg-bde-3.110.0.3.drv-0/source/groups/bal/balst/balst_stacktraceutil.t.cpp(2283): (passed.d_mangledSymbolGood &= npos != frame.mangledSymbolName().find(expMangled))    (failed)
126: Line number / source file name test skipped on this platform.
126: LINE: 2174 expName: BloombergLP::bsls::Log::logFormattedMessage(
126: Error /tmp/guix-build-bloomberg-bde-3.110.0.3.drv-0/source/groups/bal/balst/balst_stacktraceutil.t.cpp(2263): (passed.d_symbolPresent = !frame.symbolName().empty())    (failed)
126: LINE: 2174 expName: BloombergLP::bsls::Log::logFormattedMessage(   name: 
126: Error /tmp/guix-build-bloomberg-bde-3.110.0.3.drv-0/source/groups/bal/balst/balst_stacktraceutil.t.cpp(2274): (passed.d_symbolGood = 0 == bsl::strncmp(expName.c_str(), name, expName.length()))    (failed)
126: LINE: 2174 mangledName:    expMangled: logFormattedMessage
126: Error /tmp/guix-build-bloomberg-bde-3.110.0.3.drv-0/source/groups/bal/balst/balst_stacktraceutil.t.cpp(2280): (passed.d_mangledSymbolGood = npos != frame.mangledSymbolName().find("BloombergLP"))    (failed)
126: LINE: 2174 mangledName:    expMangled: logFormattedMessage
126: Error /tmp/guix-build-bloomberg-bde-3.110.0.3.drv-0/source/groups/bal/balst/balst_stacktraceutil.t.cpp(2283): (passed.d_mangledSymbolGood &= npos != frame.mangledSymbolName().find(expMangled))    (failed)
126: LINE: 2180 expName: BloombergLP::bdlb::String::strstrCaseless(
126: Error /tmp/guix-build-bloomberg-bde-3.110.0.3.drv-0/source/groups/bal/balst/balst_stacktraceutil.t.cpp(2263): (passed.d_symbolPresent = !frame.symbolName().empty())    (failed)
126: LINE: 2180 expName: BloombergLP::bdlb::String::strstrCaseless( name: 
126: Error /tmp/guix-build-bloomberg-bde-3.110.0.3.drv-0/source/groups/bal/balst/balst_stacktraceutil.t.cpp(2274): (passed.d_symbolGood = 0 == bsl::strncmp(expName.c_str(), name, expName.length()))    (failed)
126: LINE: 2180 mangledName:    expMangled: strstrCaseless
126: Error /tmp/guix-build-bloomberg-bde-3.110.0.3.drv-0/source/groups/bal/balst/balst_stacktraceutil.t.cpp(2280): (passed.d_mangledSymbolGood = npos != frame.mangledSymbolName().find("BloombergLP"))    (failed)
126: LINE: 2180 mangledName:    expMangled: strstrCaseless
126: Error /tmp/guix-build-bloomberg-bde-3.110.0.3.drv-0/source/groups/bal/balst/balst_stacktraceutil.t.cpp(2283): (passed.d_mangledSymbolGood &= npos != frame.mangledSymbolName().find(expMangled))    (failed)
126: LINE: 2183 expName: BloombergLP::bdlb::StringRefUtil::upperCaseCmp(
126: Error /tmp/guix-build-bloomberg-bde-3.110.0.3.drv-0/source/groups/bal/balst/balst_stacktraceutil.t.cpp(2263): (passed.d_symbolPresent = !frame.symbolName().empty())    (failed)
126: LINE: 2183 expName: BloombergLP::bdlb::StringRefUtil::upperCaseCmp(    name: 
126: Error /tmp/guix-build-bloomberg-bde-3.110.0.3.drv-0/source/groups/bal/balst/balst_stacktraceutil.t.cpp(2274): (passed.d_symbolGood = 0 == bsl::strncmp(expName.c_str(), name, expName.length()))    (failed)
126: LINE: 2183 mangledName:    expMangled: upperCaseCmp
126: Error /tmp/guix-build-bloomberg-bde-3.110.0.3.drv-0/source/groups/bal/balst/balst_stacktraceutil.t.cpp(2280): (passed.d_mangledSymbolGood = npos != frame.mangledSymbolName().find("BloombergLP"))    (failed)
126: LINE: 2183 mangledName:    expMangled: upperCaseCmp
126: Error /tmp/guix-build-bloomberg-bde-3.110.0.3.drv-0/source/groups/bal/balst/balst_stacktraceutil.t.cpp(2283): (passed.d_mangledSymbolGood &= npos != frame.mangledSymbolName().find(expMangled))    (failed)
126: LINE: 2189 expName: BloombergLP::bdls::FilesystemUtil::unmap(void
126: Error /tmp/guix-build-bloomberg-bde-3.110.0.3.drv-0/source/groups/bal/balst/balst_stacktraceutil.t.cpp(2263): (passed.d_symbolPresent = !frame.symbolName().empty())    (failed)
126: LINE: 2189 expName: BloombergLP::bdls::FilesystemUtil::unmap(void  name: 
126: Error /tmp/guix-build-bloomberg-bde-3.110.0.3.drv-0/source/groups/bal/balst/balst_stacktraceutil.t.cpp(2274): (passed.d_symbolGood = 0 == bsl::strncmp(expName.c_str(), name, expName.length()))    (failed)
126: LINE: 2189 mangledName:    expMangled: unmap
126: Error /tmp/guix-build-bloomberg-bde-3.110.0.3.drv-0/source/groups/bal/balst/balst_stacktraceutil.t.cpp(2280): (passed.d_mangledSymbolGood = npos != frame.mangledSymbolName().find("BloombergLP"))    (failed)
126: LINE: 2189 mangledName:    expMangled: unmap
126: Error /tmp/guix-build-bloomberg-bde-3.110.0.3.drv-0/source/groups/bal/balst/balst_stacktraceutil.t.cpp(2283): (passed.d_mangledSymbolGood &= npos != frame.mangledSymbolName().find(expMangled))    (failed)
126: LINE: 2192 expName: BloombergLP::bslim::TestUtil::compareText(BloombergLP::bslstl::
126: Error /tmp/guix-build-bloomberg-bde-3.110.0.3.drv-0/source/groups/bal/balst/balst_stacktraceutil.t.cpp(2263): (passed.d_symbolPresent = !frame.symbolName().empty())    (failed)
126: LINE: 2192 expName: BloombergLP::bslim::TestUtil::compareText(BloombergLP::bslstl::    name: 
126: Error /tmp/guix-build-bloomberg-bde-3.110.0.3.drv-0/source/groups/bal/balst/balst_stacktraceutil.t.cpp(2274): (passed.d_symbolGood = 0 == bsl::strncmp(expName.c_str(), name, expName.length()))    (failed)
126: LINE: 2192 mangledName:    expMangled: compareText
126: Error /tmp/guix-build-bloomberg-bde-3.110.0.3.drv-0/source/groups/bal/balst/balst_stacktraceutil.t.cpp(2280): (passed.d_mangledSymbolGood = npos != frame.mangledSymbolName().find("BloombergLP"))    (failed)
126: LINE: 2192 mangledName:    expMangled: compareText
126: Error /tmp/guix-build-bloomberg-bde-3.110.0.3.drv-0/source/groups/bal/balst/balst_stacktraceutil.t.cpp(2283): (passed.d_mangledSymbolGood &= npos != frame.mangledSymbolName().find(expMangled))    (failed)
126: LINE: 2201 expName: BloombergLP::bsls::Stopwatch::accumulatedTimes(double
126: Error /tmp/guix-build-bloomberg-bde-3.110.0.3.drv-0/source/groups/bal/balst/balst_stacktraceutil.t.cpp(2263): (passed.d_symbolPresent = !frame.symbolName().empty())    (failed)
126: LINE: 2201 expName: BloombergLP::bsls::Stopwatch::accumulatedTimes(double  name: 
126: Error /tmp/guix-build-bloomberg-bde-3.110.0.3.drv-0/source/groups/bal/balst/balst_stacktraceutil.t.cpp(2274): (passed.d_symbolGood = 0 == bsl::strncmp(expName.c_str(), name, expName.length()))    (failed)
126: LINE: 2201 mangledName:    expMangled: accumulatedTimes
126: Error /tmp/guix-build-bloomberg-bde-3.110.0.3.drv-0/source/groups/bal/balst/balst_stacktraceutil.t.cpp(2280): (passed.d_mangledSymbolGood = npos != frame.mangledSymbolName().find("BloombergLP"))    (failed)
126: LINE: 2201 mangledName:    expMangled: accumulatedTimes
126: Error /tmp/guix-build-bloomberg-bde-3.110.0.3.drv-0/source/groups/bal/balst/balst_stacktraceutil.t.cpp(2283): (passed.d_mangledSymbolGood &= npos != frame.mangledSymbolName().find(expMangled))    (failed)
126: Error, non-zero test status = 28.
126: 
126: [15:41:47] CASE 15: SUCCESS
126: [15:41:47] CASE 16: SUCCESS
126: [15:41:47] CASE 17: SUCCESS
126: [15:41:47] CASE 18: SUCCESS
126: [15:41:54] CASE 10: SUCCESS
1/1 Test #126: balst_stacktraceutil.t ...........***Failed    7.16 sec
[15:41:47] TEST START
[15:41:47] CASE  1: SUCCESS
[15:41:47] CASE  2: SUCCESS
[15:41:47] CASE  3: FAILURE (rc 6)
TEST /tmp/guix-build-bloomberg-bde-3.110.0.3.drv-0/source/groups/bal/balst/balst_stacktraceutil.t.cpp CASE 3
Error /tmp/guix-build-bloomberg-bde-3.110.0.3.drv-0/source/groups/bal/balst/balst_stacktraceutil.t.cpp(416): (PLAT_WIN && !DEBUG_ON) || pastMain || frame.isSymbolNameKnown()    (failed)
i: 0
Error /tmp/guix-build-bloomberg-bde-3.110.0.3.drv-0/source/groups/bal/balst/balst_stacktraceutil.t.cpp(420): pastMain || frame.isOffsetFromSymbolKnown()    (failed)
i: 0    offset: 18446744073709551615
Error /tmp/guix-build-bloomberg-bde-3.110.0.3.drv-0/source/groups/bal/balst/balst_stacktraceutil.t.cpp(425): reachedMain || offset < maxOffset    (failed)
str.length() = 494
str = (0): --unknown-- at 0x7fdd44d4a57f
(1): _ZL10case_3_Topb+0x78 at 0x40eb28 source:balst_stacktraceutil.t.cpp in balst_stacktraceutil.t
(2): _ZN6CASE_311upperMiddleEb+0x36 at 0x40bf06 in balst_stacktraceutil.t
(3): _ZN6CASE_311lowerMiddleEb+0x32 at 0x40bf72 in balst_stacktraceutil.t
(4): _ZN6CASE_36bottomEb+0x4a at 0x40bffa in balst_stacktraceutil.t
(5): main+0xe5b at 0x4097cb in balst_stacktraceutil.t
(6): --unknown-- at 0x7fdd447a57dd
(7): _start+0x2a at 0x40b87a in balst_stacktraceutil.t

(0): --unknown-- at 0x7fdd44d4a57f
(1): _ZL10case_3_Topb+0x78 at 0x40eb28 source:balst_stacktraceutil.t.cpp in balst_stacktraceutil.t
(2): _ZN6CASE_311upperMiddleEb+0x36 at 0x40bf06 in balst_stacktraceutil.t
(3): _ZN6CASE_311lowerMiddleEb+0x32 at 0x40bf72 in balst_stacktraceutil.t
(4): _ZN6CASE_36bottomEb+0x4a at 0x40bffa in balst_stacktraceutil.t
(5): main+0xe5b at 0x4097cb in balst_stacktraceutil.t
(6): --unknown-- at 0x7fdd447a57dd
(7): _start+0x2a at 0x40b87a in balst_stacktraceutil.t
Error /tmp/guix-build-bloomberg-bde-3.110.0.3.drv-0/source/groups/bal/balst/balst_stacktraceutil.t.cpp(416): (PLAT_WIN && !DEBUG_ON) || pastMain || frame.isSymbolNameKnown()    (failed)
i: 0
Error /tmp/guix-build-bloomberg-bde-3.110.0.3.drv-0/source/groups/bal/balst/balst_stacktraceutil.t.cpp(420): pastMain || frame.isOffsetFromSymbolKnown()    (failed)
i: 0    offset: 18446744073709551615
Error /tmp/guix-build-bloomberg-bde-3.110.0.3.drv-0/source/groups/bal/balst/balst_stacktraceutil.t.cpp(425): reachedMain || offset < maxOffset    (failed)
str.length() = 495
str = (0): --unknown-- at 0x7fdd44d4a57f
(1): case_3_Top(bool)+0x78 at 0x40eb28 source:balst_stacktraceutil.t.cpp in balst_stacktraceutil.t
(2): CASE_3::upperMiddle(bool)+0x36 at 0x40bf06 in balst_stacktraceutil.t
(3): CASE_3::lowerMiddle(bool)+0x32 at 0x40bf72 in balst_stacktraceutil.t
(4): CASE_3::bottom(bool)+0x4a at 0x40bffa in balst_stacktraceutil.t
(5): main+0xe7b at 0x4097eb in balst_stacktraceutil.t
(6): --unknown-- at 0x7fdd447a57dd
(7): _start+0x2a at 0x40b87a in balst_stacktraceutil.t

(0): --unknown-- at 0x7fdd44d4a57f
(1): case_3_Top(bool)+0x78 at 0x40eb28 source:balst_stacktraceutil.t.cpp in balst_stacktraceutil.t
(2): CASE_3::upperMiddle(bool)+0x36 at 0x40bf06 in balst_stacktraceutil.t
(3): CASE_3::lowerMiddle(bool)+0x32 at 0x40bf72 in balst_stacktraceutil.t
(4): CASE_3::bottom(bool)+0x4a at 0x40bffa in balst_stacktraceutil.t
(5): main+0xe7b at 0x4097eb in balst_stacktraceutil.t
(6): --unknown-- at 0x7fdd447a57dd
(7): _start+0x2a at 0x40b87a in balst_stacktraceutil.t
Error, non-zero test status = 6.

[15:41:47] CASE  4: SUCCESS
[15:41:47] CASE  6: SUCCESS
[15:41:47] CASE  5: SUCCESS
[15:41:47] CASE  7: SUCCESS
[15:41:47] CASE  8: SUCCESS
[15:41:47] CASE  9: SUCCESS
[15:41:47] CASE 11: SUCCESS
[15:41:47] CASE 12: SUCCESS
[15:41:47] CASE 13: SUCCESS
[15:41:47] CASE 14: FAILURE (rc 28)
TEST /tmp/guix-build-bloomberg-bde-3.110.0.3.drv-0/source/groups/bal/balst/balst_stacktraceutil.t.cpp CASE 14
LINE: 2171  expName: BloombergLP::bsls::StackAddressUtil::getStackAddresses(void
Error /tmp/guix-build-bloomberg-bde-3.110.0.3.drv-0/source/groups/bal/balst/balst_stacktraceutil.t.cpp(2263): (passed.d_symbolPresent = !frame.symbolName().empty())    (failed)
LINE: 2171  expName: BloombergLP::bsls::StackAddressUtil::getStackAddresses(void    name: 
Error /tmp/guix-build-bloomberg-bde-3.110.0.3.drv-0/source/groups/bal/balst/balst_stacktraceutil.t.cpp(2274): (passed.d_symbolGood = 0 == bsl::strncmp(expName.c_str(), name, expName.length()))    (failed)
LINE: 2171  mangledName:    expMangled: getStackAddresses
Error /tmp/guix-build-bloomberg-bde-3.110.0.3.drv-0/source/groups/bal/balst/balst_stacktraceutil.t.cpp(2280): (passed.d_mangledSymbolGood = npos != frame.mangledSymbolName().find("BloombergLP"))    (failed)
LINE: 2171  mangledName:    expMangled: getStackAddresses
Error /tmp/guix-build-bloomberg-bde-3.110.0.3.drv-0/source/groups/bal/balst/balst_stacktraceutil.t.cpp(2283): (passed.d_mangledSymbolGood &= npos != frame.mangledSymbolName().find(expMangled))    (failed)
Line number / source file name test skipped on this platform.
LINE: 2174  expName: BloombergLP::bsls::Log::logFormattedMessage(
Error /tmp/guix-build-bloomberg-bde-3.110.0.3.drv-0/source/groups/bal/balst/balst_stacktraceutil.t.cpp(2263): (passed.d_symbolPresent = !frame.symbolName().empty())    (failed)
LINE: 2174  expName: BloombergLP::bsls::Log::logFormattedMessage(   name: 
Error /tmp/guix-build-bloomberg-bde-3.110.0.3.drv-0/source/groups/bal/balst/balst_stacktraceutil.t.cpp(2274): (passed.d_symbolGood = 0 == bsl::strncmp(expName.c_str(), name, expName.length()))    (failed)
LINE: 2174  mangledName:    expMangled: logFormattedMessage
Error /tmp/guix-build-bloomberg-bde-3.110.0.3.drv-0/source/groups/bal/balst/balst_stacktraceutil.t.cpp(2280): (passed.d_mangledSymbolGood = npos != frame.mangledSymbolName().find("BloombergLP"))    (failed)
LINE: 2174  mangledName:    expMangled: logFormattedMessage
Error /tmp/guix-build-bloomberg-bde-3.110.0.3.drv-0/source/groups/bal/balst/balst_stacktraceutil.t.cpp(2283): (passed.d_mangledSymbolGood &= npos != frame.mangledSymbolName().find(expMangled))    (failed)
LINE: 2180  expName: BloombergLP::bdlb::String::strstrCaseless(
Error /tmp/guix-build-bloomberg-bde-3.110.0.3.drv-0/source/groups/bal/balst/balst_stacktraceutil.t.cpp(2263): (passed.d_symbolPresent = !frame.symbolName().empty())    (failed)
LINE: 2180  expName: BloombergLP::bdlb::String::strstrCaseless( name: 
Error /tmp/guix-build-bloomberg-bde-3.110.0.3.drv-0/source/groups/bal/balst/balst_stacktraceutil.t.cpp(2274): (passed.d_symbolGood = 0 == bsl::strncmp(expName.c_str(), name, expName.length()))    (failed)
LINE: 2180  mangledName:    expMangled: strstrCaseless
Error /tmp/guix-build-bloomberg-bde-3.110.0.3.drv-0/source/groups/bal/balst/balst_stacktraceutil.t.cpp(2280): (passed.d_mangledSymbolGood = npos != frame.mangledSymbolName().find("BloombergLP"))    (failed)
LINE: 2180  mangledName:    expMangled: strstrCaseless
Error /tmp/guix-build-bloomberg-bde-3.110.0.3.drv-0/source/groups/bal/balst/balst_stacktraceutil.t.cpp(2283): (passed.d_mangledSymbolGood &= npos != frame.mangledSymbolName().find(expMangled))    (failed)
LINE: 2183  expName: BloombergLP::bdlb::StringRefUtil::upperCaseCmp(
Error /tmp/guix-build-bloomberg-bde-3.110.0.3.drv-0/source/groups/bal/balst/balst_stacktraceutil.t.cpp(2263): (passed.d_symbolPresent = !frame.symbolName().empty())    (failed)
LINE: 2183  expName: BloombergLP::bdlb::StringRefUtil::upperCaseCmp(    name: 
Error /tmp/guix-build-bloomberg-bde-3.110.0.3.drv-0/source/groups/bal/balst/balst_stacktraceutil.t.cpp(2274): (passed.d_symbolGood = 0 == bsl::strncmp(expName.c_str(), name, expName.length()))    (failed)
LINE: 2183  mangledName:    expMangled: upperCaseCmp
Error /tmp/guix-build-bloomberg-bde-3.110.0.3.drv-0/source/groups/bal/balst/balst_stacktraceutil.t.cpp(2280): (passed.d_mangledSymbolGood = npos != frame.mangledSymbolName().find("BloombergLP"))    (failed)
LINE: 2183  mangledName:    expMangled: upperCaseCmp
Error /tmp/guix-build-bloomberg-bde-3.110.0.3.drv-0/source/groups/bal/balst/balst_stacktraceutil.t.cpp(2283): (passed.d_mangledSymbolGood &= npos != frame.mangledSymbolName().find(expMangled))    (failed)
LINE: 2189  expName: BloombergLP::bdls::FilesystemUtil::unmap(void
Error /tmp/guix-build-bloomberg-bde-3.110.0.3.drv-0/source/groups/bal/balst/balst_stacktraceutil.t.cpp(2263): (passed.d_symbolPresent = !frame.symbolName().empty())    (failed)
LINE: 2189  expName: BloombergLP::bdls::FilesystemUtil::unmap(void  name: 
Error /tmp/guix-build-bloomberg-bde-3.110.0.3.drv-0/source/groups/bal/balst/balst_stacktraceutil.t.cpp(2274): (passed.d_symbolGood = 0 == bsl::strncmp(expName.c_str(), name, expName.length()))    (failed)
LINE: 2189  mangledName:    expMangled: unmap
Error /tmp/guix-build-bloomberg-bde-3.110.0.3.drv-0/source/groups/bal/balst/balst_stacktraceutil.t.cpp(2280): (passed.d_mangledSymbolGood = npos != frame.mangledSymbolName().find("BloombergLP"))    (failed)
LINE: 2189  mangledName:    expMangled: unmap
Error /tmp/guix-build-bloomberg-bde-3.110.0.3.drv-0/source/groups/bal/balst/balst_stacktraceutil.t.cpp(2283): (passed.d_mangledSymbolGood &= npos != frame.mangledSymbolName().find(expMangled))    (failed)
LINE: 2192  expName: BloombergLP::bslim::TestUtil::compareText(BloombergLP::bslstl::
Error /tmp/guix-build-bloomberg-bde-3.110.0.3.drv-0/source/groups/bal/balst/balst_stacktraceutil.t.cpp(2263): (passed.d_symbolPresent = !frame.symbolName().empty())    (failed)
LINE: 2192  expName: BloombergLP::bslim::TestUtil::compareText(BloombergLP::bslstl::    name: 
Error /tmp/guix-build-bloomberg-bde-3.110.0.3.drv-0/source/groups/bal/balst/balst_stacktraceutil.t.cpp(2274): (passed.d_symbolGood = 0 == bsl::strncmp(expName.c_str(), name, expName.length()))    (failed)
LINE: 2192  mangledName:    expMangled: compareText
Error /tmp/guix-build-bloomberg-bde-3.110.0.3.drv-0/source/groups/bal/balst/balst_stacktraceutil.t.cpp(2280): (passed.d_mangledSymbolGood = npos != frame.mangledSymbolName().find("BloombergLP"))    (failed)
LINE: 2192  mangledName:    expMangled: compareText
Error /tmp/guix-build-bloomberg-bde-3.110.0.3.drv-0/source/groups/bal/balst/balst_stacktraceutil.t.cpp(2283): (passed.d_mangledSymbolGood &= npos != frame.mangledSymbolName().find(expMangled))    (failed)
LINE: 2201  expName: BloombergLP::bsls::Stopwatch::accumulatedTimes(double
Error /tmp/guix-build-bloomberg-bde-3.110.0.3.drv-0/source/groups/bal/balst/balst_stacktraceutil.t.cpp(2263): (passed.d_symbolPresent = !frame.symbolName().empty())    (failed)
LINE: 2201  expName: BloombergLP::bsls::Stopwatch::accumulatedTimes(double  name: 
Error /tmp/guix-build-bloomberg-bde-3.110.0.3.drv-0/source/groups/bal/balst/balst_stacktraceutil.t.cpp(2274): (passed.d_symbolGood = 0 == bsl::strncmp(expName.c_str(), name, expName.length()))    (failed)
LINE: 2201  mangledName:    expMangled: accumulatedTimes
Error /tmp/guix-build-bloomberg-bde-3.110.0.3.drv-0/source/groups/bal/balst/balst_stacktraceutil.t.cpp(2280): (passed.d_mangledSymbolGood = npos != frame.mangledSymbolName().find("BloombergLP"))    (failed)
LINE: 2201  mangledName:    expMangled: accumulatedTimes
Error /tmp/guix-build-bloomberg-bde-3.110.0.3.drv-0/source/groups/bal/balst/balst_stacktraceutil.t.cpp(2283): (passed.d_mangledSymbolGood &= npos != frame.mangledSymbolName().find(expMangled))    (failed)
Error, non-zero test status = 28.

[15:41:47] CASE 15: SUCCESS
[15:41:47] CASE 16: SUCCESS
[15:41:47] CASE 17: SUCCESS
[15:41:47] CASE 18: SUCCESS
[15:41:54] CASE 10: SUCCESS

0% tests passed, 1 tests failed out of 1

Label Time Summary:
all                       =   7.16 sec*proc (1 test)
all.t                     =   7.16 sec*proc (1 test)
bal                       =   7.16 sec*proc (1 test)
bal.t                     =   7.16 sec*proc (1 test)
balst                     =   7.16 sec*proc (1 test)
balst.t                   =   7.16 sec*proc (1 test)
balst_stacktraceutil      =   7.16 sec*proc (1 test)
balst_stacktraceutil.t    =   7.16 sec*proc (1 test)

Total Test time (real) =   7.25 sec

The following tests FAILED:
    126 - balst_stacktraceutil.t (Failed)
Errors while running CTest
mversche commented 2 years ago

Internal tracking 170729991

lalawawa commented 2 years ago

Greg Hogan, it would help a lot if you would mention what operating system and architecture this occurred on.

lalawawa commented 2 years ago

OK, I've been told this was on Amazon Linux.

greghogan commented 2 years ago

If extra details are helpful, hardware is an AWS EC2 r6i.xlarge instance. As noted above, the OS is Amazon Linux 2 but the build system is GNU Guix.

lalawawa commented 2 years ago

x86 stacks are hard to walk back when you want to do a stack trace because, potentially, there are near and far calls and it's awkward to distinguish them. So Bloomberg doesn't provide it's own stack walkback function on x86, we use functions provided by the OS, Windows or Linux. The function we use on Linux is 'backtrace'. One problem with stack walkback functions is that sometimes they are "narcissic", that is, they report stack frames including the stack walkback function itself. The ones we write at BB for non-x86 architectures don't do that, but fox x86 we have to adjust for narcissicm by ignoring the frame at the top sometimes. It looks like in Amazon Linux someone re-wrote 'backtrace' to report one more narcissic frame than we were expecting, so we're not ignoring enough frames so there's this garbage frame on top of the stack trace throwing off the tests. I can't test on your architecture, but one thing you might want to try is to change 'k_IGNORE_FRAMES' in bde/groups/bsl/bsls/bsls_stackaddressutil.h line 317 from '1' to '2' and see if that helps.

lalawawa commented 2 years ago

Actually, now that I'm looking at it more, I'm not sure that's what's going on. Because rather than a garbage from on the stack top, a frame with 'getStackAddresses' should be visible above the garbage frame.

lalawawa commented 2 years ago

Have you somehow built bsl and bal with different build flags, so that libbsl.a has debugging symbols stripped?

lalawawa commented 2 years ago

It looks like all symbols in bsl are missing. When we build at Bloomberg, we never build on any form of Unix without debug symbols.

mversche commented 2 years ago

@greghogan You mentioned you are using the "GNU Guix" build system. I'm not familiar with it, but my read is that it is a package manager? i.e., you are actually performing the build using the tools in bde-tools, which uses CMake/ninja to compile with gcc (or possibly clang)

Could you provide the series of steps you used to perform the build and their output (verbose if possible) ?

greghogan commented 1 year ago

The following build log shows the build commands; search for the lines beginning with starting phase (the interesting phase start with 'configure'). This is using CMake and GCC but not the Python script from bde-tools.

zhl6k25qlxsb60m5z4342n1jn17pw7-bloomberg-bde-3.110.0.3.drv.gz

The UFID is set to opt_dbg_exc_mt_64_shr_cpp17 and libbsl.so is unstripped.

$ file libbsl.so
libbsl.so: ELF 64-bit LSB shared object, x86-64, version 1 (GNU/Linux), dynamically linked, with debug_info, not stripped
$ ./balst_stacktraceutil.t 3 -v -v -v
TEST /tmp/guix-build-bloomberg-bde-3.110.0.3.drv-0/source/groups/bal/balst/balst_stacktraceutil.t.cpp CASE 3
TEST OF DIRECT CALL TO getStackAddresses
========================================
Error /tmp/guix-build-bloomberg-bde-3.110.0.3.drv-0/source/groups/bal/balst/balst_stacktraceutil.t.cpp(416): (PLAT_WIN && !DEBUG_ON) || pastMain || frame.isSymbolNameKnown()    (failed)
i: 0
Error /tmp/guix-build-bloomberg-bde-3.110.0.3.drv-0/source/groups/bal/balst/balst_stacktraceutil.t.cpp(420): pastMain || frame.isOffsetFromSymbolKnown()    (failed)
i: 0    offset: 18446744073709551615
Error /tmp/guix-build-bloomberg-bde-3.110.0.3.drv-0/source/groups/bal/balst/balst_stacktraceutil.t.cpp(425): reachedMain || offset < maxOffset    (failed)
str.length() = 494
str = (0): --unknown-- at 0x7f840278e38f
(1): _ZL10case_3_Topb+0x78 at 0x40eb28 source:balst_stacktraceutil.t.cpp in balst_stacktraceutil.t
(2): _ZN6CASE_311upperMiddleEb+0x36 at 0x40bf06 in balst_stacktraceutil.t
(3): _ZN6CASE_311lowerMiddleEb+0x32 at 0x40bf72 in balst_stacktraceutil.t
(4): _ZN6CASE_36bottomEb+0x4a at 0x40bffa in balst_stacktraceutil.t
(5): main+0xe5b at 0x4097cb in balst_stacktraceutil.t
(6): --unknown-- at 0x7f84021e97dd
(7): _start+0x2a at 0x40b87a in balst_stacktraceutil.t

(0): --unknown-- at 0x7f840278e38f
(1): _ZL10case_3_Topb+0x78 at 0x40eb28 source:balst_stacktraceutil.t.cpp in balst_stacktraceutil.t
(2): _ZN6CASE_311upperMiddleEb+0x36 at 0x40bf06 in balst_stacktraceutil.t
(3): _ZN6CASE_311lowerMiddleEb+0x32 at 0x40bf72 in balst_stacktraceutil.t
(4): _ZN6CASE_36bottomEb+0x4a at 0x40bffa in balst_stacktraceutil.t
(5): main+0xe5b at 0x4097cb in balst_stacktraceutil.t
(6): --unknown-- at 0x7f84021e97dd
(7): _start+0x2a at 0x40b87a in balst_stacktraceutil.t
Error /tmp/guix-build-bloomberg-bde-3.110.0.3.drv-0/source/groups/bal/balst/balst_stacktraceutil.t.cpp(416): (PLAT_WIN && !DEBUG_ON) || pastMain || frame.isSymbolNameKnown()    (failed)
i: 0
Error /tmp/guix-build-bloomberg-bde-3.110.0.3.drv-0/source/groups/bal/balst/balst_stacktraceutil.t.cpp(420): pastMain || frame.isOffsetFromSymbolKnown()    (failed)
i: 0    offset: 18446744073709551615
Error /tmp/guix-build-bloomberg-bde-3.110.0.3.drv-0/source/groups/bal/balst/balst_stacktraceutil.t.cpp(425): reachedMain || offset < maxOffset    (failed)
str.length() = 495
str = (0): --unknown-- at 0x7f840278e38f
(1): case_3_Top(bool)+0x78 at 0x40eb28 source:balst_stacktraceutil.t.cpp in balst_stacktraceutil.t
(2): CASE_3::upperMiddle(bool)+0x36 at 0x40bf06 in balst_stacktraceutil.t
(3): CASE_3::lowerMiddle(bool)+0x32 at 0x40bf72 in balst_stacktraceutil.t
(4): CASE_3::bottom(bool)+0x4a at 0x40bffa in balst_stacktraceutil.t
(5): main+0xe7b at 0x4097eb in balst_stacktraceutil.t
(6): --unknown-- at 0x7f84021e97dd
(7): _start+0x2a at 0x40b87a in balst_stacktraceutil.t

(0): --unknown-- at 0x7f840278e38f
(1): case_3_Top(bool)+0x78 at 0x40eb28 source:balst_stacktraceutil.t.cpp in balst_stacktraceutil.t
(2): CASE_3::upperMiddle(bool)+0x36 at 0x40bf06 in balst_stacktraceutil.t
(3): CASE_3::lowerMiddle(bool)+0x32 at 0x40bf72 in balst_stacktraceutil.t
(4): CASE_3::bottom(bool)+0x4a at 0x40bffa in balst_stacktraceutil.t
(5): main+0xe7b at 0x4097eb in balst_stacktraceutil.t
(6): --unknown-- at 0x7f84021e97dd
(7): _start+0x2a at 0x40b87a in balst_stacktraceutil.t
Error, non-zero test status = 6.
$ ./balst_stacktraceutil.t 14 -v -v -v
TEST /tmp/guix-build-bloomberg-bde-3.110.0.3.drv-0/source/groups/bal/balst/balst_stacktraceutil.t.cpp CASE 14
TESTING: Stack Trace With Many Components
=========================================
mangledSearch = getStackAddresses, sizeof(ptr) = 8, sizeof(funcPtr) = 8, ptr = 0x7fce55df0381
mangledSearch = logFormattedMessage, sizeof(ptr) = 8, sizeof(funcPtr) = 8, ptr = 0x7fce55def091
mangledSearch = address, sizeof(ptr) = 8, sizeof(funcPtr) = 16, ptr = 0x413c91
mangledSearch = strstrCaseless, sizeof(ptr) = 8, sizeof(funcPtr) = 8, ptr = 0x7fce563603f1
mangledSearch = upperCaseCmp, sizeof(ptr) = 8, sizeof(funcPtr) = 8, ptr = 0x7fce56360aa1
mangledSearch = allocateAndExpand, sizeof(ptr) = 8, sizeof(funcPtr) = 16, ptr = 0x413db1
mangledSearch = unmap, sizeof(ptr) = 8, sizeof(funcPtr) = 8, ptr = 0x7fce563c32f1
mangledSearch = compareText, sizeof(ptr) = 8, sizeof(funcPtr) = 8, ptr = 0x7fce55de3311
mangledSearch = numBlocksInUse, sizeof(ptr) = 8, sizeof(funcPtr) = 16, ptr = 0x413d71
mangledSearch = exit, sizeof(ptr) = 8, sizeof(funcPtr) = 8, ptr = 0x413da1
mangledSearch = accumulatedTimes, sizeof(ptr) = 8, sizeof(funcPtr) = 16, ptr = 0x7fce55df0451
mangledSearch = totalNanoseconds, sizeof(ptr) = 8, sizeof(funcPtr) = 16, ptr = 0x413c71
LINE: 2171  expName: BloombergLP::bsls::StackAddressUtil::getStackAddresses(void
Error /tmp/guix-build-bloomberg-bde-3.110.0.3.drv-0/source/groups/bal/balst/balst_stacktraceutil.t.cpp(2263): (passed.d_symbolPresent = !frame.symbolName().empty())    (failed)
LINE: 2171  expName: BloombergLP::bsls::StackAddressUtil::getStackAddresses(void    name: 
Error /tmp/guix-build-bloomberg-bde-3.110.0.3.drv-0/source/groups/bal/balst/balst_stacktraceutil.t.cpp(2274): (passed.d_symbolGood = 0 == bsl::strncmp(expName.c_str(), name, expName.length()))    (failed)
LINE: 2171  mangledName:    expMangled: getStackAddresses
Error /tmp/guix-build-bloomberg-bde-3.110.0.3.drv-0/source/groups/bal/balst/balst_stacktraceutil.t.cpp(2280): (passed.d_mangledSymbolGood = npos != frame.mangledSymbolName().find("BloombergLP"))    (failed)
LINE: 2171  mangledName:    expMangled: getStackAddresses
Error /tmp/guix-build-bloomberg-bde-3.110.0.3.drv-0/source/groups/bal/balst/balst_stacktraceutil.t.cpp(2283): (passed.d_mangledSymbolGood &= npos != frame.mangledSymbolName().find(expMangled))    (failed)
Line number / source file name test skipped on this platform.
BloombergLP::bsls::StackAddressUtil::getStackAddresses(void failed
LINE: 2174  expName: BloombergLP::bsls::Log::logFormattedMessage(
Error /tmp/guix-build-bloomberg-bde-3.110.0.3.drv-0/source/groups/bal/balst/balst_stacktraceutil.t.cpp(2263): (passed.d_symbolPresent = !frame.symbolName().empty())    (failed)
LINE: 2174  expName: BloombergLP::bsls::Log::logFormattedMessage(   name: 
Error /tmp/guix-build-bloomberg-bde-3.110.0.3.drv-0/source/groups/bal/balst/balst_stacktraceutil.t.cpp(2274): (passed.d_symbolGood = 0 == bsl::strncmp(expName.c_str(), name, expName.length()))    (failed)
LINE: 2174  mangledName:    expMangled: logFormattedMessage
Error /tmp/guix-build-bloomberg-bde-3.110.0.3.drv-0/source/groups/bal/balst/balst_stacktraceutil.t.cpp(2280): (passed.d_mangledSymbolGood = npos != frame.mangledSymbolName().find("BloombergLP"))    (failed)
LINE: 2174  mangledName:    expMangled: logFormattedMessage
Error /tmp/guix-build-bloomberg-bde-3.110.0.3.drv-0/source/groups/bal/balst/balst_stacktraceutil.t.cpp(2283): (passed.d_mangledSymbolGood &= npos != frame.mangledSymbolName().find(expMangled))    (failed)
BloombergLP::bsls::Log::logFormattedMessage( failed
BloombergLP::balst::StackTraceFrame::address() passed
LINE: 2180  expName: BloombergLP::bdlb::String::strstrCaseless(
Error /tmp/guix-build-bloomberg-bde-3.110.0.3.drv-0/source/groups/bal/balst/balst_stacktraceutil.t.cpp(2263): (passed.d_symbolPresent = !frame.symbolName().empty())    (failed)
LINE: 2180  expName: BloombergLP::bdlb::String::strstrCaseless( name: 
Error /tmp/guix-build-bloomberg-bde-3.110.0.3.drv-0/source/groups/bal/balst/balst_stacktraceutil.t.cpp(2274): (passed.d_symbolGood = 0 == bsl::strncmp(expName.c_str(), name, expName.length()))    (failed)
LINE: 2180  mangledName:    expMangled: strstrCaseless
Error /tmp/guix-build-bloomberg-bde-3.110.0.3.drv-0/source/groups/bal/balst/balst_stacktraceutil.t.cpp(2280): (passed.d_mangledSymbolGood = npos != frame.mangledSymbolName().find("BloombergLP"))    (failed)
LINE: 2180  mangledName:    expMangled: strstrCaseless
Error /tmp/guix-build-bloomberg-bde-3.110.0.3.drv-0/source/groups/bal/balst/balst_stacktraceutil.t.cpp(2283): (passed.d_mangledSymbolGood &= npos != frame.mangledSymbolName().find(expMangled))    (failed)
BloombergLP::bdlb::String::strstrCaseless( failed
LINE: 2183  expName: BloombergLP::bdlb::StringRefUtil::upperCaseCmp(
Error /tmp/guix-build-bloomberg-bde-3.110.0.3.drv-0/source/groups/bal/balst/balst_stacktraceutil.t.cpp(2263): (passed.d_symbolPresent = !frame.symbolName().empty())    (failed)
LINE: 2183  expName: BloombergLP::bdlb::StringRefUtil::upperCaseCmp(    name: 
Error /tmp/guix-build-bloomberg-bde-3.110.0.3.drv-0/source/groups/bal/balst/balst_stacktraceutil.t.cpp(2274): (passed.d_symbolGood = 0 == bsl::strncmp(expName.c_str(), name, expName.length()))    (failed)
LINE: 2183  mangledName:    expMangled: upperCaseCmp
Error /tmp/guix-build-bloomberg-bde-3.110.0.3.drv-0/source/groups/bal/balst/balst_stacktraceutil.t.cpp(2280): (passed.d_mangledSymbolGood = npos != frame.mangledSymbolName().find("BloombergLP"))    (failed)
LINE: 2183  mangledName:    expMangled: upperCaseCmp
Error /tmp/guix-build-bloomberg-bde-3.110.0.3.drv-0/source/groups/bal/balst/balst_stacktraceutil.t.cpp(2283): (passed.d_mangledSymbolGood &= npos != frame.mangledSymbolName().find(expMangled))    (failed)
BloombergLP::bdlb::StringRefUtil::upperCaseCmp( failed
BloombergLP::bdlma::SequentialAllocator::allocateAndExpand( passed
LINE: 2189  expName: BloombergLP::bdls::FilesystemUtil::unmap(void
Error /tmp/guix-build-bloomberg-bde-3.110.0.3.drv-0/source/groups/bal/balst/balst_stacktraceutil.t.cpp(2263): (passed.d_symbolPresent = !frame.symbolName().empty())    (failed)
LINE: 2189  expName: BloombergLP::bdls::FilesystemUtil::unmap(void  name: 
Error /tmp/guix-build-bloomberg-bde-3.110.0.3.drv-0/source/groups/bal/balst/balst_stacktraceutil.t.cpp(2274): (passed.d_symbolGood = 0 == bsl::strncmp(expName.c_str(), name, expName.length()))    (failed)
LINE: 2189  mangledName:    expMangled: unmap
Error /tmp/guix-build-bloomberg-bde-3.110.0.3.drv-0/source/groups/bal/balst/balst_stacktraceutil.t.cpp(2280): (passed.d_mangledSymbolGood = npos != frame.mangledSymbolName().find("BloombergLP"))    (failed)
LINE: 2189  mangledName:    expMangled: unmap
Error /tmp/guix-build-bloomberg-bde-3.110.0.3.drv-0/source/groups/bal/balst/balst_stacktraceutil.t.cpp(2283): (passed.d_mangledSymbolGood &= npos != frame.mangledSymbolName().find(expMangled))    (failed)
BloombergLP::bdls::FilesystemUtil::unmap(void failed
LINE: 2192  expName: BloombergLP::bslim::TestUtil::compareText(BloombergLP::bslstl::
Error /tmp/guix-build-bloomberg-bde-3.110.0.3.drv-0/source/groups/bal/balst/balst_stacktraceutil.t.cpp(2263): (passed.d_symbolPresent = !frame.symbolName().empty())    (failed)
LINE: 2192  expName: BloombergLP::bslim::TestUtil::compareText(BloombergLP::bslstl::    name: 
Error /tmp/guix-build-bloomberg-bde-3.110.0.3.drv-0/source/groups/bal/balst/balst_stacktraceutil.t.cpp(2274): (passed.d_symbolGood = 0 == bsl::strncmp(expName.c_str(), name, expName.length()))    (failed)
LINE: 2192  mangledName:    expMangled: compareText
Error /tmp/guix-build-bloomberg-bde-3.110.0.3.drv-0/source/groups/bal/balst/balst_stacktraceutil.t.cpp(2280): (passed.d_mangledSymbolGood = npos != frame.mangledSymbolName().find("BloombergLP"))    (failed)
LINE: 2192  mangledName:    expMangled: compareText
Error /tmp/guix-build-bloomberg-bde-3.110.0.3.drv-0/source/groups/bal/balst/balst_stacktraceutil.t.cpp(2283): (passed.d_mangledSymbolGood &= npos != frame.mangledSymbolName().find(expMangled))    (failed)
BloombergLP::bslim::TestUtil::compareText(BloombergLP::bslstl:: failed
BloombergLP::bslma::TestAllocator::numBlocksInUse() passed
BloombergLP::bslmt::ThreadUtil::exit(void passed
LINE: 2201  expName: BloombergLP::bsls::Stopwatch::accumulatedTimes(double
Error /tmp/guix-build-bloomberg-bde-3.110.0.3.drv-0/source/groups/bal/balst/balst_stacktraceutil.t.cpp(2263): (passed.d_symbolPresent = !frame.symbolName().empty())    (failed)
LINE: 2201  expName: BloombergLP::bsls::Stopwatch::accumulatedTimes(double  name: 
Error /tmp/guix-build-bloomberg-bde-3.110.0.3.drv-0/source/groups/bal/balst/balst_stacktraceutil.t.cpp(2274): (passed.d_symbolGood = 0 == bsl::strncmp(expName.c_str(), name, expName.length()))    (failed)
LINE: 2201  mangledName:    expMangled: accumulatedTimes
Error /tmp/guix-build-bloomberg-bde-3.110.0.3.drv-0/source/groups/bal/balst/balst_stacktraceutil.t.cpp(2280): (passed.d_mangledSymbolGood = npos != frame.mangledSymbolName().find("BloombergLP"))    (failed)
LINE: 2201  mangledName:    expMangled: accumulatedTimes
Error /tmp/guix-build-bloomberg-bde-3.110.0.3.drv-0/source/groups/bal/balst/balst_stacktraceutil.t.cpp(2283): (passed.d_mangledSymbolGood &= npos != frame.mangledSymbolName().find(expMangled))    (failed)
BloombergLP::bsls::Stopwatch::accumulatedTimes(double failed
BloombergLP::bsls::TimeInterval::totalNanoseconds() passed
Totals: 5 passed 7 failed.
( 0): sp(0) msg(0) sg(0) sfn(0) fp(0) l(0)   :-1
( 1): sp(0) msg(0) sg(0) sfn(0) fp(0) l(0)   :-1
( 2): sp(1) msg(1) sg(1) sfn(0) fp(0) l(0)  BloombergLP::balst::StackTraceFrame::address() const :-1
( 3): sp(0) msg(0) sg(0) sfn(0) fp(0) l(0)   :-1
( 4): sp(0) msg(0) sg(0) sfn(0) fp(0) l(0)   :-1
( 5): sp(1) msg(1) sg(1) sfn(0) fp(0) l(0)  BloombergLP::bdlma::SequentialAllocator::allocateAndExpand(unsigned long*) :-1
( 6): sp(0) msg(0) sg(0) sfn(0) fp(0) l(0)   :-1
( 7): sp(0) msg(0) sg(0) sfn(0) fp(0) l(0)   :-1
( 8): sp(1) msg(1) sg(1) sfn(0) fp(0) l(0)  BloombergLP::bslma::TestAllocator::numBlocksInUse() const :-1
( 9): sp(1) msg(1) sg(1) sfn(0) fp(0) l(0)  BloombergLP::bslmt::ThreadUtil::exit(void*) :-1
(10): sp(0) msg(0) sg(0) sfn(0) fp(0) l(0)   :-1
(11): sp(1) msg(1) sg(1) sfn(0) fp(0) l(0)  BloombergLP::bsls::TimeInterval::totalNanoseconds() const :-1
Error, non-zero test status = 28.
lalawawa commented 1 year ago

Did you follow my advice and increment 'k_IGNORE_FRAMES' in bsls_stackaddressutil.h by 1?

lalawawa commented 1 year ago

Regarding case 14, that one is just taking a lot of function ptrs and resolving them, rather the getting return addresses off the stack. On some platforms, if you take a function ptr, you don't get a ptr to the actual function, you get a ptr to a little thunk that will call or jump to the function. Maybe that's what's going on?

lalawawa commented 1 year ago

Read the comment at the start of case 14 about why we disable it on some versions of Windows. I suggest you change the #if statement to disable that test on your platform as well. It's not a real important test. Looking at the output you're posting, while you're getting a garbage frame at the top of the stack (which you can get rid of by increasing 'k_IGNORE_FRAMES', you're getting pretty usable stack traces.

balst_stacktraceutil.t.cpp is a super-thorough test of the stack trace facility, and it's thoroughly riddled with #ifdef's to accommodate all the quirks of different platforms. Since I can't build on your platform, I can't correct the #ifdef's to accommodate your platform.