Uploaded image for project: 'MariaDB ColumnStore'
  1. MariaDB ColumnStore
  2. MCOL-6511

Compile failure on aarch64-fedora-44-rpm-autobake (ambiguous simd::TypeToVecWrapperType<__int128>)

    XMLWordPrintable

Details

    • Bug
    • Status: In Review (View Workflow)
    • Blocker
    • Resolution: Unresolved
    • None
    • 23.02, 25.10
    • Build
    • None
    • 2026-8

    Description

      https://buildbot.mariadb.org/#/builders/1259/builds/227/steps/7/logs/stdio

      In file included from /home/buildbot/aarch64-fedora-44-rpm-autobake/build/padding_for_CPACK_RPM_BUILD_SOURCE_DIRS_PREFIX/storage/columnstore/columnstore/primitives/linux-port/column.cpp:41:
      /home/buildbot/aarch64-fedora-44-rpm-autobake/build/padding_for_CPACK_RPM_BUILD_SOURCE_DIRS_PREFIX/storage/columnstore/columnstore/utils/common/simd_arm.h: In instantiation of 'struct simd::IntegralToSIMD<__int128, KIND_DEFAULT, void>':
      /home/buildbot/aarch64-fedora-44-rpm-autobake/build/padding_for_CPACK_RPM_BUILD_SOURCE_DIRS_PREFIX/storage/columnstore/columnstore/primitives/linux-port/column.cpp:1695:9:   required from 'void {anonymous}::vectorizedFilteringDispatcher(NewColRequestHeader*, ColResultHeader*, const STORAGE_TYPE*, uint32_t, uint16_t*, uint16_t, primitives::ParsedColumnFilter*, bool, STORAGE_TYPE, STORAGE_TYPE, STORAGE_TYPE, STORAGE_TYPE, bool, const uint8_t*) [with STORAGE_TYPE = __int128; ENUM_KIND KIND = KIND_DEFAULT; FT = __int128; ST = std::tr1::unordered_set<__int128, primitives::pcfHasher128, primitives::pcfEqual128>; uint32_t = unsigned int; uint16_t = short unsigned int; uint8_t = unsigned char]'
       1695 |   using SimdType = typename simd::IntegralToSIMD<STORAGE_TYPE, KIND>::type;
            |         ^~~~~~~~
      /home/buildbot/aarch64-fedora-44-rpm-autobake/build/padding_for_CPACK_RPM_BUILD_SOURCE_DIRS_PREFIX/storage/columnstore/columnstore/primitives/linux-port/column.cpp:1831:53:   required from 'void {anonymous}::filterColumnData(NewColRequestHeader*, ColResultHeader*, uint16_t*, uint16_t, int*, uint32_t, boost::shared_ptr<primitives::ParsedColumnFilter>, int*) [with T = __int128; ENUM_KIND KIND = KIND_DEFAULT; uint16_t = short unsigned int; uint32_t = unsigned int]'
       1831 |       vectorizedFilteringDispatcher<T, KIND, FT, ST>(
            |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
       1832 |           in, out, srcArray, srcSize, ridArray, ridSize, parsedColumnFilter.get(), validMinMax, emptyValue,
            |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
       1833 |           nullValue, Min, Max, isNullValueMatches, reinterpret_cast<const uint8_t*>(blockAux));
            |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      /home/buildbot/aarch64-fedora-44-rpm-autobake/build/padding_for_CPACK_RPM_BUILD_SOURCE_DIRS_PREFIX/storage/columnstore/columnstore/primitives/linux-port/column.cpp:1954:36:   required from 'void primitives::PrimitiveProcessor::_scanAndFilterTypeDispatcher(NewColRequestHeader*, ColResultHeader*) [with T = __int128; typename std::enable_if<(sizeof (WT) == sizeof (__int128)), WT>::type* <anonymous> = 0]'
       1954 |   filterColumnData<T, KIND_DEFAULT>(in, out, ridArray, ridSize, block, itemsPerBlock, parsedColumnFilter,
            |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
       1955 |                                     blockAux);
            |                                     ~~~~~~~~~
      /home/buildbot/aarch64-fedora-44-rpm-autobake/build/padding_for_CPACK_RPM_BUILD_SOURCE_DIRS_PREFIX/storage/columnstore/columnstore/primitives/linux-port/column.cpp:1934:34:   required from 'void primitives::PrimitiveProcessor::scanAndFilterTypeDispatcher(NewColRequestHeader*, ColResultHeader*) [with T = __int128; typename std::enable_if<(((sizeof (T) == sizeof (signed char)) || (sizeof (T) == sizeof (short int))) || (sizeof (T) == sizeof (__int128))), T>::type* <anonymous> = 0]'
       1934 |   _scanAndFilterTypeDispatcher<T>(in, out);
            |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
      /home/buildbot/aarch64-fedora-44-rpm-autobake/build/padding_for_CPACK_RPM_BUILD_SOURCE_DIRS_PREFIX/storage/columnstore/columnstore/primitives/linux-port/column.cpp:2040:33:   required from 'void primitives::PrimitiveProcessor::columnScanAndFilter(NewColRequestHeader*, ColResultHeader*) [with T = __int128]'
       2040 |   scanAndFilterTypeDispatcher<T>(in, out);
            |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
      /home/buildbot/aarch64-fedora-44-rpm-autobake/build/padding_for_CPACK_RPM_BUILD_SOURCE_DIRS_PREFIX/storage/columnstore/columnstore/primitives/linux-port/column.cpp:2055:93:   required from here
       2055 |                                                                             ColResultHeader*);
            |                                                                                             ^
      /home/buildbot/aarch64-fedora-44-rpm-autobake/build/padding_for_CPACK_RPM_BUILD_SOURCE_DIRS_PREFIX/storage/columnstore/columnstore/utils/common/simd_arm.h:215:9: error: ambiguous template instantiation for 'struct simd::TypeToVecWrapperType<__int128, void>'
        215 |   using type = typename TypeToVecWrapperType<T>::WrapperType;
            |         ^~~~
      /home/buildbot/aarch64-fedora-44-rpm-autobake/build/padding_for_CPACK_RPM_BUILD_SOURCE_DIRS_PREFIX/storage/columnstore/columnstore/utils/common/simd_arm.h:167:8: note: candidates are: 'template<class T> struct simd::TypeToVecWrapperType<T, typename std::enable_if<std::is_same<T, __int128>::value>::type> [with T = __int128]'
        167 | struct TypeToVecWrapperType<T, typename std::enable_if<std::is_same<T, __int128>::value>::type>
            |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      /home/buildbot/aarch64-fedora-44-rpm-autobake/build/padding_for_CPACK_RPM_BUILD_SOURCE_DIRS_PREFIX/storage/columnstore/columnstore/utils/common/simd_arm.h:190:8: note:                 'template<class T> struct simd::TypeToVecWrapperType<T, typename std::enable_if<(is_signed_v<T> && (! is_floating_point_v<T>))>::type> [with T = __int128]'
        190 | struct TypeToVecWrapperType<T, typename std::enable_if<std::is_signed_v<T> && !std::is_floating_point_v<T>>::type>
            |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      /home/buildbot/aarch64-fedora-44-rpm-autobake/build/padding_for_CPACK_RPM_BUILD_SOURCE_DIRS_PREFIX/storage/columnstore/columnstore/utils/common/simd_arm.h:215:9: error: invalid use of incomplete type 'struct simd::TypeToVecWrapperType<__int128, void>'
        215 |   using type = typename TypeToVecWrapperType<T>::WrapperType;
            |         ^~~~
      /home/buildbot/aarch64-fedora-44-rpm-autobake/build/padding_for_CPACK_RPM_BUILD_SOURCE_DIRS_PREFIX/storage/columnstore/columnstore/utils/common/simd_arm.h:164:8: note: declaration of 'struct simd::TypeToVecWrapperType<__int128, void>'
        164 | struct TypeToVecWrapperType;
            |        ^~~~~~~~~~~~~~~~~~~~
      make[2]: *** [storage/columnstore/columnstore/primitives/linux-port/CMakeFiles/processor.dir/build.make:107: storage/columnstore/columnstore/primitives/linux-port/CMakeFiles/processor.dir/column.cpp.o] Error 1
      make[1]: *** [CMakeFiles/Makefile2:11542: storage/columnstore/columnstore/primitives/linux-port/CMakeFiles/processor.dir/all] Error 2
      

      Two partial specializations of TypeToVecWrapperType both match __int128 on ARM:
      simd_arm.h:167  enable_if<is_same<T,__int128>>
      simd_arm.h:190  enable_if<is_signed_v<T> && !is_floating_point_v<T>>
      

      Attachments

        Activity

          People

            stasusov Stanislav Usov
            alice Alice Sherepa
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:

              Time Tracking

                Estimated:
                Original Estimate - 1h
                1h
                Remaining:
                Remaining Estimate - 10m
                10m
                Logged:
                Time Spent - Not Specified Time Not Required
                Not Specified

                Git Integration

                  Error rendering 'com.xiplink.jira.git.jira_git_plugin:git-issue-webpanel'. Please contact your Jira administrators.