Bug #113189 ColumnStatisticsTest.StoreAndRestoreAttributesEquiHeight unit test fails
Submitted: 22 Nov 2023 20:05 Modified: 6 May 15:32
Reporter: Laurynas Biveinis (OCA) Email Updates:
Status: Verified Impact on me:
None 
Category:Tests Severity:S3 (Non-critical)
Version:8.0.37, 8.4.0 OS:Any
Assigned to: CPU Architecture:Any

[22 Nov 2023 20:05] Laurynas Biveinis
Description:
MySQL built under macOS, Homebrew LLVM 14:
$ runtime_output_directory/merge_large_tests-t
...
[ RUN      ] ColumnStatisticsTest.StoreAndRestoreAttributesEquiHeight
Assertion failed: (nullptr != dynamic_cast<Target>(arg)), function down_cast, file template_utils.h, line 100.
2023-11-22T20:03:23Z UTC - mysqld got signal 6 ;
Most likely, you have hit a bug, but this error can also be caused by malfunctioning hardware.
Thread pointer: 0x13d00b200
Attempting backtrace. You can use the following information to find out
where mysqld died. If you see no messages after this, something went
terribly wrong...
stack_bottom = 16b1f6a10 thread_stack 0x100000
0   libserver_unittest_library.dylib    0x0000000115bd5b04 my_print_stacktrace(unsigned char const*, unsigned long) + 72
1   libserver_unittest_library.dylib    0x00000001141a4310 print_fatal_signal(int) + 764
2   libserver_unittest_library.dylib    0x00000001141a4540 handle_fatal_signal + 120
3   libsystem_platform.dylib            0x0000000187a63a24 _sigtramp + 56
4   libsystem_pthread.dylib             0x0000000187a34cc0 pthread_kill + 288
5   libsystem_c.dylib                   0x0000000187944a40 abort + 180
6   libsystem_c.dylib                   0x0000000187943d30 err + 0
7   libserver_unittest_library.dylib    0x00000001141490e8 Json_double const* down_cast<Json_double const*, Json_dom const>(Json_dom const*) + 124
8   libserver_unittest_library.dylib    0x00000001141446f8 json_binary::serialize_json_value(THD const*, Json_dom const*, unsigned long, String*, unsigned long, bool) + 1204
9   libserver_unittest_library.dylib    0x00000001141487fc json_binary::serialize_json_array(THD const*, Json_array const*, String*, bool, unsigned long) + 688
10  libserver_unittest_library.dylib    0x0000000114144338 json_binary::serialize_json_value(THD const*, Json_dom const*, unsigned long, String*, unsigned long, bool) + 244
11  libserver_unittest_library.dylib    0x00000001141487fc json_binary::serialize_json_array(THD const*, Json_array const*, String*, bool, unsigned long) + 688
12  libserver_unittest_library.dylib    0x0000000114144338 json_binary::serialize_json_value(THD const*, Json_dom const*, unsigned long, String*, unsigned long, bool) + 244
13  libserver_unittest_library.dylib    0x0000000114148c90 json_binary::serialize_json_object(THD const*, Json_object const*, String*, bool, unsigned long) + 948
14  libserver_unittest_library.dylib    0x00000001141443f0 json_binary::serialize_json_value(THD const*, Json_dom const*, unsigned long, String*, unsigned long, bool) + 428
15  libserver_unittest_library.dylib    0x0000000114144218 json_binary::serialize(THD const*, Json_dom const*, String*) + 124
16  libserver_unittest_library.dylib    0x0000000114150398 Json_wrapper::to_binary(THD const*, String*) const + 112
17  libserver_unittest_library.dylib    0x0000000113735680 Field_json::store_json(Json_wrapper const*) + 312
18  libserver_unittest_library.dylib    0x0000000114d3d4e8 dd::Raw_record::store_json(int, Json_wrapper const&) + 56
19  libserver_unittest_library.dylib    0x0000000114dbc6a8 dd::Column_statistics_impl::store_attributes(dd::Raw_record*) + 472
20  merge_large_tests-t                 0x0000000104db9ba0 void dd_column_statistics_unittest::equi_height_test<long long>(histograms::Value_map_type) + 5400
21  merge_large_tests-t                 0x0000000104db85d8 dd_column_statistics_unittest::ColumnStatisticsTest_StoreAndRestoreAttributesEquiHeight_Test::TestBody() + 48
22  merge_large_tests-t                 0x00000001055d0a10 void testing::internal::HandleSehExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) + 124
23  merge_large_tests-t                 0x000000010559f170 void testing::internal::HandleExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) + 96
24  merge_large_tests-t                 0x000000010559f0c0 testing::Test::Run() + 192
25  merge_large_tests-t                 0x000000010559ffd0 testing::TestInfo::Run() + 304
26  merge_large_tests-t                 0x00000001055a1010 testing::TestSuite::Run() + 324
27  merge_large_tests-t                 0x00000001055ae6a0 testing::internal::UnitTestImpl::RunAllTests() + 1032
28  merge_large_tests-t                 0x00000001055d4a24 bool testing::internal::HandleSehExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*) + 124
29  merge_large_tests-t                 0x00000001055ae070 bool testing::internal::HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*) + 96
30  merge_large_tests-t                 0x00000001055adf60 testing::UnitTest::Run() + 216
31  merge_large_tests-t                 0x000000010556f308 RUN_ALL_TESTS() + 16
32  merge_large_tests-t                 0x000000010556f2e0 main + 96
33  dyld                                0x00000001876b90e0 start + 2360

How to repeat:
See above
[23 Nov 2023 4:47] MySQL Verification Team
Hello Laurynas,

Thank you for the report and feedback!

regards,
Umesh
[30 Nov 2023 20:09] Laurynas Biveinis
Same on 8.2.0
[18 Jan 14:20] Laurynas Biveinis
Same on 8.0.36
[24 Jan 9:47] Laurynas Biveinis
Same on 8.3.0.
[6 May 5:08] Laurynas Biveinis
Same on 8.0.37
[6 May 15:32] Laurynas Biveinis
Same on 8.4.0