DARMA-tasking / vt

DARMA/vt => Virtual Transport
Other
35 stars 9 forks source link

Build on develop or 1.0.0 fails with Intel 19 compilers #728

Closed lifflander closed 3 years ago

lifflander commented 4 years ago

Describe the bug

[  0%] Building CXX object src/CMakeFiles/vt.dir/vt/configs/error/pretty_print_message.cc.o
/lscratch1/jliffla/vt-clean/vt-auto-build/vt-release-test-message/vt/vt/lib/fmt/fmt/format.h(1143): error #137: expression must be a modifiable lvalue
    if (next_arg_id_ >= 0) return internal::to_unsigned(next_arg_id_++);
                                                        ^
          detected during:
            instantiation of "unsigned int fmt::v5::basic_parse_context<Char, ErrorHandler>::next_arg_id() const [with Char=char, ErrorHandler=fmt::v5::internal::error_handler]" at line 3261
            instantiation of "void fmt::v5::format_handler<ArgFormatter, Char, Context>::on_arg_id() [with ArgFormatter=fmt::v5::arg_formatter<fmt::v5::back_insert_range<fmt::v5::internal::buffer<char>>>, Char=char, Context=fmt::v5::format_context]" at line 2177
            instantiation of "void fmt::v5::internal::parse_format_string<IS_CONSTEXPR,Char,Handler>(fmt::v5::basic_string_view<Char>, Handler &&) [with IS_CONSTEXPR=false, Char=char, Handler=fmt::v5::format_handler<fmt::v5::arg_formatter<fmt::v5::back_insert_range<fmt::v5::internal::buffer<char>>>, char, fmt::v5::format_context> &]" at line 3306
            instantiation of "Context::iterator fmt::v5::vformat_to<ArgFormatter,Char,Context>(ArgFormatter::range, fmt::v5::basic_string_view<Char>, fmt::v5::basic_format_args<Context>, fmt::v5::internal::locale_ref) [with ArgFormatter=fmt::v5::arg_formatter<fmt::v5::back_insert_range<fmt::v5::internal::buffer<char>>>, Char=char, Context=fmt::v5::format_context]" at line 3404
            instantiation of "fmt::v5::buffer_context<Char>::type::iterator fmt::v5::internal::vformat_to(fmt::v5::internal::buffer<Char> &, fmt::v5::basic_string_view<Char>, fmt::v5::basic_format_args<fmt::v5::buffer_context<Char>::type>) [with Char=char]" at line 928 of "/lscratch1/jliffla/vt-clean/vt-auto-build/vt-release-test-message/vt/vt/lib/fmt/fmt/format-inl.h"

/lscratch1/jliffla/vt-clean/vt-auto-build/vt-release-test-message/vt/vt/lib/fmt/fmt/core.h(572): error: the object has cv-qualifiers that are not compatible with the member function "fmt::v5::internal::error_handler::on_error"
            object type is: const fmt::v5::internal::error_handler
      ErrorHandler::on_error(message);
      ^
          detected during:
            instantiation of "void fmt::v5::basic_parse_context<Char, ErrorHandler>::on_error(const char *) const [with Char=char, ErrorHandler=fmt::v5::internal::error_handler]" at line 1144 of "/lscratch1/jliffla/vt-clean/vt-auto-build/vt-release-test-message/vt/vt/lib/fmt/fmt/format.h"
            instantiation of "unsigned int fmt::v5::basic_parse_context<Char, ErrorHandler>::next_arg_id() const [with Char=char, ErrorHandler=fmt::v5::internal::error_handler]" at line 3261 of "/lscratch1/jliffla/vt-clean/vt-auto-build/vt-release-test-message/vt/vt/lib/fmt/fmt/format.h"
            instantiation of "void fmt::v5::format_handler<ArgFormatter, Char, Context>::on_arg_id() [with ArgFormatter=fmt::v5::arg_formatter<fmt::v5::back_insert_range<fmt::v5::internal::buffer<char>>>, Char=char, Context=fmt::v5::format_context]" at line 2177 of "/lscratch1/jliffla/vt-clean/vt-auto-build/vt-release-test-message/vt/vt/lib/fmt/fmt/format.h"
            instantiation of "void fmt::v5::internal::parse_format_string<IS_CONSTEXPR,Char,Handler>(fmt::v5::basic_string_view<Char>, Handler &&) [with IS_CONSTEXPR=false, Char=char, Handler=fmt::v5::format_handler<fmt::v5::arg_formatter<fmt::v5::back_insert_range<fmt::v5::internal::buffer<char>>>, char, fmt::v5::format_context> &]" at line 3306 of "/lscratch1/jliffla/vt-clean/vt-auto-build/vt-release-test-message/vt/vt/lib/fmt/fmt/format.h"
            instantiation of "Context::iterator fmt::v5::vformat_to<ArgFormatter,Char,Context>(ArgFormatter::range, fmt::v5::basic_string_view<Char>, fmt::v5::basic_format_args<Context>, fmt::v5::internal::locale_ref) [with ArgFormatter=fmt::v5::arg_formatter<fmt::v5::back_insert_range<fmt::v5::internal::buffer<char>>>, Char=char, Context=fmt::v5::format_context]" at line 3404 of "/lscratch1/jliffla/vt-clean/vt-auto-build/vt-release-test-message/vt/vt/lib/fmt/fmt/format.h"
            instantiation of "fmt::v5::buffer_context<Char>::type::iterator fmt::v5::internal::vformat_to(fmt::v5::internal::buffer<Char> &, fmt::v5::basic_string_view<Char>, fmt::v5::basic_format_args<fmt::v5::buffer_context<Char>::type>) [with Char=char]" at line 928 of "/lscratch1/jliffla/vt-clean/vt-auto-build/vt-release-test-message/vt/vt/lib/fmt/fmt/format-inl.h"

/lscratch1/jliffla/vt-clean/vt-auto-build/vt-release-test-message/vt/vt/lib/fmt/fmt/core.h(433): error #137: expression must be a modifiable lvalue
      data_ += n;
      ^
          detected during:
            instantiation of "void fmt::v5::basic_string_view<Char>::remove_prefix(size_t={unsigned long}) const [with Char=char]" at line 554
            instantiation of "void fmt::v5::basic_parse_context<Char, ErrorHandler>::advance_to(fmt::v5::basic_parse_context<Char, ErrorHandler>::iterator) const [with Char=char, ErrorHandler=fmt::v5::internal::error_handler]" at line 3269 of "/lscratch1/jliffla/vt-clean/vt-auto-build/vt-release-test-message/vt/vt/lib/fmt/fmt/format.h"
            instantiation of "void fmt::v5::format_handler<ArgFormatter, Char, Context>::on_replacement_field(const Char *) [with ArgFormatter=fmt::v5::arg_formatter<fmt::v5::back_insert_range<fmt::v5::internal::buffer<char>>>, Char=char, Context=fmt::v5::format_context]" at line 2178 of "/lscratch1/jliffla/vt-clean/vt-auto-build/vt-release-test-message/vt/vt/lib/fmt/fmt/format.h"
            instantiation of "void fmt::v5::internal::parse_format_string<IS_CONSTEXPR,Char,Handler>(fmt::v5::basic_string_view<Char>, Handler &&) [with IS_CONSTEXPR=false, Char=char, Handler=fmt::v5::format_handler<fmt::v5::arg_formatter<fmt::v5::back_insert_range<fmt::v5::internal::buffer<char>>>, char, fmt::v5::format_context> &]" at line 3306 of "/lscratch1/jliffla/vt-clean/vt-auto-build/vt-release-test-message/vt/vt/lib/fmt/fmt/format.h"
            instantiation of "Context::iterator fmt::v5::vformat_to<ArgFormatter,Char,Context>(ArgFormatter::range, fmt::v5::basic_string_view<Char>, fmt::v5::basic_format_args<Context>, fmt::v5::internal::locale_ref) [with ArgFormatter=fmt::v5::arg_formatter<fmt::v5::back_insert_range<fmt::v5::internal::buffer<char>>>, Char=char, Context=fmt::v5::format_context]" at line 3404 of "/lscratch1/jliffla/vt-clean/vt-auto-build/vt-release-test-message/vt/vt/lib/fmt/fmt/format.h"
            instantiation of "fmt::v5::buffer_context<Char>::type::iterator fmt::v5::internal::vformat_to(fmt::v5::internal::buffer<Char> &, fmt::v5::basic_string_view<Char>, fmt::v5::basic_format_args<fmt::v5::buffer_context<Char>::type>) [with Char=char]" at line 928 of "/lscratch1/jliffla/vt-clean/vt-auto-build/vt-release-test-message/vt/vt/lib/fmt/fmt/format-inl.h"

/lscratch1/jliffla/vt-clean/vt-auto-build/vt-release-test-message/vt/vt/lib/fmt/fmt/core.h(434): error #137: expression must be a modifiable lvalue
      size_ -= n;
      ^
          detected during:
            instantiation of "void fmt::v5::basic_string_view<Char>::remove_prefix(size_t={unsigned long}) const [with Char=char]" at line 554
            instantiation of "void fmt::v5::basic_parse_context<Char, ErrorHandler>::advance_to(fmt::v5::basic_parse_context<Char, ErrorHandler>::iterator) const [with Char=char, ErrorHandler=fmt::v5::internal::error_handler]" at line 3269 of "/lscratch1/jliffla/vt-clean/vt-auto-build/vt-release-test-message/vt/vt/lib/fmt/fmt/format.h"
            instantiation of "void fmt::v5::format_handler<ArgFormatter, Char, Context>::on_replacement_field(const Char *) [with ArgFormatter=fmt::v5::arg_formatter<fmt::v5::back_insert_range<fmt::v5::internal::buffer<char>>>, Char=char, Context=fmt::v5::format_context]" at line 2178 of "/lscratch1/jliffla/vt-clean/vt-auto-build/vt-release-test-message/vt/vt/lib/fmt/fmt/format.h"
            instantiation of "void fmt::v5::internal::parse_format_string<IS_CONSTEXPR,Char,Handler>(fmt::v5::basic_string_view<Char>, Handler &&) [with IS_CONSTEXPR=false, Char=char, Handler=fmt::v5::format_handler<fmt::v5::arg_formatter<fmt::v5::back_insert_range<fmt::v5::internal::buffer<char>>>, char, fmt::v5::format_context> &]" at line 3306 of "/lscratch1/jliffla/vt-clean/vt-auto-build/vt-release-test-message/vt/vt/lib/fmt/fmt/format.h"
            instantiation of "Context::iterator fmt::v5::vformat_to<ArgFormatter,Char,Context>(ArgFormatter::range, fmt::v5::basic_string_view<Char>, fmt::v5::basic_format_args<Context>, fmt::v5::internal::locale_ref) [with ArgFormatter=fmt::v5::arg_formatter<fmt::v5::back_insert_range<fmt::v5::internal::buffer<char>>>, Char=char, Context=fmt::v5::format_context]" at line 3404 of "/lscratch1/jliffla/vt-clean/vt-auto-build/vt-release-test-message/vt/vt/lib/fmt/fmt/format.h"
            instantiation of "fmt::v5::buffer_context<Char>::type::iterator fmt::v5::internal::vformat_to(fmt::v5::internal::buffer<Char> &, fmt::v5::basic_string_view<Char>, fmt::v5::basic_format_args<fmt::v5::buffer_context<Char>::type>) [with Char=char]" at line 928 of "/lscratch1/jliffla/vt-clean/vt-auto-build/vt-release-test-message/vt/vt/lib/fmt/fmt/format-inl.h"

/lscratch1/jliffla/vt-clean/vt-auto-build/vt-release-test-message/vt/vt/lib/fmt/fmt/core.h(565): error #137: expression must be a modifiable lvalue
      next_arg_id_ = -1;
      ^
          detected during:
            instantiation of "bool fmt::v5::basic_parse_context<Char, ErrorHandler>::check_arg_id(unsigned int) const [with Char=char, ErrorHandler=fmt::v5::internal::error_handler]" at line 3263 of "/lscratch1/jliffla/vt-clean/vt-auto-build/vt-release-test-message/vt/vt/lib/fmt/fmt/format.h"
            instantiation of "void fmt::v5::format_handler<ArgFormatter, Char, Context>::on_arg_id(unsigned int) [with ArgFormatter=fmt::v5::arg_formatter<fmt::v5::back_insert_range<fmt::v5::internal::buffer<char>>>, Char=char, Context=fmt::v5::format_context]" at line 2136 of "/lscratch1/jliffla/vt-clean/vt-auto-build/vt-release-test-message/vt/vt/lib/fmt/fmt/format.h"
            instantiation of "void fmt::v5::internal::id_adapter<Handler, Char>::operator()(unsigned int) const [with Handler=fmt::v5::format_handler<fmt::v5::arg_formatter<fmt::v5::back_insert_range<fmt::v5::internal::buffer<char>>>, char, fmt::v5::format_context> &, Char=char]" at line 1939 of "/lscratch1/jliffla/vt-clean/vt-auto-build/vt-release-test-message/vt/vt/lib/fmt/fmt/format.h"
            instantiation of "const Char *fmt::v5::internal::parse_arg_id(const Char *, const Char *, IDHandler &&) [with Char=char, IDHandler=fmt::v5::internal::id_adapter<fmt::v5::format_handler<fmt::v5::arg_formatter<fmt::v5::back_insert_range<fmt::v5::internal::buffer<char>>>, char, fmt::v5::format_context> &, char>]" at line 2182 of "/lscratch1/jliffla/vt-clean/vt-auto-build/vt-release-test-message/vt/vt/lib/fmt/fmt/format.h"
            instantiation of "void fmt::v5::internal::parse_format_string<IS_CONSTEXPR,Char,Handler>(fmt::v5::basic_string_view<Char>, Handler &&) [with IS_CONSTEXPR=false, Char=char, Handler=fmt::v5::format_handler<fmt::v5::arg_formatter<fmt::v5::back_insert_range<fmt::v5::internal::buffer<char>>>, char, fmt::v5::format_context> &]" at line 3306 of "/lscratch1/jliffla/vt-clean/vt-auto-build/vt-release-test-message/vt/vt/lib/fmt/fmt/format.h"
            instantiation of "Context::iterator fmt::v5::vformat_to<ArgFormatter,Char,Context>(ArgFormatter::range, fmt::v5::basic_string_view<Char>, fmt::v5::basic_format_args<Context>, fmt::v5::internal::locale_ref) [with ArgFormatter=fmt::v5::arg_formatter<fmt::v5::back_insert_range<fmt::v5::internal::buffer<char>>>, Char=char, Context=fmt::v5::format_context]" at line 3404 of "/lscratch1/jliffla/vt-clean/vt-auto-build/vt-release-test-message/vt/vt/lib/fmt/fmt/format.h"
            instantiation of "fmt::v5::buffer_context<Char>::type::iterator fmt::v5::internal::vformat_to(fmt::v5::internal::buffer<Char> &, fmt::v5::basic_string_view<Char>, fmt::v5::basic_format_args<fmt::v5::buffer_context<Char>::type>) [with Char=char]" at line 928 of "/lscratch1/jliffla/vt-clean/vt-auto-build/vt-release-test-message/vt/vt/lib/fmt/fmt/format-inl.h"

/lscratch1/jliffla/vt-clean/vt-auto-build/vt-release-test-message/vt/vt/lib/fmt/fmt/format.h(1143): error #137: expression must be a modifiable lvalue
    if (next_arg_id_ >= 0) return internal::to_unsigned(next_arg_id_++);
                                                        ^
          detected during:
            instantiation of "unsigned int fmt::v5::basic_parse_context<Char, ErrorHandler>::next_arg_id() const [with Char=wchar_t, ErrorHandler=fmt::v5::internal::error_handler]" at line 3261
            instantiation of "void fmt::v5::format_handler<ArgFormatter, Char, Context>::on_arg_id() [with ArgFormatter=fmt::v5::arg_formatter<fmt::v5::back_insert_range<fmt::v5::internal::buffer<wchar_t>>>, Char=wchar_t, Context=fmt::v5::wformat_context]" at line 2177
            instantiation of "void fmt::v5::internal::parse_format_string<IS_CONSTEXPR,Char,Handler>(fmt::v5::basic_string_view<Char>, Handler &&) [with IS_CONSTEXPR=false, Char=wchar_t, Handler=fmt::v5::format_handler<fmt::v5::arg_formatter<fmt::v5::back_insert_range<fmt::v5::internal::buffer<wchar_t>>>, wchar_t, fmt::v5::wformat_context> &]" at line 3306
            instantiation of "Context::iterator fmt::v5::vformat_to<ArgFormatter,Char,Context>(ArgFormatter::range, fmt::v5::basic_string_view<Char>, fmt::v5::basic_format_args<Context>, fmt::v5::internal::locale_ref) [with ArgFormatter=fmt::v5::arg_formatter<fmt::v5::back_insert_range<fmt::v5::internal::buffer<wchar_t>>>, Char=wchar_t, Context=fmt::v5::wformat_context]" at line 3404
            instantiation of "fmt::v5::buffer_context<Char>::type::iterator fmt::v5::internal::vformat_to(fmt::v5::internal::buffer<Char> &, fmt::v5::basic_string_view<Char>, fmt::v5::basic_format_args<fmt::v5::buffer_context<Char>::type>) [with Char=wchar_t]" at line 935 of "/lscratch1/jliffla/vt-clean/vt-auto-build/vt-release-test-message/vt/vt/lib/fmt/fmt/format-inl.h"

/lscratch1/jliffla/vt-clean/vt-auto-build/vt-release-test-message/vt/vt/lib/fmt/fmt/core.h(572): error: the object has cv-qualifiers that are not compatible with the member function "fmt::v5::internal::error_handler::on_error"
            object type is: const fmt::v5::internal::error_handler
      ErrorHandler::on_error(message);
      ^
          detected during:
            instantiation of "void fmt::v5::basic_parse_context<Char, ErrorHandler>::on_error(const char *) const [with Char=wchar_t, ErrorHandler=fmt::v5::internal::error_handler]" at line 1144 of "/lscratch1/jliffla/vt-clean/vt-auto-build/vt-release-test-message/vt/vt/lib/fmt/fmt/format.h"
            instantiation of "unsigned int fmt::v5::basic_parse_context<Char, ErrorHandler>::next_arg_id() const [with Char=wchar_t, ErrorHandler=fmt::v5::internal::error_handler]" at line 3261 of "/lscratch1/jliffla/vt-clean/vt-auto-build/vt-release-test-message/vt/vt/lib/fmt/fmt/format.h"
            instantiation of "void fmt::v5::format_handler<ArgFormatter, Char, Context>::on_arg_id() [with ArgFormatter=fmt::v5::arg_formatter<fmt::v5::back_insert_range<fmt::v5::internal::buffer<wchar_t>>>, Char=wchar_t, Context=fmt::v5::wformat_context]" at line 2177 of "/lscratch1/jliffla/vt-clean/vt-auto-build/vt-release-test-message/vt/vt/lib/fmt/fmt/format.h"
            instantiation of "void fmt::v5::internal::parse_format_string<IS_CONSTEXPR,Char,Handler>(fmt::v5::basic_string_view<Char>, Handler &&) [with IS_CONSTEXPR=false, Char=wchar_t, Handler=fmt::v5::format_handler<fmt::v5::arg_formatter<fmt::v5::back_insert_range<fmt::v5::internal::buffer<wchar_t>>>, wchar_t, fmt::v5::wformat_context> &]" at line 3306 of "/lscratch1/jliffla/vt-clean/vt-auto-build/vt-release-test-message/vt/vt/lib/fmt/fmt/format.h"
            instantiation of "Context::iterator fmt::v5::vformat_to<ArgFormatter,Char,Context>(ArgFormatter::range, fmt::v5::basic_string_view<Char>, fmt::v5::basic_format_args<Context>, fmt::v5::internal::locale_ref) [with ArgFormatter=fmt::v5::arg_formatter<fmt::v5::back_insert_range<fmt::v5::internal::buffer<wchar_t>>>, Char=wchar_t, Context=fmt::v5::wformat_context]" at line 3404 of "/lscratch1/jliffla/vt-clean/vt-auto-build/vt-release-test-message/vt/vt/lib/fmt/fmt/format.h"
            instantiation of "fmt::v5::buffer_context<Char>::type::iterator fmt::v5::internal::vformat_to(fmt::v5::internal::buffer<Char> &, fmt::v5::basic_string_view<Char>, fmt::v5::basic_format_args<fmt::v5::buffer_context<Char>::type>) [with Char=wchar_t]" at line 935 of "/lscratch1/jliffla/vt-clean/vt-auto-build/vt-release-test-message/vt/vt/lib/fmt/fmt/format-inl.h"

/lscratch1/jliffla/vt-clean/vt-auto-build/vt-release-test-message/vt/vt/lib/fmt/fmt/core.h(433): error #137: expression must be a modifiable lvalue
      data_ += n;
      ^
          detected during:
            instantiation of "void fmt::v5::basic_string_view<Char>::remove_prefix(size_t={unsigned long}) const [with Char=wchar_t]" at line 554
            instantiation of "void fmt::v5::basic_parse_context<Char, ErrorHandler>::advance_to(fmt::v5::basic_parse_context<Char, ErrorHandler>::iterator) const [with Char=wchar_t, ErrorHandler=fmt::v5::internal::error_handler]" at line 3269 of "/lscratch1/jliffla/vt-clean/vt-auto-build/vt-release-test-message/vt/vt/lib/fmt/fmt/format.h"
            instantiation of "void fmt::v5::format_handler<ArgFormatter, Char, Context>::on_replacement_field(const Char *) [with ArgFormatter=fmt::v5::arg_formatter<fmt::v5::back_insert_range<fmt::v5::internal::buffer<wchar_t>>>, Char=wchar_t, Context=fmt::v5::wformat_context]" at line 2178 of "/lscratch1/jliffla/vt-clean/vt-auto-build/vt-release-test-message/vt/vt/lib/fmt/fmt/format.h"
            instantiation of "void fmt::v5::internal::parse_format_string<IS_CONSTEXPR,Char,Handler>(fmt::v5::basic_string_view<Char>, Handler &&) [with IS_CONSTEXPR=false, Char=wchar_t, Handler=fmt::v5::format_handler<fmt::v5::arg_formatter<fmt::v5::back_insert_range<fmt::v5::internal::buffer<wchar_t>>>, wchar_t, fmt::v5::wformat_context> &]" at line 3306 of "/lscratch1/jliffla/vt-clean/vt-auto-build/vt-release-test-message/vt/vt/lib/fmt/fmt/format.h"
            instantiation of "Context::iterator fmt::v5::vformat_to<ArgFormatter,Char,Context>(ArgFormatter::range, fmt::v5::basic_string_view<Char>, fmt::v5::basic_format_args<Context>, fmt::v5::internal::locale_ref) [with ArgFormatter=fmt::v5::arg_formatter<fmt::v5::back_insert_range<fmt::v5::internal::buffer<wchar_t>>>, Char=wchar_t, Context=fmt::v5::wformat_context]" at line 3404 of "/lscratch1/jliffla/vt-clean/vt-auto-build/vt-release-test-message/vt/vt/lib/fmt/fmt/format.h"
            instantiation of "fmt::v5::buffer_context<Char>::type::iterator fmt::v5::internal::vformat_to(fmt::v5::internal::buffer<Char> &, fmt::v5::basic_string_view<Char>, fmt::v5::basic_format_args<fmt::v5::buffer_context<Char>::type>) [with Char=wchar_t]" at line 935 of "/lscratch1/jliffla/vt-clean/vt-auto-build/vt-release-test-message/vt/vt/lib/fmt/fmt/format-inl.h"

/lscratch1/jliffla/vt-clean/vt-auto-build/vt-release-test-message/vt/vt/lib/fmt/fmt/core.h(434): error #137: expression must be a modifiable lvalue
      size_ -= n;
      ^
          detected during:
            instantiation of "void fmt::v5::basic_string_view<Char>::remove_prefix(size_t={unsigned long}) const [with Char=wchar_t]" at line 554
            instantiation of "void fmt::v5::basic_parse_context<Char, ErrorHandler>::advance_to(fmt::v5::basic_parse_context<Char, ErrorHandler>::iterator) const [with Char=wchar_t, ErrorHandler=fmt::v5::internal::error_handler]" at line 3269 of "/lscratch1/jliffla/vt-clean/vt-auto-build/vt-release-test-message/vt/vt/lib/fmt/fmt/format.h"
            instantiation of "void fmt::v5::format_handler<ArgFormatter, Char, Context>::on_replacement_field(const Char *) [with ArgFormatter=fmt::v5::arg_formatter<fmt::v5::back_insert_range<fmt::v5::internal::buffer<wchar_t>>>, Char=wchar_t, Context=fmt::v5::wformat_context]" at line 2178 of "/lscratch1/jliffla/vt-clean/vt-auto-build/vt-release-test-message/vt/vt/lib/fmt/fmt/format.h"
            instantiation of "void fmt::v5::internal::parse_format_string<IS_CONSTEXPR,Char,Handler>(fmt::v5::basic_string_view<Char>, Handler &&) [with IS_CONSTEXPR=false, Char=wchar_t, Handler=fmt::v5::format_handler<fmt::v5::arg_formatter<fmt::v5::back_insert_range<fmt::v5::internal::buffer<wchar_t>>>, wchar_t, fmt::v5::wformat_context> &]" at line 3306 of "/lscratch1/jliffla/vt-clean/vt-auto-build/vt-release-test-message/vt/vt/lib/fmt/fmt/format.h"
            instantiation of "Context::iterator fmt::v5::vformat_to<ArgFormatter,Char,Context>(ArgFormatter::range, fmt::v5::basic_string_view<Char>, fmt::v5::basic_format_args<Context>, fmt::v5::internal::locale_ref) [with ArgFormatter=fmt::v5::arg_formatter<fmt::v5::back_insert_range<fmt::v5::internal::buffer<wchar_t>>>, Char=wchar_t, Context=fmt::v5::wformat_context]" at line 3404 of "/lscratch1/jliffla/vt-clean/vt-auto-build/vt-release-test-message/vt/vt/lib/fmt/fmt/format.h"
            instantiation of "fmt::v5::buffer_context<Char>::type::iterator fmt::v5::internal::vformat_to(fmt::v5::internal::buffer<Char> &, fmt::v5::basic_string_view<Char>, fmt::v5::basic_format_args<fmt::v5::buffer_context<Char>::type>) [with Char=wchar_t]" at line 935 of "/lscratch1/jliffla/vt-clean/vt-auto-build/vt-release-test-message/vt/vt/lib/fmt/fmt/format-inl.h"

/lscratch1/jliffla/vt-clean/vt-auto-build/vt-release-test-message/vt/vt/lib/fmt/fmt/core.h(565): error #137: expression must be a modifiable lvalue
      next_arg_id_ = -1;
      ^
          detected during:
            instantiation of "bool fmt::v5::basic_parse_context<Char, ErrorHandler>::check_arg_id(unsigned int) const [with Char=wchar_t, ErrorHandler=fmt::v5::internal::error_handler]" at line 3263 of "/lscratch1/jliffla/vt-clean/vt-auto-build/vt-release-test-message/vt/vt/lib/fmt/fmt/format.h"
            instantiation of "void fmt::v5::format_handler<ArgFormatter, Char, Context>::on_arg_id(unsigned int) [with ArgFormatter=fmt::v5::arg_formatter<fmt::v5::back_insert_range<fmt::v5::internal::buffer<wchar_t>>>, Char=wchar_t, Context=fmt::v5::wformat_context]" at line 2136 of "/lscratch1/jliffla/vt-clean/vt-auto-build/vt-release-test-message/vt/vt/lib/fmt/fmt/format.h"
            instantiation of "void fmt::v5::internal::id_adapter<Handler, Char>::operator()(unsigned int) const [with Handler=fmt::v5::format_handler<fmt::v5::arg_formatter<fmt::v5::back_insert_range<fmt::v5::internal::buffer<wchar_t>>>, wchar_t, fmt::v5::wformat_context> &, Char=wchar_t]" at line 1939 of "/lscratch1/jliffla/vt-clean/vt-auto-build/vt-release-test-message/vt/vt/lib/fmt/fmt/format.h"
            instantiation of "const Char *fmt::v5::internal::parse_arg_id(const Char *, const Char *, IDHandler &&) [with Char=wchar_t, IDHandler=fmt::v5::internal::id_adapter<fmt::v5::format_handler<fmt::v5::arg_formatter<fmt::v5::back_insert_range<fmt::v5::internal::buffer<wchar_t>>>, wchar_t, fmt::v5::wformat_context> &, wchar_t>]" at line 2182 of "/lscratch1/jliffla/vt-clean/vt-auto-build/vt-release-test-message/vt/vt/lib/fmt/fmt/format.h"
            instantiation of "void fmt::v5::internal::parse_format_string<IS_CONSTEXPR,Char,Handler>(fmt::v5::basic_string_view<Char>, Handler &&) [with IS_CONSTEXPR=false, Char=wchar_t, Handler=fmt::v5::format_handler<fmt::v5::arg_formatter<fmt::v5::back_insert_range<fmt::v5::internal::buffer<wchar_t>>>, wchar_t, fmt::v5::wformat_context> &]" at line 3306 of "/lscratch1/jliffla/vt-clean/vt-auto-build/vt-release-test-message/vt/vt/lib/fmt/fmt/format.h"
            instantiation of "Context::iterator fmt::v5::vformat_to<ArgFormatter,Char,Context>(ArgFormatter::range, fmt::v5::basic_string_view<Char>, fmt::v5::basic_format_args<Context>, fmt::v5::internal::locale_ref) [with ArgFormatter=fmt::v5::arg_formatter<fmt::v5::back_insert_range<fmt::v5::internal::buffer<wchar_t>>>, Char=wchar_t, Context=fmt::v5::wformat_context]" at line 3404 of "/lscratch1/jliffla/vt-clean/vt-auto-build/vt-release-test-message/vt/vt/lib/fmt/fmt/format.h"
            instantiation of "fmt::v5::buffer_context<Char>::type::iterator fmt::v5::internal::vformat_to(fmt::v5::internal::buffer<Char> &, fmt::v5::basic_string_view<Char>, fmt::v5::basic_format_args<fmt::v5::buffer_context<Char>::type>) [with Char=wchar_t]" at line 935 of "/lscratch1/jliffla/vt-clean/vt-auto-build/vt-release-test-message/vt/vt/lib/fmt/fmt/format-inl.h"

compilation aborted for /lscratch1/jliffla/vt-clean/vt-auto-build/vt-release-test-message/vt/vt/src/vt/configs/error/pretty_print_message.cc (code 2)
src/CMakeFiles/vt.dir/build.make:75: recipe for target 'src/CMakeFiles/vt.dir/vt/configs/error/pretty_print_message.cc.o' failed
make[2]: *** [src/CMakeFiles/vt.dir/vt/configs/error/pretty_print_message.cc.o] Error 2
CMakeFiles/Makefile2:1221: recipe for target 'src/CMakeFiles/vt.dir/all' failed
make[1]: *** [src/CMakeFiles/vt.dir/all] Error 2
Makefile:140: recipe for target 'all' failed
make: *** [all] Error 2
lifflander commented 4 years ago

This initial problem is related to FMT_CONSTEXPR.

lifflander commented 4 years ago

By manually removing the FMT_CONSTEXPR, the next error is:

/lscratch1/jliffla/vt-clean/vt-auto-build/vt-release-test-message/vt/vt/src/vt/trace/trace_user_event.h(126): error: no default constructor exists for class "std::unordered_map<vt::trace::UserEventIDType={int64_t={long}}, std::string, std::hash<long>, std::equal_to<vt::trace::UserEventIDType={int64_t={long}}>, std::allocator<std::pair<const vt::trace::UserEventIDType={int64_t={long}}, std::string>>>"
    std::unordered_map<UserEventIDType, std::string> user_event_ = {};
                                                                   ^
lifflander commented 4 years ago

I removed many of the initializers for tons of unordered_maps in the code, which seems to trigger a bug. But now, I'm stuck on an internal compiler error:

[  1%] Building CXX object src/CMakeFiles/vt.dir/vt/group/collective/group_info_collective.cc.o
": internal error: ** The compiler has encountered an unexpected problem.
** Segmentation violation signal raised. **
Access violation or stack overflow. Please contact Intel Support for assistance.
lifflander commented 4 years ago

For reference, looks like /= operator was causing an internal compiler error for Kokkos:

https://github.com/kokkos/kokkos-kernels/issues/607

Maybe we are doing something similar?

PhilMiller commented 4 years ago

There are a few /= in fmt that might be culprits here?

lifflander commented 4 years ago

That could be it? Not sure how to determine for sure what the ICE is from.

lifflander commented 4 years ago

I've created containers with 3 Intel compiler versions for testing: https://hub.docker.com/repository/docker/lifflander1/icc

I tried to build develop on Intel 19.1.1, the latest version---which we haven't tried so far (AFAIK). I'm still getting ICE and some template failures in the newer RDMA handers code (class specialization on NodeType vs Index).

One ICE is from this lines of code in collective_scope.cc:

r->reduce<collective::None>(collective_root, msg.get(), cb, stamp);

When I comment it out, the file compiles.

PhilMiller commented 4 years ago

In collective_scope.cc, I can narrow it down to this line in reduceImmediate:

auto const han = auto_registry::makeAutoHandler<MsgT,f>();

PhilMiller commented 4 years ago

In makeAutoHandler, replacing RunType::idx with a literal constant 1 compiles collective_scope.cc

PhilMiller commented 4 years ago

Way down in registerActiveGen, replacing the return statement with return 1; makes that happy.

PhilMiller commented 4 years ago

With RegistrarGen<RunnableT, RegT, InfoT, FnT>::RegistrarGen(), apparently

FnT fn = reinterpret_cast<FnT>(AdapterType::getFunction());

is unhappy

PhilMiller commented 4 years ago

Just calling AdapterType::getFunction() is unhappy, so it's not the reinterpret_cast that's the problem

PhilMiller commented 3 years ago

Blocks #895

PhilMiller commented 3 years ago

On ascic170, I just found (kinda by accident) that icpc (ICC) 19.0.2.187 20190117 reports various compilation errors, while icpc (ICC) 19.1.2.254 20200623 segfaults. So, there's some room for bisection here!

PhilMiller commented 3 years ago

icpc (ICC) 19.0.5.281 20190815 reports an error rather than crashing, too

PhilMiller commented 3 years ago

When I fix the putative error (actually, it was a compiler bug - default value of 0 for a pointer parameter to a template was not being interpreted as nullptr), that still crashes.

PhilMiller commented 3 years ago

The full range of 19.x compilers crash with that change made.

PhilMiller commented 3 years ago

Here's the fully reduced test case, courtesy of CReduce and follow-up reduction and analysis by hand:

using ActiveTypedFnType = void();

template < typename MsgT >
void basicHandler();

// *UN*commenting this makes the compiler run successfully;
// is the issue that instantiation is triggered by the template default argument?
//auto fn = &basicHandler<int>;

template <
  typename MsgT,
  ActiveTypedFnType f =
  basicHandler< MsgT>
  >
void reduce( )
{
  auto foo = f;
}

void __trans_tmp_2() {
  // Or uncommenting this
  //auto g = &basicHandler<int>;

  reduce<
    int
    // Or uncommenting this
    //, basicHandler<int>
    >();
}
PhilMiller commented 3 years ago

And, confirmed via godbolt.org that it crashes icc 21.1.9 as well!

PhilMiller commented 3 years ago

There should then be a reasonable workaround for this, by interposing a function or typedef that has the instantiation in-line

PhilMiller commented 3 years ago

I've got the workaround implemented in reduce.h, and it seems to be accepted. There are a couple other spots likely affected. PR should be posted shortly.