public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug c++/101420] New: ICE in build_special_member_call, at cp/call.c:10179
@ 2021-07-11 15:39 avi@cloudius-systems.com
  2021-07-11 15:44 ` [Bug c++/101420] " avi@cloudius-systems.com
                   ` (17 more replies)
  0 siblings, 18 replies; 19+ messages in thread
From: avi@cloudius-systems.com @ 2021-07-11 15:39 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101420

            Bug ID: 101420
           Summary: ICE in build_special_member_call, at cp/call.c:10179
           Product: gcc
           Version: 11.1.1
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: avi@cloudius-systems.com
  Target Milestone: ---

The attached file ICEs with gcc 11.1.1. It compiles cleanly with clang 11.

Command line:

g++ -MD -MT build/dev/table.o -MF build/dev/table.o.d
-I/home/avi/scylla/seastar/include
-I/home/avi/scylla/build/dev/seastar/gen/include -std=gnu++20 -U_FORTIFY_SOURCE
-Wno-maybe-uninitialized -DSEASTAR_SSTRING -Werror=unused-result
-fstack-clash-protection -DSEASTAR_API_LEVEL=6
-DSEASTAR_ENABLE_ALLOC_FAILURE_INJECTION -DSEASTAR_TYPE_ERASE_MORE -DFMT_LOCALE
-DFMT_SHARED -I/usr/include/p11-kit-1  -DDEVEL
-DSEASTAR_ENABLE_ALLOC_FAILURE_INJECTION -DSCYLLA_ENABLE_ERROR_INJECTION
-Wstack-usage=21504 -Wno-error=stack-usage= -O2 -iquote. -iquote build/dev/gen
--std=gnu++20 -Wno-array-bounds -Wno-unused-but-set-variable -Wno-sign-compare
-Wno-narrowing -ffile-prefix-map=/home/avi/scylla=.  -march=westmere
-DBOOST_TEST_DYN_LINK   -Iabseil -fvisibility=hidden  -Wall -Werror
-Wno-mismatched-tags -Wno-maybe-uninitialized -Wno-tautological-compare
-Wno-missing-braces -Wno-misleading-indentation -Wno-overflow
-Wno-noexcept-type -Wno-nonnull-compare -Wno-error=cpp -Wno-ignored-attributes
-Wno-overloaded-virtual -Wno-stringop-overflow -Wno-redundant-move
-Wno-unused-variable -Wno-psabi -Wno-error=deprecated-declarations
-DXXH_PRIVATE_API -DSEASTAR_TESTING_MAIN -DHAVE_LZ4_COMPRESS_DEFAULT  -c -o
build/dev/table.o ice.cc

^ permalink raw reply	[flat|nested] 19+ messages in thread

* [Bug c++/101420] ICE in build_special_member_call, at cp/call.c:10179
  2021-07-11 15:39 [Bug c++/101420] New: ICE in build_special_member_call, at cp/call.c:10179 avi@cloudius-systems.com
@ 2021-07-11 15:44 ` avi@cloudius-systems.com
  2021-07-11 15:45 ` avi@cloudius-systems.com
                   ` (16 subsequent siblings)
  17 siblings, 0 replies; 19+ messages in thread
From: avi@cloudius-systems.com @ 2021-07-11 15:44 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101420

--- Comment #1 from Avi Kivity <avi@cloudius-systems.com> ---
File is in https://scratch.scylladb.com/ice.cc (too large to upload to
bugzilla). I'll try to reduce it a little.

^ permalink raw reply	[flat|nested] 19+ messages in thread

* [Bug c++/101420] ICE in build_special_member_call, at cp/call.c:10179
  2021-07-11 15:39 [Bug c++/101420] New: ICE in build_special_member_call, at cp/call.c:10179 avi@cloudius-systems.com
  2021-07-11 15:44 ` [Bug c++/101420] " avi@cloudius-systems.com
@ 2021-07-11 15:45 ` avi@cloudius-systems.com
  2021-07-12  7:35 ` avi@cloudius-systems.com
                   ` (15 subsequent siblings)
  17 siblings, 0 replies; 19+ messages in thread
From: avi@cloudius-systems.com @ 2021-07-11 15:45 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101420

--- Comment #2 from Avi Kivity <avi@cloudius-systems.com> ---
Simplified command line:

g++ -march=westmere --std=c++20 -fext-numeric-literals  ice.cc

^ permalink raw reply	[flat|nested] 19+ messages in thread

* [Bug c++/101420] ICE in build_special_member_call, at cp/call.c:10179
  2021-07-11 15:39 [Bug c++/101420] New: ICE in build_special_member_call, at cp/call.c:10179 avi@cloudius-systems.com
  2021-07-11 15:44 ` [Bug c++/101420] " avi@cloudius-systems.com
  2021-07-11 15:45 ` avi@cloudius-systems.com
@ 2021-07-12  7:35 ` avi@cloudius-systems.com
  2021-07-12  7:40 ` iains at gcc dot gnu.org
                   ` (14 subsequent siblings)
  17 siblings, 0 replies; 19+ messages in thread
From: avi@cloudius-systems.com @ 2021-07-12  7:35 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101420

Avi Kivity <avi@cloudius-systems.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |iains at gcc dot gnu.org

--- Comment #3 from Avi Kivity <avi@cloudius-systems.com> ---
Adding Iain since the ICE happens in a coroutine. Meanwhile my desktop is
reducing the testcase.

^ permalink raw reply	[flat|nested] 19+ messages in thread

* [Bug c++/101420] ICE in build_special_member_call, at cp/call.c:10179
  2021-07-11 15:39 [Bug c++/101420] New: ICE in build_special_member_call, at cp/call.c:10179 avi@cloudius-systems.com
                   ` (2 preceding siblings ...)
  2021-07-12  7:35 ` avi@cloudius-systems.com
@ 2021-07-12  7:40 ` iains at gcc dot gnu.org
  2021-07-12  7:48 ` avi@cloudius-systems.com
                   ` (13 subsequent siblings)
  17 siblings, 0 replies; 19+ messages in thread
From: iains at gcc dot gnu.org @ 2021-07-12  7:40 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101420

--- Comment #4 from Iain Sandoe <iains at gcc dot gnu.org> ---
(In reply to Avi Kivity from comment #3)
> Adding Iain since the ICE happens in a coroutine. Meanwhile my desktop is
> reducing the testcase.

do you have a backtrace?

^ permalink raw reply	[flat|nested] 19+ messages in thread

* [Bug c++/101420] ICE in build_special_member_call, at cp/call.c:10179
  2021-07-11 15:39 [Bug c++/101420] New: ICE in build_special_member_call, at cp/call.c:10179 avi@cloudius-systems.com
                   ` (3 preceding siblings ...)
  2021-07-12  7:40 ` iains at gcc dot gnu.org
@ 2021-07-12  7:48 ` avi@cloudius-systems.com
  2021-07-12  8:02 ` iains at gcc dot gnu.org
                   ` (12 subsequent siblings)
  17 siblings, 0 replies; 19+ messages in thread
From: avi@cloudius-systems.com @ 2021-07-12  7:48 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101420

--- Comment #5 from Avi Kivity <avi@cloudius-systems.com> ---
How does one ask gcc to generate a backtrace on ICE?

^ permalink raw reply	[flat|nested] 19+ messages in thread

* [Bug c++/101420] ICE in build_special_member_call, at cp/call.c:10179
  2021-07-11 15:39 [Bug c++/101420] New: ICE in build_special_member_call, at cp/call.c:10179 avi@cloudius-systems.com
                   ` (4 preceding siblings ...)
  2021-07-12  7:48 ` avi@cloudius-systems.com
@ 2021-07-12  8:02 ` iains at gcc dot gnu.org
  2021-07-12  8:04 ` avi@cloudius-systems.com
                   ` (11 subsequent siblings)
  17 siblings, 0 replies; 19+ messages in thread
From: iains at gcc dot gnu.org @ 2021-07-12  8:02 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101420

--- Comment #6 from Iain Sandoe <iains at gcc dot gnu.org> ---
(In reply to Avi Kivity from comment #5)
> How does one ask gcc to generate a backtrace on ICE?

It produces one when libbacktrace is available, not aware of needing to do
anything special; is there any other text from the ICE?

^ permalink raw reply	[flat|nested] 19+ messages in thread

* [Bug c++/101420] ICE in build_special_member_call, at cp/call.c:10179
  2021-07-11 15:39 [Bug c++/101420] New: ICE in build_special_member_call, at cp/call.c:10179 avi@cloudius-systems.com
                   ` (5 preceding siblings ...)
  2021-07-12  8:02 ` iains at gcc dot gnu.org
@ 2021-07-12  8:04 ` avi@cloudius-systems.com
  2021-07-12  8:06 ` avi@cloudius-systems.com
                   ` (10 subsequent siblings)
  17 siblings, 0 replies; 19+ messages in thread
From: avi@cloudius-systems.com @ 2021-07-12  8:04 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101420

--- Comment #7 from Avi Kivity <avi@cloudius-systems.com> ---
ice.cc: In member function 'seastar::future<>
table::generate_and_propagate_view_updates(const schema_ptr&, reader_permit,
std::vector<db::view::view_and_base>&&, mutation&&, flat_mutation_reader_opt,
tracing::trace_state_ptr, gc_clock::time_point) const':
ice.cc:199329:1: internal compiler error: in build_special_member_call, at
cp/call.c:10179
199329 | }
       | ^
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://bugzilla.redhat.com/bugzilla> for instructions.



libbacktrace should have been available, since it's the distro package. Is
there a breakpoint I can set in gcc to obtain the backtrace?

^ permalink raw reply	[flat|nested] 19+ messages in thread

* [Bug c++/101420] ICE in build_special_member_call, at cp/call.c:10179
  2021-07-11 15:39 [Bug c++/101420] New: ICE in build_special_member_call, at cp/call.c:10179 avi@cloudius-systems.com
                   ` (6 preceding siblings ...)
  2021-07-12  8:04 ` avi@cloudius-systems.com
@ 2021-07-12  8:06 ` avi@cloudius-systems.com
  2021-07-12  8:10 ` avi@cloudius-systems.com
                   ` (9 subsequent siblings)
  17 siblings, 0 replies; 19+ messages in thread
From: avi@cloudius-systems.com @ 2021-07-12  8:06 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101420

--- Comment #8 from Avi Kivity <avi@cloudius-systems.com> ---
Ugh, I forgot g++ isn't the compiler proper and setting a breakpoint is going
to be tricky.

^ permalink raw reply	[flat|nested] 19+ messages in thread

* [Bug c++/101420] ICE in build_special_member_call, at cp/call.c:10179
  2021-07-11 15:39 [Bug c++/101420] New: ICE in build_special_member_call, at cp/call.c:10179 avi@cloudius-systems.com
                   ` (7 preceding siblings ...)
  2021-07-12  8:06 ` avi@cloudius-systems.com
@ 2021-07-12  8:10 ` avi@cloudius-systems.com
  2021-07-12  8:30 ` avi@cloudius-systems.com
                   ` (8 subsequent siblings)
  17 siblings, 0 replies; 19+ messages in thread
From: avi@cloudius-systems.com @ 2021-07-12  8:10 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101420

--- Comment #9 from Avi Kivity <avi@cloudius-systems.com> ---
I found -dH and have a core:

(gdb) bt
#0  0x00007f26600e02a2 in ?? () from /lib64/libc.so.6
#1  0x00007f26600c98a4 in ?? () from /lib64/libc.so.6
#2  0x0000000000ff1af4 in diagnostic_action_after_output(diagnostic_context*,
diagnostic_t) [clone .cold] ()
#3  0x000000000142bdab in diagnostic_report_diagnostic(diagnostic_context*,
diagnostic_info*) ()
#4  0x000000000162d12a in diagnostic_impl(rich_location*, diagnostic_metadata
const*, int, char const*, __va_list_tag (*) [1], diagnostic_t) ()
#5  0x0000000000ff2ac8 in internal_error(char const*, ...) ()
#6  0x0000000000ff2ba3 in fancy_abort(char const*, int, char const*) ()
#7  0x0000000000620c80 in build_special_member_call(tree_node*, tree_node*,
vec<tree_node*, va_gc, vl_embed>**, tree_node*, int, int) [clone .cold] ()
#8  0x00000000006400fa in flatten_await_stmt(var_nest_node*,
hash_set<tree_node*, false, default_hash_traits<tree_node*> >*,
hash_set<tree_node*, false, default_hash_traits<tree_node*> >*, tree_node**) ()
#9  0x0000000000640252 in flatten_await_stmt(var_nest_node*,
hash_set<tree_node*, false, default_hash_traits<tree_node*> >*,
hash_set<tree_node*, false, default_hash_traits<tree_node*> >*, tree_node**) ()
#10 0x0000000000640252 in flatten_await_stmt(var_nest_node*,
hash_set<tree_node*, false, default_hash_traits<tree_node*> >*,
hash_set<tree_node*, false, default_hash_traits<tree_node*> >*, tree_node**) ()
#11 0x0000000000640262 in flatten_await_stmt(var_nest_node*,
hash_set<tree_node*, false, default_hash_traits<tree_node*> >*,
hash_set<tree_node*, false, default_hash_traits<tree_node*> >*, tree_node**) ()
#12 0x0000000000640252 in flatten_await_stmt(var_nest_node*,
hash_set<tree_node*, false, default_hash_traits<tree_node*> >*,
hash_set<tree_node*, false, default_hash_traits<tree_node*> >*, tree_node**) ()
#13 0x0000000000640252 in flatten_await_stmt(var_nest_node*,
hash_set<tree_node*, false, default_hash_traits<tree_node*> >*,
hash_set<tree_node*, false, default_hash_traits<tree_node*> >*, tree_node**) ()
#14 0x0000000000640252 in flatten_await_stmt(var_nest_node*,
hash_set<tree_node*, false, default_hash_traits<tree_node*> >*,
hash_set<tree_node*, false, default_hash_traits<tree_node*> >*, tree_node**) ()
#15 0x000000000064116f in await_statement_walker(tree_node**, int*, void*) ()
#16 0x00000000012fb259 in walk_tree_1(tree_node**, tree_node* (*)(tree_node**,
int*, void*), void*, hash_set<tree_node*, false,
default_hash_traits<tree_node*> >*, tree_node* (*)(tree_node**, int*,
tree_node* (*)(tree_node**, int*, void*), void*, hash_set<tree_node*, false,
default_hash_traits<tree_node*> >*)) ()
#17 0x000000000064094e in await_statement_walker(tree_node**, int*, void*) ()
#18 0x00000000012fb259 in walk_tree_1(tree_node**, tree_node* (*)(tree_node**,
int*, void*), void*, hash_set<tree_node*, false,
default_hash_traits<tree_node*> >*, tree_node* (*)(tree_node**, int*,
tree_node* (*)(tree_node**, int*, void*), void*, hash_set<tree_node*, false,
default_hash_traits<tree_node*> >*)) ()
#19 0x0000000000640904 in await_statement_walker(tree_node**, int*, void*) ()
#20 0x00000000012fb259 in walk_tree_1(tree_node**, tree_node* (*)(tree_node**,
int*, void*), void*, hash_set<tree_node*, false,
default_hash_traits<tree_node*> >*, tree_node* (*)(tree_node**, int*,
tree_node* (*)(tree_node**, int*, void*), void*, hash_set<tree_node*, false,
default_hash_traits<tree_node*> >*)) ()
#21 0x000000000064094e in await_statement_walker(tree_node**, int*, void*) ()
#22 0x00000000012fb259 in walk_tree_1(tree_node**, tree_node* (*)(tree_node**,
int*, void*), void*, hash_set<tree_node*, false,
default_hash_traits<tree_node*> >*, tree_node* (*)(tree_node**, int*,
tree_node* (*)(tree_node**, int*, void*), void*, hash_set<tree_node*, false,
default_hash_traits<tree_node*> >*)) ()
#23 0x00000000012fb3da in walk_tree_1(tree_node**, tree_node* (*)(tree_node**,
int*, void*), void*, hash_set<tree_node*, false,
default_hash_traits<tree_node*> >*, tree_node* (*)(tree_node**, int*,
tree_node* (*)(tree_node**, int*, void*), void*, hash_set<tree_node*, false,
default_hash_traits<tree_node*> >*)) ()
#24 0x000000000064094e in await_statement_walker(tree_node**, int*, void*) ()
#25 0x00000000012fb259 in walk_tree_1(tree_node**, tree_node* (*)(tree_node**,
int*, void*), void*, hash_set<tree_node*, false,
default_hash_traits<tree_node*> >*, tree_node* (*)(tree_node**, int*,
tree_node* (*)(tree_node**, int*, void*), void*, hash_set<tree_node*, false,
default_hash_traits<tree_node*> >*)) ()
#26 0x0000000000640904 in await_statement_walker(tree_node**, int*, void*) ()
#27 0x00000000012fb259 in walk_tree_1(tree_node**, tree_node* (*)(tree_node**,
int*, void*), void*, hash_set<tree_node*, false,
default_hash_traits<tree_node*> >*, tree_node* (*)(tree_node**, int*,
tree_node* (*)(tree_node**, int*, void*), void*, hash_set<tree_node*, false,
default_hash_traits<tree_node*> >*)) ()
#28 0x000000000063d33b in morph_fn_to_coro(tree_node*, tree_node**,
tree_node**) ()
#29 0x0000000000655a90 in finish_function(bool) [clone .cold] ()
#30 0x00000000010a3210 in
cp_parser_function_definition_after_declarator(cp_parser*, bool) ()
#31 0x00000000006a46b4 in cp_parser_init_declarator(cp_parser*, int,
cp_decl_specifier_seq*, vec<deferred_access_check, va_gc, vl_embed>*, bool,
bool, int, bool*, tree_node**, unsigned int*, tree_node**) [clone .cold] ()
#32 0x00000000010937dc in cp_parser_simple_declaration(cp_parser*, bool,
tree_node**) ()
#33 0x00000000006a1966 in cp_parser_declaration(cp_parser*, tree_node*) [clone
.cold] ()
#34 0x00000000014578dc in c_parse_file() ()
#35 0x0000000001488094 in c_common_parse_file() ()
#36 0x0000000001525c41 in compile_file() ()
#37 0x000000000103ba92 in toplev::main(int, char**) ()
#38 0x000000000103cc23 in main ()

^ permalink raw reply	[flat|nested] 19+ messages in thread

* [Bug c++/101420] ICE in build_special_member_call, at cp/call.c:10179
  2021-07-11 15:39 [Bug c++/101420] New: ICE in build_special_member_call, at cp/call.c:10179 avi@cloudius-systems.com
                   ` (8 preceding siblings ...)
  2021-07-12  8:10 ` avi@cloudius-systems.com
@ 2021-07-12  8:30 ` avi@cloudius-systems.com
  2021-07-12  8:33 ` iains at gcc dot gnu.org
                   ` (7 subsequent siblings)
  17 siblings, 0 replies; 19+ messages in thread
From: avi@cloudius-systems.com @ 2021-07-12  8:30 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101420

--- Comment #10 from Avi Kivity <avi@cloudius-systems.com> ---
Reproduces on trunk:

#7  0x0000000000b439af in cp_build_modify_expr (loc=1376651745,
lhs=0x7f0c55c12c60, modifycode=<optimized out>, rhs=0x7f0c55e63ee0,
complain=<optimized out>) at ../../gcc/gcc/cp/typeck.c:8919

8919                    error_at (loc, "array used as initializer");


8914              /* This routine is used for both initialization and
assignment.
8915                 Make sure the diagnostic message differentiates the
context.  */
8916              if (complain & tf_error)
8917                {
8918                  if (modifycode == INIT_EXPR)
8919                    error_at (loc, "array used as initializer");
8920                  else
8921                    error_at (loc, "invalid array assignment");
8922                }
8923              return error_mark_node;

^ permalink raw reply	[flat|nested] 19+ messages in thread

* [Bug c++/101420] ICE in build_special_member_call, at cp/call.c:10179
  2021-07-11 15:39 [Bug c++/101420] New: ICE in build_special_member_call, at cp/call.c:10179 avi@cloudius-systems.com
                   ` (9 preceding siblings ...)
  2021-07-12  8:30 ` avi@cloudius-systems.com
@ 2021-07-12  8:33 ` iains at gcc dot gnu.org
  2021-07-12  8:34 ` iains at gcc dot gnu.org
                   ` (6 subsequent siblings)
  17 siblings, 0 replies; 19+ messages in thread
From: iains at gcc dot gnu.org @ 2021-07-12  8:33 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101420

--- Comment #11 from Iain Sandoe <iains at gcc dot gnu.org> ---
(In reply to Avi Kivity from comment #10)
> Reproduces on trunk:
> 
> #7  0x0000000000b439af in cp_build_modify_expr (loc=1376651745,
> lhs=0x7f0c55c12c60, modifycode=<optimized out>, rhs=0x7f0c55e63ee0,
> complain=<optimized out>) at ../../gcc/gcc/cp/typeck.c:8919
> 
> 8919			error_at (loc, "array used as initializer");
> 
> 
> 8914	          /* This routine is used for both initialization and
> assignment.
> 8915	             Make sure the diagnostic message differentiates the
> context.  */
> 8916		  if (complain & tf_error)
> 8917		    {
> 8918		      if (modifycode == INIT_EXPR)
> 8919			error_at (loc, "array used as initializer");
> 8920		      else
> 8921			error_at (loc, "invalid array assignment");
> 8922		    }
> 8923		  return error_mark_node;

thanks, probably the compiler needs to be built with -g to get the backtrace.

this looks like a dup of PR 96056 - but I am happy to check the reduced case.

^ permalink raw reply	[flat|nested] 19+ messages in thread

* [Bug c++/101420] ICE in build_special_member_call, at cp/call.c:10179
  2021-07-11 15:39 [Bug c++/101420] New: ICE in build_special_member_call, at cp/call.c:10179 avi@cloudius-systems.com
                   ` (10 preceding siblings ...)
  2021-07-12  8:33 ` iains at gcc dot gnu.org
@ 2021-07-12  8:34 ` iains at gcc dot gnu.org
  2021-07-12  8:34 ` avi@cloudius-systems.com
                   ` (5 subsequent siblings)
  17 siblings, 0 replies; 19+ messages in thread
From: iains at gcc dot gnu.org @ 2021-07-12  8:34 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101420

--- Comment #12 from Iain Sandoe <iains at gcc dot gnu.org> ---
(In reply to Iain Sandoe from comment #11)
> (In reply to Avi Kivity from comment #10)
> > Reproduces on trunk:


> this looks like a dup of PR 96056 - but I am happy to check the reduced case.
erm PR 98056 I meant

^ permalink raw reply	[flat|nested] 19+ messages in thread

* [Bug c++/101420] ICE in build_special_member_call, at cp/call.c:10179
  2021-07-11 15:39 [Bug c++/101420] New: ICE in build_special_member_call, at cp/call.c:10179 avi@cloudius-systems.com
                   ` (11 preceding siblings ...)
  2021-07-12  8:34 ` iains at gcc dot gnu.org
@ 2021-07-12  8:34 ` avi@cloudius-systems.com
  2021-07-12  8:42 ` avi@cloudius-systems.com
                   ` (4 subsequent siblings)
  17 siblings, 0 replies; 19+ messages in thread
From: avi@cloudius-systems.com @ 2021-07-12  8:34 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101420

--- Comment #13 from Avi Kivity <avi@cloudius-systems.com> ---
The coroutine that breaks is

future<> table::generate_and_propagate_view_updates(const schema_ptr& base,
        reader_permit permit,
        std::vector<db::view::view_and_base>&& views,
        mutation&& m,
        flat_mutation_reader_opt existings,
        tracing::trace_state_ptr tr_state,
        gc_clock::time_point now) const {
    auto base_token = m.token();
    db::view::view_update_builder builder = co_await
db::view::make_view_update_builder(
            base,
            std::move(views),
            flat_mutation_reader_from_mutations(std::move(permit),
{std::move(m)}),
            std::move(existings),
            now);
    while (true) {
        try {
            auto updates = co_await builder.build_some();
            if (updates.empty()) {
                break;
            }
            tracing::trace(tr_state, "Generated {} view update mutations",
updates.size());
            auto units =
seastar::consume_units(*_config.view_update_concurrency_semaphore,
memory_usage_of(updates));
            co_await db::view::mutate_MV(base_token, std::move(updates),
_view_stats, *_config.cf_stats, tr_state,
                std::move(units), service::allow_hints::yes,
db::view::wait_for_all_updates::no).handle_exception([] (auto ignored) { });
        } catch (...) {
        }
    }
    co_await builder.close();
}


Nothing special in there, in particular nothing that looks like an array.

^ permalink raw reply	[flat|nested] 19+ messages in thread

* [Bug c++/101420] ICE in build_special_member_call, at cp/call.c:10179
  2021-07-11 15:39 [Bug c++/101420] New: ICE in build_special_member_call, at cp/call.c:10179 avi@cloudius-systems.com
                   ` (12 preceding siblings ...)
  2021-07-12  8:34 ` avi@cloudius-systems.com
@ 2021-07-12  8:42 ` avi@cloudius-systems.com
  2021-07-12  8:51 ` avi@cloudius-systems.com
                   ` (3 subsequent siblings)
  17 siblings, 0 replies; 19+ messages in thread
From: avi@cloudius-systems.com @ 2021-07-12  8:42 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101420

--- Comment #14 from Avi Kivity <avi@cloudius-systems.com> ---
Very likely it's a dup:

    db::view::view_update_builder builder = co_await
db::view::make_view_update_builder(
            base,
            std::move(views),
            flat_mutation_reader_from_mutations(std::move(permit),
{std::move(m)}),
            std::move(existings),
            now);


The {std::move(m)} thing becomes an std::initializer_list used to initialize an
std::vector, and that other bug also had an std::initializer_list.

^ permalink raw reply	[flat|nested] 19+ messages in thread

* [Bug c++/101420] ICE in build_special_member_call, at cp/call.c:10179
  2021-07-11 15:39 [Bug c++/101420] New: ICE in build_special_member_call, at cp/call.c:10179 avi@cloudius-systems.com
                   ` (13 preceding siblings ...)
  2021-07-12  8:42 ` avi@cloudius-systems.com
@ 2021-07-12  8:51 ` avi@cloudius-systems.com
  2021-07-12  8:52 ` avi@cloudius-systems.com
                   ` (2 subsequent siblings)
  17 siblings, 0 replies; 19+ messages in thread
From: avi@cloudius-systems.com @ 2021-07-12  8:51 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101420

--- Comment #15 from Avi Kivity <avi@cloudius-systems.com> ---
If I move the sub-expression that contains the std::initializer_list outside
co_await, the internal error is avoided.

^ permalink raw reply	[flat|nested] 19+ messages in thread

* [Bug c++/101420] ICE in build_special_member_call, at cp/call.c:10179
  2021-07-11 15:39 [Bug c++/101420] New: ICE in build_special_member_call, at cp/call.c:10179 avi@cloudius-systems.com
                   ` (14 preceding siblings ...)
  2021-07-12  8:51 ` avi@cloudius-systems.com
@ 2021-07-12  8:52 ` avi@cloudius-systems.com
  2021-07-12  9:01 ` iains at gcc dot gnu.org
  2021-07-12  9:03 ` avi@cloudius-systems.com
  17 siblings, 0 replies; 19+ messages in thread
From: avi@cloudius-systems.com @ 2021-07-12  8:52 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101420

--- Comment #16 from Avi Kivity <avi@cloudius-systems.com> ---
So I confirm it's a dup. Are you still interested in a reduced testcase?

^ permalink raw reply	[flat|nested] 19+ messages in thread

* [Bug c++/101420] ICE in build_special_member_call, at cp/call.c:10179
  2021-07-11 15:39 [Bug c++/101420] New: ICE in build_special_member_call, at cp/call.c:10179 avi@cloudius-systems.com
                   ` (15 preceding siblings ...)
  2021-07-12  8:52 ` avi@cloudius-systems.com
@ 2021-07-12  9:01 ` iains at gcc dot gnu.org
  2021-07-12  9:03 ` avi@cloudius-systems.com
  17 siblings, 0 replies; 19+ messages in thread
From: iains at gcc dot gnu.org @ 2021-07-12  9:01 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101420

Iain Sandoe <iains at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |RESOLVED
         Resolution|---                         |DUPLICATE

--- Comment #17 from Iain Sandoe <iains at gcc dot gnu.org> ---
(In reply to Avi Kivity from comment #16)
> So I confirm it's a dup. Are you still interested in a reduced testcase?

Not necessary.
However, if you already have it - then I can add to my existing set of tests
for 98056.

marking this as a dup.

*** This bug has been marked as a duplicate of bug 98056 ***

^ permalink raw reply	[flat|nested] 19+ messages in thread

* [Bug c++/101420] ICE in build_special_member_call, at cp/call.c:10179
  2021-07-11 15:39 [Bug c++/101420] New: ICE in build_special_member_call, at cp/call.c:10179 avi@cloudius-systems.com
                   ` (16 preceding siblings ...)
  2021-07-12  9:01 ` iains at gcc dot gnu.org
@ 2021-07-12  9:03 ` avi@cloudius-systems.com
  17 siblings, 0 replies; 19+ messages in thread
From: avi@cloudius-systems.com @ 2021-07-12  9:03 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101420

--- Comment #18 from Avi Kivity <avi@cloudius-systems.com> ---
It's still >7MB long, so I'll stop reducing.

^ permalink raw reply	[flat|nested] 19+ messages in thread

end of thread, other threads:[~2021-07-12  9:03 UTC | newest]

Thread overview: 19+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-07-11 15:39 [Bug c++/101420] New: ICE in build_special_member_call, at cp/call.c:10179 avi@cloudius-systems.com
2021-07-11 15:44 ` [Bug c++/101420] " avi@cloudius-systems.com
2021-07-11 15:45 ` avi@cloudius-systems.com
2021-07-12  7:35 ` avi@cloudius-systems.com
2021-07-12  7:40 ` iains at gcc dot gnu.org
2021-07-12  7:48 ` avi@cloudius-systems.com
2021-07-12  8:02 ` iains at gcc dot gnu.org
2021-07-12  8:04 ` avi@cloudius-systems.com
2021-07-12  8:06 ` avi@cloudius-systems.com
2021-07-12  8:10 ` avi@cloudius-systems.com
2021-07-12  8:30 ` avi@cloudius-systems.com
2021-07-12  8:33 ` iains at gcc dot gnu.org
2021-07-12  8:34 ` iains at gcc dot gnu.org
2021-07-12  8:34 ` avi@cloudius-systems.com
2021-07-12  8:42 ` avi@cloudius-systems.com
2021-07-12  8:51 ` avi@cloudius-systems.com
2021-07-12  8:52 ` avi@cloudius-systems.com
2021-07-12  9:01 ` iains at gcc dot gnu.org
2021-07-12  9:03 ` avi@cloudius-systems.com

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).