Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[macOS] gperftools 2.15: some tests fail #1477

Open
barracuda156 opened this issue Jan 9, 2024 · 8 comments
Open

[macOS] gperftools 2.15: some tests fail #1477

barracuda156 opened this issue Jan 9, 2024 · 8 comments

Comments

@barracuda156
Copy link
Contributor

I have ran tests now on 14.2.1 aarch64 with clang and on 10.6 ppc with gcc. There are a number of failures:

14.2.1/aarch64

/opt/local/bin/ctest --force-new-ctest-process 
Test project /opt/local/var/macports/build/_opt_svacchanda_SonomaPorts_devel_gperftools/gperftools/work/build
      Start  1: low_level_alloc_unittest
 1/46 Test  #1: low_level_alloc_unittest .............................   Passed    1.33 sec
      Start  2: stacktrace_unittest
 2/46 Test  #2: stacktrace_unittest ..................................   Passed    0.23 sec
      Start  3: check_address_unittest
 3/46 Test  #3: check_address_unittest ...............................   Passed    0.35 sec
      Start  4: pprof_unittest
 4/46 Test  #4: pprof_unittest .......................................   Passed    0.40 sec
      Start  5: tcmalloc_minimal_unittest
 5/46 Test  #5: tcmalloc_minimal_unittest ............................Subprocess aborted***Exception:   0.68 sec
      Start  6: tcm_min_asserts_unittest
 6/46 Test  #6: tcm_min_asserts_unittest .............................Subprocess aborted***Exception:   0.23 sec
      Start  7: tcmalloc_minimal_large_unittest
 7/46 Test  #7: tcmalloc_minimal_large_unittest ......................   Passed    0.25 sec
      Start  8: tcmalloc_minimal_large_heap_fragmentation_unittest
 8/46 Test  #8: tcmalloc_minimal_large_heap_fragmentation_unittest ...Subprocess aborted***Exception:   0.31 sec
      Start  9: addressmap_unittest
 9/46 Test  #9: addressmap_unittest ..................................   Passed    1.04 sec
      Start 10: system_alloc_unittest
10/46 Test #10: system_alloc_unittest ................................   Passed    0.23 sec
      Start 11: unique_path_unittest
11/46 Test #11: unique_path_unittest .................................   Passed    0.22 sec
      Start 12: packed_cache_test
12/46 Test #12: packed_cache_test ....................................   Passed    0.23 sec
      Start 13: frag_unittest
13/46 Test #13: frag_unittest ........................................   Passed    0.26 sec
      Start 14: markidle_unittest
14/46 Test #14: markidle_unittest ....................................   Passed    0.24 sec
      Start 15: current_allocated_bytes_test
15/46 Test #15: current_allocated_bytes_test .........................   Passed    0.23 sec
      Start 16: malloc_hook_test
16/46 Test #16: malloc_hook_test .....................................   Passed    1.25 sec
      Start 17: mmap_hook_test
17/46 Test #17: mmap_hook_test .......................................   Passed    0.22 sec
      Start 18: malloc_extension_test
18/46 Test #18: malloc_extension_test ................................   Passed    0.23 sec
      Start 19: malloc_extension_c_test
19/46 Test #19: malloc_extension_c_test ..............................   Passed    0.23 sec
      Start 20: page_heap_test
20/46 Test #20: page_heap_test .......................................   Passed    0.24 sec
      Start 21: pagemap_unittest
21/46 Test #21: pagemap_unittest .....................................   Passed    0.32 sec
      Start 22: safe_strerror_test
22/46 Test #22: safe_strerror_test ...................................   Passed    0.22 sec
      Start 23: realloc_unittest
23/46 Test #23: realloc_unittest .....................................   Passed    0.39 sec
      Start 24: stack_trace_table_test
24/46 Test #24: stack_trace_table_test ...............................   Passed    0.24 sec
      Start 25: thread_dealloc_unittest
25/46 Test #25: thread_dealloc_unittest ..............................   Passed    0.30 sec
      Start 26: tcmalloc_minimal_debug_unittest
26/46 Test #26: tcmalloc_minimal_debug_unittest ......................Subprocess aborted***Exception:   0.50 sec
      Start 27: malloc_extension_debug_test
27/46 Test #27: malloc_extension_debug_test ..........................   Passed    0.22 sec
      Start 28: realloc_debug_unittest
28/46 Test #28: realloc_debug_unittest ...............................   Passed    0.41 sec
      Start 29: debugallocation_test
29/46 Test #29: debugallocation_test .................................***Failed    0.52 sec
      Start 30: tcmalloc_unittest
30/46 Test #30: tcmalloc_unittest ....................................***Failed    0.70 sec
      Start 31: tcmalloc_large_unittest
31/46 Test #31: tcmalloc_large_unittest ..............................   Passed    0.26 sec
      Start 32: tcmalloc_large_heap_fragmentation_unittest
32/46 Test #32: tcmalloc_large_heap_fragmentation_unittest ...........Subprocess aborted***Exception:   0.28 sec
      Start 33: raw_printer_test
33/46 Test #33: raw_printer_test .....................................   Passed    0.24 sec
      Start 34: sampler_test
34/46 Test #34: sampler_test .........................................   Passed    0.25 sec
      Start 35: sampling_test.sh
35/46 Test #35: sampling_test.sh .....................................***Failed    0.47 sec
      Start 36: heap-profiler_unittest.sh
36/46 Test #36: heap-profiler_unittest.sh ............................***Failed    0.24 sec
      Start 37: simple_compat_test
37/46 Test #37: simple_compat_test ...................................   Passed    0.24 sec
      Start 38: tcmalloc_debug_unittest
38/46 Test #38: tcmalloc_debug_unittest ..............................Subprocess aborted***Exception:   0.49 sec
      Start 39: sampler_debug_test
39/46 Test #39: sampler_debug_test ...................................   Passed    0.24 sec
      Start 40: sampling_debug_test.sh
40/46 Test #40: sampling_debug_test.sh ...............................***Failed    0.11 sec
      Start 41: heap-profiler_debug_unittest.sh
41/46 Test #41: heap-profiler_debug_unittest.sh ......................***Failed    0.01 sec
      Start 42: getpc_test
42/46 Test #42: getpc_test ...........................................   Passed    0.23 sec
      Start 43: profiledata_unittest
43/46 Test #43: profiledata_unittest .................................   Passed    0.48 sec
      Start 44: profile_handler_unittest
44/46 Test #44: profile_handler_unittest .............................   Passed    8.68 sec
      Start 45: profiler_unittest.sh
45/46 Test #45: profiler_unittest.sh .................................   Passed   63.91 sec
      Start 46: tcmalloc_and_profiler_unittest
46/46 Test #46: tcmalloc_and_profiler_unittest .......................Subprocess aborted***Exception:   0.48 sec

72% tests passed, 13 tests failed out of 46

Total Test time (real) =  88.84 sec

The following tests FAILED:
	  5 - tcmalloc_minimal_unittest (Subprocess aborted)
	  6 - tcm_min_asserts_unittest (Subprocess aborted)
	  8 - tcmalloc_minimal_large_heap_fragmentation_unittest (Subprocess aborted)
	 26 - tcmalloc_minimal_debug_unittest (Subprocess aborted)
	 29 - debugallocation_test (Failed)
	 30 - tcmalloc_unittest (Failed)
	 32 - tcmalloc_large_heap_fragmentation_unittest (Subprocess aborted)
	 35 - sampling_test.sh (Failed)
	 36 - heap-profiler_unittest.sh (Failed)
	 38 - tcmalloc_debug_unittest (Subprocess aborted)
	 40 - sampling_debug_test.sh (Failed)
	 41 - heap-profiler_debug_unittest.sh (Failed)
	 46 - tcmalloc_and_profiler_unittest (Subprocess aborted)

10.6/ppc

/opt/local/bin/ctest --force-new-ctest-process 
Test project /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_gperftools/gperftools/work/build
      Start  1: low_level_alloc_unittest
 1/46 Test  #1: low_level_alloc_unittest .............................   Passed    7.99 sec
      Start  2: stacktrace_unittest
 2/46 Test  #2: stacktrace_unittest ..................................Subprocess aborted***Exception:   1.56 sec
      Start  3: check_address_unittest
 3/46 Test  #3: check_address_unittest ...............................   Passed    0.89 sec
      Start  4: pprof_unittest
 4/46 Test  #4: pprof_unittest .......................................   Passed    0.22 sec
      Start  5: tcmalloc_minimal_unittest
 5/46 Test  #5: tcmalloc_minimal_unittest ............................Subprocess aborted***Exception:   1.69 sec
      Start  6: tcm_min_asserts_unittest
 6/46 Test  #6: tcm_min_asserts_unittest .............................Subprocess aborted***Exception:   2.31 sec
      Start  7: tcmalloc_minimal_large_unittest
 7/46 Test  #7: tcmalloc_minimal_large_unittest ......................   Passed    5.26 sec
      Start  8: tcmalloc_minimal_large_heap_fragmentation_unittest
 8/46 Test  #8: tcmalloc_minimal_large_heap_fragmentation_unittest ...   Passed    1.68 sec
      Start  9: addressmap_unittest
 9/46 Test  #9: addressmap_unittest ..................................   Passed    6.92 sec
      Start 10: system_alloc_unittest
10/46 Test #10: system_alloc_unittest ................................   Passed    0.01 sec
      Start 11: unique_path_unittest
11/46 Test #11: unique_path_unittest .................................   Passed    0.01 sec
      Start 12: packed_cache_test
12/46 Test #12: packed_cache_test ....................................   Passed    0.01 sec
      Start 13: frag_unittest
13/46 Test #13: frag_unittest ........................................   Passed    0.11 sec
      Start 14: markidle_unittest
14/46 Test #14: markidle_unittest ....................................   Passed    0.03 sec
      Start 15: current_allocated_bytes_test
15/46 Test #15: current_allocated_bytes_test .........................   Passed    0.01 sec
      Start 16: malloc_hook_test
16/46 Test #16: malloc_hook_test .....................................   Passed    1.04 sec
      Start 17: mmap_hook_test
17/46 Test #17: mmap_hook_test .......................................   Passed    0.01 sec
      Start 18: malloc_extension_test
18/46 Test #18: malloc_extension_test ................................   Passed    0.01 sec
      Start 19: malloc_extension_c_test
19/46 Test #19: malloc_extension_c_test ..............................   Passed    0.01 sec
      Start 20: page_heap_test
20/46 Test #20: page_heap_test .......................................   Passed    0.01 sec
      Start 21: pagemap_unittest
21/46 Test #21: pagemap_unittest .....................................   Passed    0.50 sec
      Start 22: safe_strerror_test
22/46 Test #22: safe_strerror_test ...................................   Passed    0.01 sec
      Start 23: realloc_unittest
23/46 Test #23: realloc_unittest .....................................   Passed    1.08 sec
      Start 24: stack_trace_table_test
24/46 Test #24: stack_trace_table_test ...............................   Passed    0.01 sec
      Start 25: thread_dealloc_unittest
25/46 Test #25: thread_dealloc_unittest ..............................   Passed    0.47 sec
      Start 26: tcmalloc_minimal_debug_unittest
26/46 Test #26: tcmalloc_minimal_debug_unittest ......................Subprocess aborted***Exception:   1.78 sec
      Start 27: malloc_extension_debug_test
27/46 Test #27: malloc_extension_debug_test ..........................   Passed    0.01 sec
      Start 28: realloc_debug_unittest
28/46 Test #28: realloc_debug_unittest ...............................   Passed    1.45 sec
      Start 29: debugallocation_test
29/46 Test #29: debugallocation_test .................................***Failed    1.92 sec
      Start 30: tcmalloc_unittest
30/46 Test #30: tcmalloc_unittest ....................................***Failed    0.51 sec
      Start 31: tcmalloc_large_unittest
31/46 Test #31: tcmalloc_large_unittest ..............................   Passed    5.65 sec
      Start 32: tcmalloc_large_heap_fragmentation_unittest
32/46 Test #32: tcmalloc_large_heap_fragmentation_unittest ...........Subprocess aborted***Exception:   0.45 sec
      Start 33: raw_printer_test
33/46 Test #33: raw_printer_test .....................................   Passed    0.01 sec
      Start 34: sampler_test
34/46 Test #34: sampler_test .........................................   Passed    0.03 sec
      Start 35: sampling_test.sh
35/46 Test #35: sampling_test.sh .....................................***Failed    0.70 sec
      Start 36: heap-profiler_unittest.sh
36/46 Test #36: heap-profiler_unittest.sh ............................***Failed    0.04 sec
      Start 37: simple_compat_test
37/46 Test #37: simple_compat_test ...................................   Passed    0.01 sec
      Start 38: tcmalloc_debug_unittest
38/46 Test #38: tcmalloc_debug_unittest ..............................Subprocess aborted***Exception:   1.84 sec
      Start 39: sampler_debug_test
39/46 Test #39: sampler_debug_test ...................................   Passed    0.06 sec
      Start 40: sampling_debug_test.sh
40/46 Test #40: sampling_debug_test.sh ...............................***Failed    0.60 sec
      Start 41: heap-profiler_debug_unittest.sh
41/46 Test #41: heap-profiler_debug_unittest.sh ......................***Failed    0.03 sec
      Start 42: getpc_test
42/46 Test #42: getpc_test ...........................................   Passed    0.01 sec
      Start 43: profiledata_unittest
43/46 Test #43: profiledata_unittest .................................   Passed    0.10 sec
      Start 44: profile_handler_unittest
44/46 Test #44: profile_handler_unittest .............................   Passed    3.50 sec
      Start 45: profiler_unittest.sh
45/46 Test #45: profiler_unittest.sh .................................***Failed  397.03 sec
      Start 46: tcmalloc_and_profiler_unittest
46/46 Test #46: tcmalloc_and_profiler_unittest .......................Subprocess aborted***Exception:   1.41 sec

70% tests passed, 14 tests failed out of 46

Total Test time (real) = 449.05 sec

The following tests FAILED:
      2 - stacktrace_unittest (Subprocess aborted)
      5 - tcmalloc_minimal_unittest (Subprocess aborted)
      6 - tcm_min_asserts_unittest (Subprocess aborted)
     26 - tcmalloc_minimal_debug_unittest (Subprocess aborted)
     29 - debugallocation_test (Failed)
     30 - tcmalloc_unittest (Failed)
     32 - tcmalloc_large_heap_fragmentation_unittest (Subprocess aborted)
     35 - sampling_test.sh (Failed)
     36 - heap-profiler_unittest.sh (Failed)
     38 - tcmalloc_debug_unittest (Subprocess aborted)
     40 - sampling_debug_test.sh (Failed)
     41 - heap-profiler_debug_unittest.sh (Failed)
     45 - profiler_unittest.sh (Failed)
     46 - tcmalloc_and_profiler_unittest (Subprocess aborted)

I have also tested v. 2.10 today on 10.6.8 Rosetta and 10.6.8 x86_64, and got similar failures, though there also one test was freezing, so I could not reach to the end. So at least for the most part these failure are not new and not specific to CMake build, though it did seem to me that at least one extra test failed with CMake which passed with makefiles.

@alk Could you please take a look at these?

Logs:
gperftools_2.15_powerpc_tests.log
gperftools_2.15_aarch64_tests.log

@alk
Copy link
Contributor

alk commented Jan 9, 2024

cmake failing tests is an existing ticket. #1422

dupe ?

@barracuda156
Copy link
Contributor Author

barracuda156 commented Jan 9, 2024

@alk I can re-run from makefiles, but at least on Intel with v. 2.10 I was getting nearly identical failures. So unless makefiles tests were broken in 2.10 but fixed since then, while CMake tests we broken but not fixed, results should be similar.

I will try from makefiles and update on results.

UPD. By the way, with v. 2.10 I was getting a freeze with makefiles and CMake alike, while with v. 2.15 there is no freeze with CMake.

@barracuda156
Copy link
Contributor Author

barracuda156 commented Jan 9, 2024

This is on 14.2.1/arm64 with makefiles build of 2.15 release:

/Library/Developer/CommandLineTools/usr/bin/make  pprof_unittest
./src/pprof -test
AddressAdd 32-bit tests: 5 passes, 0 failures
AddressAdd 64-bit tests: 10 passes, 0 failures
AddressSub 32-bit tests: 5 passes, 0 failures
AddressSub 64-bit tests: 10 passes, 0 failures
AddressInc 32-bit tests: 5 passes, 0 failures
AddressInc 64-bit tests: 10 passes, 0 failures
PASS
/Library/Developer/CommandLineTools/usr/bin/make  check-TESTS
./src/pprof -test
AddressAdd 32-bit tests: 5 passes, 0 failures
AddressAdd 64-bit tests: 10 passes, 0 failures
AddressSub 32-bit tests: 5 passes, 0 failures
AddressSub 64-bit tests: 10 passes, 0 failures
AddressInc 32-bit tests: 5 passes, 0 failures
AddressInc 64-bit tests: 10 passes, 0 failures
PASS
PASS: low_level_alloc_unittest
PASS: stacktrace_unittest
PASS: check_address_unittest
PASS: tcmalloc_minimal_unittest
PASS: tcm_min_asserts_unittest
PASS: tcmalloc_minimal_large_unittest
PASS: tcmalloc_minimal_large_heap_fragmentation_unittest
PASS: addressmap_unittest
PASS: system_alloc_unittest
PASS: unique_path_unittest
PASS: packed_cache_test
PASS: frag_unittest
PASS: markidle_unittest
PASS: current_allocated_bytes_test
PASS: malloc_hook_test
PASS: mmap_hook_test
PASS: malloc_extension_test
PASS: malloc_extension_c_test
PASS: page_heap_test
PASS: pagemap_unittest
PASS: safe_strerror_test
PASS: realloc_unittest
PASS: stack_trace_table_test
PASS: thread_dealloc_unittest
PASS: tcmalloc_minimal_debug_unittest
PASS: malloc_extension_debug_test
PASS: realloc_debug_unittest
rm -f debugallocation_test.sh
cp -p ./src/tests/debugallocation_test.sh debugallocation_test.sh
PASS: debugallocation_test.sh
rm -f tcmalloc_unittest.sh
cp -p ./src/tests/tcmalloc_unittest.sh tcmalloc_unittest.sh
PASS: tcmalloc_unittest.sh
PASS: tcm_asserts_unittest
PASS: tcmalloc_large_unittest
./test-driver: line 112: 48866 Abort trap: 6           "$@" >> "$log_file" 2>&1
FAIL: tcmalloc_large_heap_fragmentation_unittest
PASS: raw_printer_test
PASS: sampler_test
rm -f sampling_test.sh
cp -p ./src/tests/sampling_test.sh sampling_test.sh
PASS: sampling_test.sh
rm -f heap-profiler_unittest.sh
cp -p ./src/tests/heap-profiler_unittest.sh heap-profiler_unittest.sh
FAIL: heap-profiler_unittest.sh
PASS: simple_compat_test
PASS: tcmalloc_debug_unittest
PASS: sampler_debug_test
PASS: sampling_debug_test.sh
rm -f heap-profiler_debug_unittest.sh
cp -p ./src/tests/heap-profiler_unittest.sh heap-profiler_debug_unittest.sh
FAIL: heap-profiler_debug_unittest.sh
PASS: getpc_test
PASS: profiledata_unittest
PASS: profile_handler_unittest
rm -f profiler_unittest.sh
cp -p ./src/tests/profiler_unittest.sh profiler_unittest.sh
PASS: profiler_unittest.sh
PASS: tcmalloc_and_profiler_unittest
============================================================================
Testsuite summary for gperftools 2.15
============================================================================
# TOTAL: 46
# PASS:  43
# SKIP:  0
# XFAIL: 0
# FAIL:  3
# XPASS: 0
# ERROR: 0

test-suite_Sonoma_aarch64.log

I will try on PowerPC, and also re-run with CMake on Sonoma, since turned out I used a slightly earlier commit here, not the actual release.

@barracuda156
Copy link
Contributor Author

14.2.1/arm64, CMake build of 2.15 release:

Running tests...
/opt/local/bin/ctest --force-new-ctest-process 
Test project /opt/local/var/macports/build/_opt_svacchanda_SonomaPorts_devel_gperftools/gperftools/work/build
      Start  1: low_level_alloc_unittest
 1/46 Test  #1: low_level_alloc_unittest .............................   Passed    1.32 sec
      Start  2: stacktrace_unittest
 2/46 Test  #2: stacktrace_unittest ..................................   Passed    0.26 sec
      Start  3: check_address_unittest
 3/46 Test  #3: check_address_unittest ...............................   Passed    0.38 sec
      Start  4: pprof_unittest
 4/46 Test  #4: pprof_unittest .......................................   Passed    0.32 sec
      Start  5: tcmalloc_minimal_unittest
 5/46 Test  #5: tcmalloc_minimal_unittest ............................Subprocess aborted***Exception:   0.61 sec
      Start  6: tcm_min_asserts_unittest
 6/46 Test  #6: tcm_min_asserts_unittest .............................Subprocess aborted***Exception:   0.33 sec
      Start  7: tcmalloc_minimal_large_unittest
 7/46 Test  #7: tcmalloc_minimal_large_unittest ......................   Passed    0.28 sec
      Start  8: tcmalloc_minimal_large_heap_fragmentation_unittest
 8/46 Test  #8: tcmalloc_minimal_large_heap_fragmentation_unittest ...   Passed    0.44 sec
      Start  9: addressmap_unittest
 9/46 Test  #9: addressmap_unittest ..................................   Passed    1.06 sec
      Start 10: system_alloc_unittest
10/46 Test #10: system_alloc_unittest ................................   Passed    0.25 sec
      Start 11: unique_path_unittest
11/46 Test #11: unique_path_unittest .................................   Passed    0.22 sec
      Start 12: packed_cache_test
12/46 Test #12: packed_cache_test ....................................   Passed    0.22 sec
      Start 13: frag_unittest
13/46 Test #13: frag_unittest ........................................   Passed    0.24 sec
      Start 14: markidle_unittest
14/46 Test #14: markidle_unittest ....................................   Passed    0.23 sec
      Start 15: current_allocated_bytes_test
15/46 Test #15: current_allocated_bytes_test .........................   Passed    0.22 sec
      Start 16: malloc_hook_test
16/46 Test #16: malloc_hook_test .....................................   Passed    1.24 sec
      Start 17: mmap_hook_test
17/46 Test #17: mmap_hook_test .......................................   Passed    0.22 sec
      Start 18: malloc_extension_test
18/46 Test #18: malloc_extension_test ................................   Passed    0.22 sec
      Start 19: malloc_extension_c_test
19/46 Test #19: malloc_extension_c_test ..............................   Passed    0.22 sec
      Start 20: page_heap_test
20/46 Test #20: page_heap_test .......................................   Passed    0.23 sec
      Start 21: pagemap_unittest
21/46 Test #21: pagemap_unittest .....................................   Passed    0.31 sec
      Start 22: safe_strerror_test
22/46 Test #22: safe_strerror_test ...................................   Passed    0.22 sec
      Start 23: realloc_unittest
23/46 Test #23: realloc_unittest .....................................   Passed    0.36 sec
      Start 24: stack_trace_table_test
24/46 Test #24: stack_trace_table_test ...............................   Passed    0.22 sec
      Start 25: thread_dealloc_unittest
25/46 Test #25: thread_dealloc_unittest ..............................   Passed    0.30 sec
      Start 26: tcmalloc_minimal_debug_unittest
26/46 Test #26: tcmalloc_minimal_debug_unittest ......................Subprocess aborted***Exception:   0.56 sec
      Start 27: malloc_extension_debug_test
27/46 Test #27: malloc_extension_debug_test ..........................   Passed    0.21 sec
      Start 28: realloc_debug_unittest
28/46 Test #28: realloc_debug_unittest ...............................   Passed    0.41 sec
      Start 29: debugallocation_test
29/46 Test #29: debugallocation_test .................................***Failed    0.53 sec
      Start 30: tcmalloc_unittest
30/46 Test #30: tcmalloc_unittest ....................................***Failed    0.69 sec
      Start 31: tcmalloc_large_unittest
31/46 Test #31: tcmalloc_large_unittest ..............................   Passed    0.28 sec
      Start 32: tcmalloc_large_heap_fragmentation_unittest
32/46 Test #32: tcmalloc_large_heap_fragmentation_unittest ...........Subprocess aborted***Exception:   0.23 sec
      Start 33: raw_printer_test
33/46 Test #33: raw_printer_test .....................................   Passed    0.23 sec
      Start 34: sampler_test
34/46 Test #34: sampler_test .........................................   Passed    0.23 sec
      Start 35: sampling_test.sh
35/46 Test #35: sampling_test.sh .....................................***Failed    1.38 sec
      Start 36: heap-profiler_unittest.sh
36/46 Test #36: heap-profiler_unittest.sh ............................***Failed    0.25 sec
      Start 37: simple_compat_test
37/46 Test #37: simple_compat_test ...................................   Passed    0.23 sec
      Start 38: tcmalloc_debug_unittest
38/46 Test #38: tcmalloc_debug_unittest ..............................Subprocess aborted***Exception:   0.56 sec
      Start 39: sampler_debug_test
39/46 Test #39: sampler_debug_test ...................................   Passed    0.22 sec
      Start 40: sampling_debug_test.sh
40/46 Test #40: sampling_debug_test.sh ...............................***Failed    0.12 sec
      Start 41: heap-profiler_debug_unittest.sh
41/46 Test #41: heap-profiler_debug_unittest.sh ......................***Failed    0.01 sec
      Start 42: getpc_test
42/46 Test #42: getpc_test ...........................................   Passed    0.23 sec
      Start 43: profiledata_unittest
43/46 Test #43: profiledata_unittest .................................   Passed    0.46 sec
      Start 44: profile_handler_unittest
44/46 Test #44: profile_handler_unittest .............................   Passed    9.14 sec
      Start 45: profiler_unittest.sh
45/46 Test #45: profiler_unittest.sh .................................   Passed   62.25 sec
      Start 46: tcmalloc_and_profiler_unittest
46/46 Test #46: tcmalloc_and_profiler_unittest .......................Subprocess aborted***Exception:   0.55 sec

74% tests passed, 12 tests failed out of 46

Total Test time (real) =  88.73 sec

The following tests FAILED:
	  5 - tcmalloc_minimal_unittest (Subprocess aborted)
	  6 - tcm_min_asserts_unittest (Subprocess aborted)
	 26 - tcmalloc_minimal_debug_unittest (Subprocess aborted)
	 29 - debugallocation_test (Failed)
	 30 - tcmalloc_unittest (Failed)
	 32 - tcmalloc_large_heap_fragmentation_unittest (Subprocess aborted)
	 35 - sampling_test.sh (Failed)
	 36 - heap-profiler_unittest.sh (Failed)
	 38 - tcmalloc_debug_unittest (Subprocess aborted)
	 40 - sampling_debug_test.sh (Failed)
	 41 - heap-profiler_debug_unittest.sh (Failed)
	 46 - tcmalloc_and_profiler_unittest (Subprocess aborted)

So yes, while results for 2.15 release are marginally better over the original results from commit 8987d08 (I did not notice it was set to use a commit), CMake build has substantially more broken tests.

@barracuda156
Copy link
Contributor Author

barracuda156 commented Jan 9, 2024

10.6 powerpc (32-bit), makefiles build of 2.15 release (CMake results above are also for 2.15 release):

/usr/bin/make  pprof_unittest
./src/pprof -test
AddressAdd 32-bit tests: 5 passes, 0 failures
AddressAdd 64-bit tests: 10 passes, 0 failures
AddressSub 32-bit tests: 5 passes, 0 failures
AddressSub 64-bit tests: 10 passes, 0 failures
AddressInc 32-bit tests: 5 passes, 0 failures
AddressInc 64-bit tests: 10 passes, 0 failures
PASS
/usr/bin/make  check-TESTS
./src/pprof -test
AddressAdd 32-bit tests: 5 passes, 0 failures
AddressAdd 64-bit tests: 10 passes, 0 failures
AddressSub 32-bit tests: 5 passes, 0 failures
AddressSub 64-bit tests: 10 passes, 0 failures
AddressInc 32-bit tests: 5 passes, 0 failures
AddressInc 64-bit tests: 10 passes, 0 failures
PASS
PASS: low_level_alloc_unittest
./test-driver: line 112: 75419 Abort trap              "$@" >> "$log_file" 2>&1
FAIL: stacktrace_unittest
PASS: check_address_unittest
PASS: tcmalloc_minimal_unittest
PASS: tcm_min_asserts_unittest
PASS: tcmalloc_minimal_large_unittest
PASS: tcmalloc_minimal_large_heap_fragmentation_unittest
PASS: addressmap_unittest
PASS: system_alloc_unittest
PASS: unique_path_unittest
PASS: packed_cache_test
PASS: frag_unittest
PASS: markidle_unittest
PASS: current_allocated_bytes_test
PASS: malloc_hook_test
PASS: mmap_hook_test
PASS: malloc_extension_test
PASS: malloc_extension_c_test
PASS: page_heap_test
PASS: pagemap_unittest
PASS: safe_strerror_test
PASS: realloc_unittest
PASS: stack_trace_table_test
PASS: thread_dealloc_unittest
PASS: tcmalloc_minimal_debug_unittest
PASS: malloc_extension_debug_test
PASS: realloc_debug_unittest
rm -f debugallocation_test.sh
cp -p ./src/tests/debugallocation_test.sh debugallocation_test.sh
FAIL: debugallocation_test.sh
rm -f tcmalloc_unittest.sh
cp -p ./src/tests/tcmalloc_unittest.sh tcmalloc_unittest.sh
PASS: tcmalloc_unittest.sh
PASS: tcm_asserts_unittest
PASS: tcmalloc_large_unittest
PASS: tcmalloc_large_heap_fragmentation_unittest
PASS: raw_printer_test
PASS: sampler_test
rm -f sampling_test.sh
cp -p ./src/tests/sampling_test.sh sampling_test.sh
FAIL: sampling_test.sh
rm -f heap-profiler_unittest.sh
cp -p ./src/tests/heap-profiler_unittest.sh heap-profiler_unittest.sh
FAIL: heap-profiler_unittest.sh
PASS: simple_compat_test
PASS: tcmalloc_debug_unittest
PASS: sampler_debug_test
FAIL: sampling_debug_test.sh
rm -f heap-profiler_debug_unittest.sh
cp -p ./src/tests/heap-profiler_unittest.sh heap-profiler_debug_unittest.sh
FAIL: heap-profiler_debug_unittest.sh
PASS: getpc_test
PASS: profiledata_unittest
PASS: profile_handler_unittest
rm -f profiler_unittest.sh
cp -p ./src/tests/profiler_unittest.sh profiler_unittest.sh
FAIL: profiler_unittest.sh
PASS: tcmalloc_and_profiler_unittest
============================================================================
Testsuite summary for gperftools 2.15
============================================================================
# TOTAL: 46
# PASS:  39
# SKIP:  0
# XFAIL: 0
# FAIL:  7
# XPASS: 0
# ERROR: 0

Worse than on Sonoma, much better than with CMake.

test-suite_SnowLeo_ppc.log

@alk If I could provide any additional info which will help, please tell me.

@alk
Copy link
Contributor

alk commented Jan 9, 2024

Yes, we have pprof issue(s) on osex. #1292 (comment)

@barracuda156
Copy link
Contributor Author

@alk So we got the following failures on ppc with makefiles build:

stacktrace_unittest
debugallocation_test.sh
sampling_test.sh
heap-profiler_unittest.sh
sampling_debug_test.sh
heap-profiler_debug_unittest.sh
profiler_unittest.sh

vs arm64:

tcmalloc_large_heap_fragmentation_unittest
heap-profiler_unittest.sh
heap-profiler_debug_unittest.sh

Is it possible to say based on logs what may cause a few extra tests fail on ppc? (For w/e reason tcmalloc_large_heap_fragmentation_unittest passes there though but fails on Sonoma.)

@alk
Copy link
Contributor

alk commented Jan 10, 2024

So looked at failures log (from autotools build) comment #1477 (comment) above.

First is stacktrace issue. I am not sure we actually want to do ppc frame-pointer based stacktrace capturing methods on ppc/osx. But it is up to you what you want. (OSX has it's own backtrace implementation which seems to work)

Second is lack of MallocHook_GetCallerStackTrace support on this platform. This has become even more broken on OSX recently. And I am actively attempting to replace it (but not 100% sure yet if this is direction we want). It is a bigger change too.

And last is pprof issue. You're welcome to help with first and third sub-issues.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants