From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 48) id 551353858D39; Fri, 26 Nov 2021 15:01:55 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 551353858D39 From: "marxin at gcc dot gnu.org" To: gcc-bugs@gcc.gnu.org Subject: [Bug ipa/103441] [12 Regression] ICE in cgraph_node::verify_node() building libgo on powerpc64le-linux-gnu (--with-cpu=power9) Date: Fri, 26 Nov 2021 15:01:55 +0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: ipa X-Bugzilla-Version: 12.0 X-Bugzilla-Keywords: build, ice-on-valid-code X-Bugzilla-Severity: normal X-Bugzilla-Who: marxin at gcc dot gnu.org X-Bugzilla-Status: NEW X-Bugzilla-Resolution: X-Bugzilla-Priority: P3 X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org X-Bugzilla-Target-Milestone: 12.0 X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: everconfirmed bug_status cf_reconfirmed_on cc Message-ID: In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 X-BeenThere: gcc-bugs@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-bugs mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 26 Nov 2021 15:01:55 -0000 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=3D103441 Martin Li=C5=A1ka changed: What |Removed |Added ---------------------------------------------------------------------------- Ever confirmed|0 |1 Status|UNCONFIRMED |NEW Last reconfirmed| |2021-11-26 CC| |hubicka at gcc dot gnu.org, | |jamborm at gcc dot gnu.org --- Comment #1 from Martin Li=C5=A1ka --- All right, I can reproduce it on gcc112 compile farm machine with: ../configure --prefix=3D/home/marxin/bin/gcc --disable-bootstrap --enable-languages=3Dc,c++,lto,fortran,go --disable-libsanitizer --with-cpu=3Dpower9 ... /home/marxin/Programming/gcc/objdir/./gcc/go1 ../../../libgo/go/net/addrselect.go ../../../libgo/go/net/cgo_linux.go ../../../libgo/go/net/cgo_resnew.go ../../../libgo/go/net/cgo_socknew.go ../../../libgo/go/net/cgo_unix.go ../../../libgo/go/net/conf.go ../../../libgo/go/net/dial.go ../../../libgo/go/net/dnsclient.go ../../../libgo/go/net/dnsclient_unix.go ../../../libgo/go/net/dnsconfig_uni= x.go ../../../libgo/go/net/error_posix.go ../../../libgo/go/net/error_unix.go ../../../libgo/go/net/fd_posix.go ../../../libgo/go/net/fd_unix.go ../../../libgo/go/net/file.go ../../../libgo/go/net/file_unix.go ../../../libgo/go/net/hook.go ../../../libgo/go/net/hook_unix.go ../../../libgo/go/net/hosts.go ../../../libgo/go/net/interface.go ../../../libgo/go/net/interface_linux.go ../../../libgo/go/net/ip.go ../../../libgo/go/net/iprawsock.go ../../../libgo/go/net/iprawsock_posix.go ../../../libgo/go/net/ipsock.go ../../../libgo/go/net/ipsock_posix.go ../../../libgo/go/net/lookup.go ../../../libgo/go/net/lookup_unix.go ../../../libgo/go/net/mac.go ../../../libgo/go/net/net.go ../../../libgo/go/net/nss.go ../../../libgo/go/net/parse.go ../../../libgo/go/net/pipe.go ../../../libgo/go/net/port.go ../../../libgo/go/net/port_unix.go ../../../libgo/go/net/rawconn.go ../../../libgo/go/net/sendfile_glibc.go ../../../libgo/go/net/sock_cloexec.= go ../../../libgo/go/net/sock_linux.go ../../../libgo/go/net/sock_posix.go ../../../libgo/go/net/sockaddr_posix.go ../../../libgo/go/net/sockopt_linux= .go ../../../libgo/go/net/sockopt_posix.go ../../../libgo/go/net/sockoptip_linu= x.go ../../../libgo/go/net/sockoptip_posix.go ../../../libgo/go/net/splice_linux= .go ../../../libgo/go/net/tcpsock.go ../../../libgo/go/net/tcpsock_posix.go ../../../libgo/go/net/tcpsockopt_posix.go ../../../libgo/go/net/tcpsockopt_unix.go ../../../libgo/go/net/udpsock.go ../../../libgo/go/net/udpsock_posix.go ../../../libgo/go/net/unixsock.go ../../../libgo/go/net/unixsock_posix.go ../../../libgo/go/net/unixsock_readmsg_cmsg_cloexec.go ../../../libgo/go/net/writev_unix.go -quiet -dumpdir .libs/ -dumpbase net.go -dumpbase-ext .go -mcpu=3Dpower9 -g -O2 -fgo-pkgpath=3Dnet -fPIC -I . -L/home/marxin/Programming/gcc/objdir/./gcc -L/lib/../lib64 -L/usr/lib/../l= ib64 -o /tmp/cc0Ftahz.s we remove a BB here: #0 gimple_set_bb (stmt=3D0x3fffb01a2be0, bb=3D0x0) at ../../gcc/gimple.c:1= 772 #1 0x00000000107209b0 in gsi_remove (i=3D0x3fffffffd7c8, remove_permanently=3D) at ../../gcc/gimple-iterator.c:569 #2 0x0000000010bddd3c in remove_bb (bb=3D0x3fffb0de2698) at ../../gcc/tree-cfg.c:2338 #3 0x00000000104aa8a0 in delete_basic_block (bb=3D) at ../../gcc/cfghooks.c:616 #4 0x0000000010c087f4 in cleanup_control_flow_pre () at ../../gcc/tree-cfgcleanup.c:979 #5 0x0000000010c0b090 in cleanup_tree_cfg_noloop (ssa_update_flags=3D0) at ../../gcc/tree-cfgcleanup.c:1073 #6 cleanup_tree_cfg (ssa_update_flags=3D) at ../../gcc/tree-cfgcleanup.c:1183 #7 0x0000000010a52108 in execute_function_todo (fn=3D0x3fffb0020180, data=3D) at ../../gcc/passes.c:2008 #8 0x0000000010a52ea4 in do_per_function (callback=3D, data=3D) at ../../gcc/passes.c:1687 #9 0x0000000010a53124 in execute_todo (flags=3D32) at ../../gcc/passes.c:2= 096 #10 0x0000000010a5692c in execute_one_ipa_transform_pass (do_not_collect=3D, ipa_pass=3D0x1247cce0, node=3D) at ../../gcc/passes.c:2293 #11 execute_all_ipa_transforms (do_not_collect=3D) at ../../gcc/passes.c:2338 #12 0x000000001050c048 in cgraph_node::expand (this=3D0x3fffb062f570) at ../../gcc/cgraphunit.c:1827 #13 0x000000001050e050 in expand_all_functions () at ../../gcc/cgraphunit.c:1998 #14 symbol_table::compile (this=3D0x3fffaf0d0000) at ../../gcc/cgraphunit.c= :2348 #15 0x0000000010511e0c in symbol_table::finalize_compilation_unit (this=3D0x3fffaf0d0000) at ../../gcc/cgraphunit.c:2529 #16 0x0000000010b8c348 in compile_file () at ../../gcc/toplev.c:479 #17 0x00000000102c2234 in do_compile (no_backend=3Dfalse) at ../../gcc/toplev.c:2156 #18 toplev::main (this=3D0x3fffffffe0b0, argc=3D76, argv=3D0x3fffffffe4d8) = at ../../gcc/toplev.c:2308 #19 0x00000000102c4aa8 in main (argc=3D, argv=3D0x3fffffffe4= d8) at ../../gcc/main.c:39 (gdb) p *current_pass $11 =3D { =3D {type =3D IPA_PASS, name =3D 0x1203ee00 "cp", opti= nfo_flags =3D OPTGROUP_NONE, tv_id =3D TV_IPA_CONSTANT_PROP, properties_required =3D 0, properties_provided =3D 0, properties_destroyed =3D 0, todo_flags_start =3D= 524288, todo_flags_finish =3D 384},=20 _vptr.opt_pass =3D 0x122fcd80 , sub =3D 0x0, next =3D 0x1247cd90, static_pass_= number =3D 84, m_ctxt =3D 0x124336c0} and later we crash here: (gdb) p *current_pass $12 =3D { =3D {type =3D IPA_PASS, name =3D 0x12037058 "inline", optinfo_flags =3D OPTGROUP_INLINE, tv_id =3D TV_IPA_INLINING, properties_re= quired =3D 0, properties_provided =3D 0, properties_destroyed =3D 0, todo_flags_start = =3D 524288, todo_flags_finish =3D 128},=20 _vptr.opt_pass =3D 0x122fce40 , sub =3D 0x0, next =3D 0x1247d050, static_pass_number =3D 88, m_ctxt =3D 0x124336c0} (gdb) bt #0 0x00000000104f6904 in cgraph_node::verify_node (this=3D0x3fffb062f570) = at ../../gcc/cgraph.c:3582 #1 0x00000000104dfc94 in symtab_node::verify (this=3D) at ../../gcc/symtab.c:1358 #2 0x0000000010c6576c in optimize_inline_calls (fn=3D0x3fffb084ad00) at ../../gcc/tree-inline.c:5500 #3 0x000000001085a660 in inline_transform (node=3D0x3fffb062f570) at ../../gcc/ipa-inline-transform.c:790 #4 0x0000000010a56920 in execute_one_ipa_transform_pass (do_not_collect=3D, ipa_pass=3D0x1247cfa0, node=3D) at ../../gcc/passes.c:2290 #5 execute_all_ipa_transforms (do_not_collect=3D) at ../../gcc/passes.c:2338 #6 0x000000001050c048 in cgraph_node::expand (this=3D0x3fffb062f570) at ../../gcc/cgraphunit.c:1827 #7 0x000000001050e050 in expand_all_functions () at ../../gcc/cgraphunit.c:1998 #8 symbol_table::compile (this=3D0x3fffaf0d0000) at ../../gcc/cgraphunit.c= :2348 #9 0x0000000010511e0c in symbol_table::finalize_compilation_unit (this=3D0x3fffaf0d0000) at ../../gcc/cgraphunit.c:2529 #10 0x0000000010b8c348 in compile_file () at ../../gcc/toplev.c:479 #11 0x00000000102c2234 in do_compile (no_backend=3Dfalse) at ../../gcc/toplev.c:2156 #12 toplev::main (this=3D0x3fffffffe0b0, argc=3D76, argv=3D0x3fffffffe4d8) = at ../../gcc/toplev.c:2308 #13 0x00000000102c4aa8 in main (argc=3D, argv=3D0x3fffffffe4= d8) at ../../gcc/main.c:39 because: (gdb) p e->call_stmt->bb $14 =3D (basic_block) 0x0 The edge is: (gdb) p e->caller->debug() net.ubtoa.constprop.0.isra.0/6250 (net.ubtoa.constprop.isra) @0x3fffb062f570 Type: function definition analyzed Visibility: artificial References:=20 Referring:=20 Availability: local Function flags: count:1073741824 (estimated locally) body local Called by: net.IP.String/4510 (936945 (estimated locally),0.10 per call) = (can throw external) net.IP.String/4510 (937695 (estimated locally),0.10 per cal= l) (can throw external) net.IP.String/4510 (938446 (estimated locally),0.10 per call) (can throw external) net.IP.String/4510 (939197 (estimated locally),0= .10 per call) (can throw external)=20 Calls: runtime.goPanicIndex/5425 (107202 (estimated locally),0.00 per cal= l) (can throw external) runtime.goPanicIndex/5425 (214533 (estimated locally),= 0.00 per call) (can throw external) runtime.goPanicIndex/5425 (214705 (estimated locally),0.00 per call) (can throw external) runtime.goPanicIndex/5425 (214= 533 (estimated locally),0.00 per call) (can throw external) runtime.goPanicIndex/5425 (214705 (estimated locally),0.00 per call) (can t= hrow external) runtime.goPanicIndex/5425 (429410 (estimated locally),0.00 per ca= ll) (can throw external)=20 $16 =3D void (gdb) p e->callee->debug() runtime.goPanicIndex/5425 (runtime.goPanicIndex) @0x3fffb00a6e80 Type: function Visibility: semantic_interposition external public References:=20 Referring:=20 Availability: not_available Function flags: Called by: net.ipVersion/6311 (38042 (estimated locally),0.00 per call) (= can throw external) net.ipVersion/6309 (111103 (estimated locally),0.00 per cal= l) (can throw external) net.cgoNameinfoPTR.isra.0/6268 (375809 (estimated locally),0.00 per call) (can throw external) net.addrTable.isra.0/6261 (949= 53 (estimated locally),0.00 per call) (can throw external) net.newAddr.isra.0/= 6260 (21687 (estimated locally),0.00 per call) net.newAddr.isra.0/6260 (21678 (estimated locally),0.00 per call) net.newAddr.isra.0/6260 (21670 (estimated locally),0.00 per call) net.newAddr.isra.0/6260 (21661 (estimated locally),= 0.00 per call) net.joinIPv4Group.isra.0/6256 (24487 (estimated locally),0.00 per call) (can throw external) net.joinIPv4Group.isra.0/6256 (24478 (estimated locally),0.00 per call) (can throw external) net.joinIPv4Group.isra.0/6256 (24468 (estimated locally),0.00 per call) (can throw external) net.joinIPv4Group.isra.0/6256 (24458 (estimated locally),0.00 per call) (can throw external) net.ubtoa.constprop.0.isra.0/6250 (107202 (estimated locally),0.00 per call) (can throw external) net.ubtoa.constprop.0.isra.0/6= 250 (214533 (estimated locally),0.00 per call) (can throw external) net.ubtoa.constprop.0.isra.0/6250 (214705 (estimated locally),0.00 per call) (can throw external) net.ubtoa.constprop.0.isra.0/6250 (214533 (estimated locally),0.00 per call) (can throw external) net.ubtoa.constprop.0.isra.0/6= 250 (214705 (estimated locally),0.00 per call) (can throw external) net.ubtoa.constprop.0.isra.0/6250 (429410 (estimated locally),0.00 per call) (can throw external) net.goDebugString.constprop.0/6244 (1870724 (estimated locally),0.00 per call) net.goDebugString.constprop.0/6244 (1868852 (estima= ted locally),0.00 per call) net.goDebugString.constprop.0/6244 (4666755 (estima= ted locally),0.00 per call) net.newRequest.constprop.0/6240 (8410 (estimated locally),0.00 per call) (can throw external) net.newRequest.constprop.0/6240 (8407 (estimated locally),0.00 per call) (can throw external) net.Resolver.internetAddrList/4571 (90079 (estimated locally),0.00 per call) (can throw external) net.conf.hostLookupOrder/4354 (9581 (estimated locally),0.00 per call) net.avoidDNS/4410 (89987 (estimated locally),0.00 p= er call) (can throw external) net.SplitHostPort/4567 (73295 (estimated locally),0.00 per call) (can throw external) net.SplitHostPort/4567 (365115 (estimated locally),0.00 per call) (can throw external) net.dnsReadConfig/4= 425 (417518 (estimated locally),0.00 per call) net.dnsReadConfig/4425 (417685 (estimated locally),0.00 per call) net.dnsReadConfig/4425 (12306 (estimated locally),0.00 per call) net.last/4693 (413776 (estimated locally),0.01 per call) (can throw external) net.parseProcNetIGMP6/4491 (45876535 (estimated locally),0.18 per call) net.parseProcNetIGMP/4490 (14569609 (estimated locally),0.11 per call) net.parseProcNetIGMP/4490 (281432 (estimated locally),0.00 per call) net.readServices/4727 (78210 (estimated locally),0.= 00 per call) net.maxListenerBacklog/4742 (61029 (estimated locally),0.00 per c= all) net.splitAtBytes/4686 (9447 (estimated locally),0.00 per call) (can throw external) net.splitAtBytes/4686 (247778 (estimated locally),0.01 per call) = (can throw external) net.byMaskLength.Less/4321 (857447 (estimated locally),0.00= per call) (can throw external) net.byMaskLength.Less/4321 (858477 (estimated locally),0.00 per call) (can throw external) net.IP.String/4510 (17212 (estimated locally),0.00 per call) (can throw external) net.IP.String/4510 (34446 (estimated locally),0.00 per call) (can throw external) net.IP.String/4510 (839701 (estimated locally),0.09 per call) (can throw external) net.IP.String/4510 (287762 (estimated locally),0.03 per call) (can throw external) net.IP.String/4510 (750 (estimated locally),0.00 per call) = (can throw external) net.IP.String/4510 (751 (estimated locally),0.00 per call) = (can throw external) net.IP.String/4510 (751 (estimated locally),0.00 per call) = (can throw external) net.hexString/4511 (413611 (estimated locally),0.01 per cal= l) (can throw external) net.hexString/4511 (413776 (estimated locally),0.01 per call) (can throw external) net.IPNet.Contains/4521 (413776 (estimated locally),0.00 per call) (can throw external) net.IP.DefaultMask/4506 (351659 (estimated locally),0.00 per call) (can throw external) net.classifyScope/4= 324 (52371 (estimated locally),0.00 per call) (can throw external) net.classifyScope/4324 (80603 (estimated locally),0.00 per call) (can throw external) net.classifyScope/4324 (24504 (estimated locally),0.00 per call) = (can throw external) net.IP.IsLinkLocalUnicast/4501 (64399 (estimated locally),0= .00 per call) (can throw external) net.IP.IsLinkLocalUnicast/4501 (150203 (estimated locally),0.00 per call) (can throw external) net.IP.IsLinkLocalUnicast/4501 (300527 (estimated locally),0.00 per call) (= can throw external) net.IP.IsLinkLocalMulticast/4500 (64399 (estimated locally),0.00 per call) (can throw external) net.IP.IsLinkLocalMulticast/45= 00 (198241 (estimated locally),0.00 per call) (can throw external) net.IP.IsLinkLocalMulticast/4500 (102138 (estimated locally),0.00 per call) (can throw external) net.IP.IsLinkLocalMulticast/4500 (300527 (estimated locally),0.00 per call) (can throw external) net.IP.IsMulticast/4498 (300527 (estimated locally),0.00 per call) (can throw external) net.IP.IsPrivate/44= 97 (99125 (estimated locally),0.00 per call) (can throw external) net.IP.IsPrivate/4497 (67411 (estimated locally),0.00 per call) (can throw external) net.IP.IsPrivate/4497 (300527 (estimated locally),0.00 per call) = (can throw external) net.IP.IsLoopback/4496 (354493 (estimated locally),0.00 per call) (can throw external) net.reverseaddr/4384 (417714 (estimated locally),0.00 per call) (can throw external) net.reverseaddr/4384 (115821 (estimated locally),0.00 per call) (can throw external) net.reverseaddr/4384 (115867 (estimated locally),0.00 per call) (can throw external) net.reverseaddr/4384 (115913 (estimated locally),0.00 per call) (can throw external) net.reverseaddr/4384 (115960 (estimated locally),0.00 per call) (= can throw external) net.byRFC6724.Less/4317 (427781 (estimated locally),0.00 per call) (can throw external) net.byRFC6724.Less/4317 (427952 (estimated locally),0.00 per call) (can throw external) net.byRFC6724.Less/4317 (428124 (estimated locally),0.00 per call) (can throw external) net.byRFC6724.Less/= 4317 (428295 (estimated locally),0.00 per call) (can throw external) net.byRFC6724.Less/4317 (428466 (estimated locally),0.00 per call) (can thr= ow external) net.byRFC6724.Less/4317 (428638 (estimated locally),0.00 per call) (can throw external) net.byRFC6724.Less/4317 (857790 (estimated locally),0.= 00 per call) (can throw external) net.byRFC6724.Less/4317 (858477 (estimated locally),0.00 per call) (can throw external) net.commonPrefixLen/4325 (4200= 47 (estimated locally),0.00 per call) (can throw external) net.IP.To4/4504 (84= 778 (estimated locally),0.00 per call) (can throw external) net.IP.To4/4504 (16= 9624 (estimated locally),0.00 per call) (can throw external) net.byPref.sort/4396 (839926 (estimated locally),0.03 per call) (can throw external) net.byPriorityWeight.sort/4392 (420906 (estimated locally),0.02 per call) (= can throw external) net.byPriorityWeight.shuffleByWeight/4391 (30854 (estimated locally),0.01 per call) (can throw external) net.bytePtrToString/4329 (1073= 7416 (estimated locally),0.21 per call) (can throw external) syscall.StringBytePtr/5093 (28826 (estimated locally),0.00 per call) (can t= hrow external) net.kernelVersion/4740 (54537 (estimated locally),0.00 per call) = (can throw external) net.interfaceTable/4483 (113931 (estimated locally),0.00 per call) (can throw external) net.parsePort/4726 (3241008 (estimated locally),= 0.00 per call) (can throw external) net.parsePort/4726 (283464 (estimated locally),0.00 per call) (can throw external) net.favoriteAddrFamily/4575 (858820 (estimated locally),0.00 per call) (can throw external) net.ipVersion/4580 (332 (estimated locally),0.00 per call) (can throw exter= nal)=20 Calls:=