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

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

Closed
lifflander opened this issue Mar 7, 2020 · 21 comments · Fixed by #1178
Closed

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

lifflander opened this issue Mar 7, 2020 · 21 comments · Fixed by #1178

Comments

@lifflander
Copy link
Collaborator

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
Copy link
Collaborator Author

This initial problem is related to FMT_CONSTEXPR.

@lifflander
Copy link
Collaborator Author

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
Copy link
Collaborator Author

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
Copy link
Collaborator Author

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

kokkos/kokkos-kernels#607

Maybe we are doing something similar?

@PhilMiller
Copy link
Member

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

@lifflander
Copy link
Collaborator Author

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

@lifflander
Copy link
Collaborator Author

lifflander commented Jun 25, 2020

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
Copy link
Member

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

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

@PhilMiller
Copy link
Member

PhilMiller commented Oct 15, 2020

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

@PhilMiller
Copy link
Member

PhilMiller commented Oct 15, 2020

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

@PhilMiller
Copy link
Member

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

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

is unhappy

@PhilMiller
Copy link
Member

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

@PhilMiller
Copy link
Member

Blocks #895

@PhilMiller
Copy link
Member

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
Copy link
Member

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

@PhilMiller
Copy link
Member

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
Copy link
Member

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

@PhilMiller
Copy link
Member

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
Copy link
Member

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

@PhilMiller
Copy link
Member

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

@PhilMiller
Copy link
Member

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.

lifflander added a commit that referenced this issue Dec 4, 2020
PhilMiller added a commit that referenced this issue Dec 8, 2020
PhilMiller pushed a commit that referenced this issue Dec 8, 2020
PhilMiller added a commit that referenced this issue Dec 8, 2020
 #728: Avoid ICEs and compilation failures in Intel 19.x and Nvidia with gcc<=7.2.0
cz4rs pushed a commit that referenced this issue Dec 14, 2020
 #728: Avoid ICEs and compilation failures in Intel 19.x and Nvidia with gcc<=7.2.0
cz4rs pushed a commit that referenced this issue Dec 17, 2020
cz4rs pushed a commit that referenced this issue Dec 17, 2020
cz4rs pushed a commit that referenced this issue Dec 17, 2020
cz4rs pushed a commit that referenced this issue Dec 21, 2020
cz4rs pushed a commit that referenced this issue Dec 21, 2020
cz4rs pushed a commit that referenced this issue Dec 21, 2020
cz4rs pushed a commit that referenced this issue Dec 21, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants