From unknown Fri Jun 20 07:29:01 2025 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Mailer: MIME-tools 5.509 (Entity 5.509) Content-Type: text/plain; charset=utf-8 From: bug#31708 <31708@debbugs.gnu.org> To: bug#31708 <31708@debbugs.gnu.org> Subject: Status: 'gcc-strmov-store-file-names.patch' causes GCC segfaults Reply-To: bug#31708 <31708@debbugs.gnu.org> Date: Fri, 20 Jun 2025 14:29:01 +0000 retitle 31708 'gcc-strmov-store-file-names.patch' causes GCC segfaults reassign 31708 guix submitter 31708 ludo@gnu.org (Ludovic Court=C3=A8s) severity 31708 important tag 31708 fixed thanks From debbugs-submit-bounces@debbugs.gnu.org Mon Jun 04 05:36:36 2018 Received: (at submit) by debbugs.gnu.org; 4 Jun 2018 09:36:36 +0000 Received: from localhost ([127.0.0.1]:60887 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fPlum-0002eZ-9G for submit@debbugs.gnu.org; Mon, 04 Jun 2018 05:36:36 -0400 Received: from eggs.gnu.org ([208.118.235.92]:50731) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fPluk-0002eL-OC for submit@debbugs.gnu.org; Mon, 04 Jun 2018 05:36:35 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fPlud-0004v5-UP for submit@debbugs.gnu.org; Mon, 04 Jun 2018 05:36:29 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=disabled version=3.3.2 Received: from lists.gnu.org ([2001:4830:134:3::11]:42595) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1fPlud-0004ut-RM for submit@debbugs.gnu.org; Mon, 04 Jun 2018 05:36:27 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:41690) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fPluc-0007W7-Bb for bug-guix@gnu.org; Mon, 04 Jun 2018 05:36:27 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fPluZ-0004qj-86 for bug-guix@gnu.org; Mon, 04 Jun 2018 05:36:26 -0400 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:45629) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fPluZ-0004qX-3l for bug-guix@gnu.org; Mon, 04 Jun 2018 05:36:23 -0400 Received: from [193.50.110.154] (port=37840 helo=ribbon) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1fPluY-0007jo-MQ for bug-guix@gnu.org; Mon, 04 Jun 2018 05:36:22 -0400 From: ludo@gnu.org (Ludovic =?utf-8?Q?Court=C3=A8s?=) To: bug-guix@gnu.org Subject: 'gcc-strmov-store-file-names.patch' causes GCC segfaults X-URL: http://www.fdn.fr/~lcourtes/ X-Revolutionary-Date: 16 Prairial an 226 de la =?utf-8?Q?R=C3=A9volution?= X-PGP-Key-ID: 0x090B11993D9AEBB5 X-PGP-Key: http://www.fdn.fr/~lcourtes/ludovic.asc X-PGP-Fingerprint: 3CE4 6455 8A84 FDC6 9DB4 0CFB 090B 1199 3D9A EBB5 X-OS: x86_64-pc-linux-gnu Date: Mon, 04 Jun 2018 11:36:20 +0200 Message-ID: <87k1reuc4r.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.1 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-Received-From: 2001:4830:134:3::11 X-Spam-Score: -5.0 (-----) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -6.0 (------) Hello, On current =E2=80=98core-updates=E2=80=99, we have: --8<---------------cut here---------------start------------->8--- $ readlink -f $(type -P gcc) /gnu/store/zrhwhlqqk51qslbddk4cip2z2p3fpvxd-gcc-5.5.0/bin/gcc ludo@ribbon /home/ludo/src/guix/+core-updates$ cat strmov-ice.c #define _GNU_SOURCE #include void foo (char *x) { static const char buf[12]; memcpy (x, buf, 12); } $ gcc -dH -O2 -Wall -c strmov-ice.c strmov-ice.c: In function =E2=80=98foo=E2=80=99: strmov-ice.c:7:3: internal compiler error: Segmentation fault memcpy (x, buf, 12); ^ gcc: internal compiler error: Aborted (program cc1) Please submit a full bug report, with preprocessed source if appropriate. See for instructions. $ gdb /gnu/store/zrhwhlqqk51qslbddk4cip2z2p3fpvxd-gcc-5.5.0/libexec/gcc/x86= _64-unknown-linux-gnu/5.5.0/cc1 core=20 GNU gdb (GDB) 8.1 Copyright (C) 2018 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "x86_64-unknown-linux-gnu". Type "show configuration" for configuration details. For bug reporting instructions, please see: . Find the GDB manual and other documentation resources online at: . For help, type "help". Type "apropos word" to search for commands related to "word"... Reading symbols from /gnu/store/zrhwhlqqk51qslbddk4cip2z2p3fpvxd-gcc-5.5.0/= libexec/gcc/x86_64-unknown-linux-gnu/5.5.0/cc1...(no debugging symbols foun= d)...done. [New LWP 1694] Core was generated by `/gnu/store/zrhwhlqqk51qslbddk4cip2z2p3fpvxd-gcc-5.5.= 0/libexec/gcc/x86_64-unknow'. Program terminated with signal SIGABRT, Aborted. #0 0x00007fc415d8ba50 in raise () from /gnu/store/l4lr0f5cjd0nbsaaf8b5dmcw= 1a1yypr3-glibc-2.27/lib/libc.so.6 (gdb) bt #0 0x00007fc415d8ba50 in raise () from /gnu/store/l4lr0f5cjd0nbsaaf8b5dmcw= 1a1yypr3-glibc-2.27/lib/libc.so.6 #1 0x00007fc415d8cc31 in abort () from /gnu/store/l4lr0f5cjd0nbsaaf8b5dmcw= 1a1yypr3-glibc-2.27/lib/libc.so.6 #2 0x0000000000f947ab in diagnostic_action_after_output(diagnostic_context= *, diagnostic_t) () #3 0x0000000000f94a60 in diagnostic_report_diagnostic(diagnostic_context*,= diagnostic_info*) () #4 0x0000000000f95a88 in internal_error(char const*, ...) () #5 0x00000000009e9b40 in crash_signal(int) () #6 #7 0x00000000006b3404 in store_reference_p(tree_node*) () #8 0x00000000007f4880 in gimple_fold_builtin_memory_op(gimple_stmt_iterato= r*, tree_node*, tree_node*, int) () #9 0x00000000007f643e in gimple_fold_builtin(gimple_stmt_iterator*) () #10 0x00000000007f8cf4 in fold_stmt_1(gimple_stmt_iterator*, bool, tree_nod= e* (*)(tree_node*)) () #11 0x0000000000843c68 in gimplify_call_expr(tree_node**, gimple_statement_= base**, bool) () #12 0x000000000083f5c8 in gimplify_expr(tree_node**, gimple_statement_base*= *, gimple_statement_base**, bool (*)(tree_node*), int) () #13 0x0000000000840ad7 in gimplify_stmt(tree_node**, gimple_statement_base*= *) () #14 0x000000000083effc in gimplify_expr(tree_node**, gimple_statement_base*= *, gimple_statement_base**, bool (*)(tree_node*), int) () #15 0x0000000000840ad7 in gimplify_stmt(tree_node**, gimple_statement_base*= *) () #16 0x00000000008412de in gimplify_bind_expr(tree_node**, gimple_statement_= base**) () #17 0x000000000083f5aa in gimplify_expr(tree_node**, gimple_statement_base*= *, gimple_statement_base**, bool (*)(tree_node*), int) () #18 0x0000000000840ad7 in gimplify_stmt(tree_node**, gimple_statement_base*= *) () #19 0x0000000000841982 in gimplify_body(tree_node*, bool) () #20 0x0000000000841ca8 in gimplify_function_tree(tree_node*) () #21 0x00000000006fa268 in cgraph_node::analyze() () #22 0x00000000006fc870 in analyze_functions() () #23 0x00000000006fccb8 in symbol_table::finalize_compilation_unit() () #24 0x0000000000611183 in c_write_global_declarations() () #25 0x00000000009e9bd3 in compile_file() () #26 0x00000000005f0214 in toplev::main(int, char**) () #27 0x00000000005f0f7e in main () --8<---------------cut here---------------end--------------->8--- This is because DECL_INITIAL returns NULL_TREE for =E2=80=98buf=E2=80=99, b= ut =E2=80=98store_reference_p=E2=80=99 doesn=E2=80=99t check whether we got NU= LL_TREE. The fix is very simple (adding a NULL_TREE check), but in the meantime we need to work around it. A simple workaround is to pass an initializer to the static const array: --8<---------------cut here---------------start------------->8--- $ cat strmov-ice.c #define _GNU_SOURCE #include void foo (char *x) { static const char buf[12] =3D { 0, }; memcpy (x, buf, 12); } $ gcc -dH -O2 -Wall -c strmov-ice.c $ echo $? 0 --8<---------------cut here---------------end--------------->8--- The meaning of the program is unchanged but the bug is not triggered. =E2=80=9CApologies for the inconvenience and thank you for your understandi= ng=E2=80=9D as they say. Ludo=E2=80=99. From debbugs-submit-bounces@debbugs.gnu.org Mon Jun 04 05:54:12 2018 Received: (at control) by debbugs.gnu.org; 4 Jun 2018 09:54:12 +0000 Received: from localhost ([127.0.0.1]:60897 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fPmBo-00056b-76 for submit@debbugs.gnu.org; Mon, 04 Jun 2018 05:54:12 -0400 Received: from eggs.gnu.org ([208.118.235.92]:54952) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fPmBm-00056L-4Q for control@debbugs.gnu.org; Mon, 04 Jun 2018 05:54:10 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fPmBb-0008Hq-Ut for control@debbugs.gnu.org; Mon, 04 Jun 2018 05:54:04 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=disabled version=3.3.2 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:45838) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fPmBb-0008Hk-Qu for control@debbugs.gnu.org; Mon, 04 Jun 2018 05:53:59 -0400 Received: from [193.50.110.154] (port=37862 helo=ribbon) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1fPmBb-00044B-B1 for control@debbugs.gnu.org; Mon, 04 Jun 2018 05:53:59 -0400 Date: Mon, 04 Jun 2018 11:53:57 +0200 Message-Id: <87in6yubbe.fsf@gnu.org> To: control@debbugs.gnu.org From: ludo@gnu.org (Ludovic =?utf-8?Q?Court=C3=A8s?=) Subject: control message for bug #31708 MIME-version: 1.0 Content-type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2001:4830:134:3::e X-Spam-Score: -5.0 (-----) X-Debbugs-Envelope-To: control X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -6.0 (------) severity 31708 important From debbugs-submit-bounces@debbugs.gnu.org Mon Jun 04 21:01:59 2018 Received: (at 31708) by debbugs.gnu.org; 5 Jun 2018 01:01:59 +0000 Received: from localhost ([127.0.0.1]:33770 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fQ0MJ-0007v2-GQ for submit@debbugs.gnu.org; Mon, 04 Jun 2018 21:01:59 -0400 Received: from world.peace.net ([64.112.178.59]:46574) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fQ0MI-0007uq-GJ for 31708@debbugs.gnu.org; Mon, 04 Jun 2018 21:01:58 -0400 Received: from mhw by world.peace.net with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.89) (envelope-from ) id 1fQ0MC-00083H-Df; Mon, 04 Jun 2018 21:01:52 -0400 From: Mark H Weaver To: ludo@gnu.org (Ludovic =?utf-8?Q?Court=C3=A8s?=) Subject: Re: bug#31708: 'gcc-strmov-store-file-names.patch' causes GCC segfaults References: <87k1reuc4r.fsf@gnu.org> Date: Mon, 04 Jun 2018 21:00:37 -0400 In-Reply-To: <87k1reuc4r.fsf@gnu.org> ("Ludovic \=\?utf-8\?Q\?Court\=C3\=A8s\=22'\?\= \=\?utf-8\?Q\?s\?\= message of "Mon, 04 Jun 2018 11:36:20 +0200") Message-ID: <87sh623v4a.fsf@netris.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.1 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 31708 Cc: 31708@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) ludo@gnu.org (Ludovic Court=C3=A8s) writes: > On current =E2=80=98core-updates=E2=80=99, we have: > > $ readlink -f $(type -P gcc) > /gnu/store/zrhwhlqqk51qslbddk4cip2z2p3fpvxd-gcc-5.5.0/bin/gcc > ludo@ribbon /home/ludo/src/guix/+core-updates$ cat strmov-ice.c > #define _GNU_SOURCE > #include > > void foo (char *x) > { > static const char buf[12]; > memcpy (x, buf, 12); > } > $ gcc -dH -O2 -Wall -c strmov-ice.c > strmov-ice.c: In function =E2=80=98foo=E2=80=99: > strmov-ice.c:7:3: internal compiler error: Segmentation fault > memcpy (x, buf, 12); > ^ > gcc: internal compiler error: Aborted (program cc1) [...] > This is because DECL_INITIAL returns NULL_TREE for =E2=80=98buf=E2=80=99,= but > =E2=80=98store_reference_p=E2=80=99 doesn=E2=80=99t check whether we got = NULL_TREE. > > The fix is very simple (adding a NULL_TREE check), but in the meantime > we need to work around it. > > A simple workaround is to pass an initializer to the static const array: > > $ cat strmov-ice.c > #define _GNU_SOURCE > #include > > void foo (char *x) > { > static const char buf[12] =3D { 0, }; > memcpy (x, buf, 12); > } > $ gcc -dH -O2 -Wall -c strmov-ice.c > $ echo $? > 0 > > The meaning of the program is unchanged but the bug is not triggered. Thanks for tracking this down. This explains why I've been seeing an unusually large number of internal compiler errors in this core-updates cycle. It was a bit surprising since we used the same compiler in the previous cycle, so I was wondering what might be causing it. At the moment, the most pressing failure caused by this bug is 'doxygen' on armhf, which causes GCC to crash deterministically in the same place every time, with many important dependency failures. https://hydra.gnu.org/build/2669344 However, it's not obvious to me how best to work around the issue in this case. Here's the error message: --8<---------------cut here---------------start------------->8--- [ 36%] Building CXX object qtools/CMakeFiles/qtools.dir/qutfcodec.cpp.o cd /tmp/guix-build-doxygen-1.8.13.drv-0/build/qtools && /gnu/store/cd5q2pni= 1d95fs3cdabbclyh9hqhw2nq-gcc-5.5.0/bin/c++ -I/gnu/store/zjgd0wcbwxz8469sk= x5s83kibycf1n5p-glibc-2.27/include -I/tmp/guix-build-doxygen-1.8.13.drv-0/d= oxygen-1.8.13/qtools/. -O2 -g -DNDEBUG -o CMakeFiles/qtools.dir/qutfcode= c.cpp.o -c /tmp/guix-build-doxygen-1.8.13.drv-0/doxygen-1.8.13/qtools/qutfc= odec.cpp /tmp/guix-build-doxygen-1.8.13.drv-0/doxygen-1.8.13/qtools/qutfcodec.cpp: I= n member function =C3=A2=E2=82=AC=CB=9Cvirtual QCString QUtf16Encoder::from= Unicode(const QString&, int&)=C3=A2=E2=82=AC=E2=84=A2: /tmp/guix-build-doxygen-1.8.13.drv-0/doxygen-1.8.13/qtools/qutfcodec.cpp:21= 2:61: internal compiler error: Segmentation fault memcpy(d.rawData(),&QChar::byteOrderMark,sizeof(QChar)); ^ Please submit a full bug report, with preprocessed source if appropriate. See for instructions. make[2]: *** [qtools/CMakeFiles/qtools.dir/build.make:391: qtools/CMakeFile= s/qtools.dir/qutfcodec.cpp.o] Error 1 --8<---------------cut here---------------end--------------->8--- Here's the declaration of QChar::byteOrderMark from qtools/qstring.h, included in the doxygen tarball: --8<---------------cut here---------------start------------->8--- class Q_EXPORT Q_PACKED QChar { public: QChar(); QChar( char c ); QChar( uchar c ); QChar( uchar c, uchar r ); QChar( const QChar& c ); QChar( ushort rc ); QChar( short rc ); QChar( uint rc ); QChar( int rc ); QT_STATIC_CONST QChar null; // 0000 QT_STATIC_CONST QChar replacement; // FFFD QT_STATIC_CONST QChar byteOrderMark; // FEFF QT_STATIC_CONST QChar byteOrderSwapped; // FFFE QT_STATIC_CONST QChar nbsp; // 00A0 --8<---------------cut here---------------end--------------->8--- and here's its definition, from qtools/qstring.cpp line 12179: QT_STATIC_CONST_IMPL QChar QChar::byteOrderMark((ushort)0xfeff); Any suggestions? I've managed to avoid working with C++ so far in this millenium, so I'm a bit rusty. Mark From debbugs-submit-bounces@debbugs.gnu.org Tue Jun 05 18:26:08 2018 Received: (at 31708) by debbugs.gnu.org; 5 Jun 2018 22:26:08 +0000 Received: from localhost ([127.0.0.1]:35556 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fQKP2-0007t7-8Z for submit@debbugs.gnu.org; Tue, 05 Jun 2018 18:26:08 -0400 Received: from world.peace.net ([64.112.178.59]:51090) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fQKP0-0007sa-4q for 31708@debbugs.gnu.org; Tue, 05 Jun 2018 18:26:06 -0400 Received: from mhw by world.peace.net with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.89) (envelope-from ) id 1fQKOu-0006bl-Hv; Tue, 05 Jun 2018 18:26:00 -0400 From: Mark H Weaver To: ludo@gnu.org (Ludovic =?utf-8?Q?Court=C3=A8s?=) Subject: Re: bug#31708: 'gcc-strmov-store-file-names.patch' causes GCC segfaults References: <87k1reuc4r.fsf@gnu.org> <87sh623v4a.fsf@netris.org> Date: Tue, 05 Jun 2018 18:24:43 -0400 In-Reply-To: <87sh623v4a.fsf@netris.org> (Mark H. Weaver's message of "Mon, 04 Jun 2018 21:00:37 -0400") Message-ID: <87602w3m8k.fsf@netris.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.1 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 31708 Cc: 31708@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Mark H Weaver writes: > Here's the declaration of QChar::byteOrderMark from qtools/qstring.h, > included in the doxygen tarball: > > class Q_EXPORT Q_PACKED QChar { > public: > QChar(); > QChar( char c ); > QChar( uchar c ); > QChar( uchar c, uchar r ); > QChar( const QChar& c ); > QChar( ushort rc ); > QChar( short rc ); > QChar( uint rc ); > QChar( int rc ); > > QT_STATIC_CONST QChar null; // 0000 > QT_STATIC_CONST QChar replacement; // FFFD > QT_STATIC_CONST QChar byteOrderMark; // FEFF > QT_STATIC_CONST QChar byteOrderSwapped; // FFFE > QT_STATIC_CONST QChar nbsp; // 00A0 > > and here's its definition, from qtools/qstring.cpp line 12179: > > QT_STATIC_CONST_IMPL QChar QChar::byteOrderMark((ushort)0xfeff); > > Any suggestions? I've managed to avoid working with C++ so far in this > millenium, so I'm a bit rusty. If some of these cases are difficult to work around, one option would be to add a new 'gcc-final/fixed' package or similar, with this bug fixed, and we could then add it as a 'native-input' to selected packages where it's needed, e.g. doxygen on armhf. Mark From debbugs-submit-bounces@debbugs.gnu.org Wed Jun 06 09:30:08 2018 Received: (at 31708) by debbugs.gnu.org; 6 Jun 2018 13:30:08 +0000 Received: from localhost ([127.0.0.1]:36027 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fQYVq-0003ZW-BL for submit@debbugs.gnu.org; Wed, 06 Jun 2018 09:30:07 -0400 Received: from eggs.gnu.org ([208.118.235.92]:41908) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fQYVo-0003Yc-GN for 31708@debbugs.gnu.org; Wed, 06 Jun 2018 09:30:04 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fQYVe-0001Ti-HM for 31708@debbugs.gnu.org; Wed, 06 Jun 2018 09:29:59 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=disabled version=3.3.2 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:36749) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fQYVe-0001Te-Dt; Wed, 06 Jun 2018 09:29:54 -0400 Received: from [193.50.110.188] (port=52772 helo=ribbon) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1fQYVd-0008JL-VA; Wed, 06 Jun 2018 09:29:54 -0400 From: ludo@gnu.org (Ludovic =?utf-8?Q?Court=C3=A8s?=) To: Mark H Weaver Subject: Re: bug#31708: 'gcc-strmov-store-file-names.patch' causes GCC segfaults References: <87k1reuc4r.fsf@gnu.org> <87sh623v4a.fsf@netris.org> <87602w3m8k.fsf@netris.org> X-URL: http://www.fdn.fr/~lcourtes/ X-Revolutionary-Date: 18 Prairial an 226 de la =?utf-8?Q?R=C3=A9volution?= X-PGP-Key-ID: 0x090B11993D9AEBB5 X-PGP-Key: http://www.fdn.fr/~lcourtes/ludovic.asc X-PGP-Fingerprint: 3CE4 6455 8A84 FDC6 9DB4 0CFB 090B 1199 3D9A EBB5 X-OS: x86_64-pc-linux-gnu Date: Wed, 06 Jun 2018 15:29:52 +0200 In-Reply-To: <87602w3m8k.fsf@netris.org> (Mark H. Weaver's message of "Tue, 05 Jun 2018 18:24:43 -0400") Message-ID: <877encjb5b.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.1 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2001:4830:134:3::e X-Spam-Score: -5.0 (-----) X-Debbugs-Envelope-To: 31708 Cc: 31708@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -6.0 (------) Hi Mark, Mark H Weaver skribis: > Mark H Weaver writes: > >> Here's the declaration of QChar::byteOrderMark from qtools/qstring.h, >> included in the doxygen tarball: >> >> class Q_EXPORT Q_PACKED QChar { >> public: >> QChar(); >> QChar( char c ); >> QChar( uchar c ); >> QChar( uchar c, uchar r ); >> QChar( const QChar& c ); >> QChar( ushort rc ); >> QChar( short rc ); >> QChar( uint rc ); >> QChar( int rc ); >> >> QT_STATIC_CONST QChar null; // 0000 >> QT_STATIC_CONST QChar replacement; // FFFD >> QT_STATIC_CONST QChar byteOrderMark; // FEFF >> QT_STATIC_CONST QChar byteOrderSwapped; // FFFE >> QT_STATIC_CONST QChar nbsp; // 00A0 >> >> and here's its definition, from qtools/qstring.cpp line 12179: >> >> QT_STATIC_CONST_IMPL QChar QChar::byteOrderMark((ushort)0xfeff); >> >> Any suggestions? I've managed to avoid working with C++ so far in this >> millenium, so I'm a bit rusty. > > If some of these cases are difficult to work around, one option would be > to add a new 'gcc-final/fixed' package or similar, with this bug fixed, > and we could then add it as a 'native-input' to selected packages where > it's needed, e.g. doxygen on armhf. We could do that, though that means one more GCC to build, which isn=E2=80= =99t great. If there are few ICEs, maybe we can just fix them individually. Ludo=E2=80=99. From debbugs-submit-bounces@debbugs.gnu.org Fri Jun 08 06:04:12 2018 Received: (at 31708) by debbugs.gnu.org; 8 Jun 2018 10:04:12 +0000 Received: from localhost ([127.0.0.1]:38806 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fREFf-0001Iu-OA for submit@debbugs.gnu.org; Fri, 08 Jun 2018 06:04:12 -0400 Received: from mail-it0-f48.google.com ([209.85.214.48]:54909) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fREFd-0001Id-Jk for 31708@debbugs.gnu.org; Fri, 08 Jun 2018 06:04:10 -0400 Received: by mail-it0-f48.google.com with SMTP id 76-v6so1654222itx.4 for <31708@debbugs.gnu.org>; Fri, 08 Jun 2018 03:04:09 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=rsqXkbHStIqcKxidlsoJaOPL5AmFX5VEQ++GVaYfLvs=; b=LW/7za44/1Z9TPjM1y5U3vRQCXbZ1My1hQjcSmstV92WveKOxV+IXfJQmn1x2EdOno IYCWA4C9vaLng1CZ4uj2oQwYF0UwuaZ5oa/25NImQnHy/97lQIEO2cslo7S2WiZdtmiU RreNVXITUlOEWlJuNLMsHQLnq/vRCTzQrbaYgleDo4eNYgep55Wd7kY1Zdr1fyQXBVxA 50DF793t3X3mS6JQJAdUnUtZ4Iyup/u9xLt4YblLLYb4RVMjYDnHo22Ln9PN54848Pug 9VYRMgAQQrV3ca10xUcs7+64LOkh38VmoH+ggOqsYpVLF7iiu3XIbyP+q+nHlXBpI4+/ 4LVA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=rsqXkbHStIqcKxidlsoJaOPL5AmFX5VEQ++GVaYfLvs=; b=hiTOU20uncsqtds9veYkurt5Q0okGsbVHiFlpemBsv6WNdbZdRMaauMcZ5gyQzT/mU V+9lNyKUcop/hg+T0QcJ3s1LJ+4C8hNSuHEVgTrunckTDqLfLcoYl2Vv/ewUPmqF6KPJ dPVkIHHB/NaKSHRFKhLAxa75Viiz2LP6D6sR3F2aVx+tBKI07Qusw6wnjfK3Fb5fKYlD Hyo5M69dio3YdStPmb4ShHSWKj37bJgESAYRQGrVNdx9EexqHoIRnoXbOgM5qm9zxQm2 UOkYbo6oAztFms5XGiwsP3iqRJufpswUfWaz3qs9UAKHKxlx0J3nVAKXLQw9zejeg2TZ 4Mrg== X-Gm-Message-State: APt69E07hTVUxrdNoxL7ZNuQxNNwkeQ1moPQfacDPaXTAEkwBti3pFFt A3Jv9RS2Bwrk5WksgfvtdIV7/vrliNebsJFLXQ== X-Google-Smtp-Source: ADUXVKIqCgVfpo5Gx3Dly0FGcwcxMXbMjQm+TpzC6823MHPnVDbMkJgwuWiouAHQ45zLqkl01ibYmfb2Ua+d7B9Eci0= X-Received: by 2002:a24:be85:: with SMTP id i127-v6mr1013893itf.131.1528452243751; Fri, 08 Jun 2018 03:04:03 -0700 (PDT) MIME-Version: 1.0 Received: by 2002:a4f:a84d:0:0:0:0:0 with HTTP; Fri, 8 Jun 2018 03:04:03 -0700 (PDT) In-Reply-To: <87sh623v4a.fsf@netris.org> References: <87k1reuc4r.fsf@gnu.org> <87sh623v4a.fsf@netris.org> From: =?UTF-8?Q?G=C3=A1bor_Boskovits?= Date: Fri, 8 Jun 2018 12:04:03 +0200 Message-ID: Subject: Re: bug#31708: 'gcc-strmov-store-file-names.patch' causes GCC segfaults To: Mark H Weaver Content-Type: multipart/alternative; boundary="0000000000000b8bc5056e1e858a" X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 31708 Cc: 31708@debbugs.gnu.org, =?UTF-8?Q?Ludovic_Court=C3=A8s?= X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) --0000000000000b8bc5056e1e858a Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable 2018-06-05 3:00 GMT+02:00 Mark H Weaver : > ludo@gnu.org (Ludovic Court=C3=A8s) writes: > > > On current =E2=80=98core-updates=E2=80=99, we have: > > > > $ readlink -f $(type -P gcc) > > /gnu/store/zrhwhlqqk51qslbddk4cip2z2p3fpvxd-gcc-5.5.0/bin/gcc > > ludo@ribbon /home/ludo/src/guix/+core-updates$ cat strmov-ice.c > > #define _GNU_SOURCE > > #include > > > > void foo (char *x) > > { > > static const char buf[12]; > > memcpy (x, buf, 12); > > } > > $ gcc -dH -O2 -Wall -c strmov-ice.c > > strmov-ice.c: In function =E2=80=98foo=E2=80=99: > > strmov-ice.c:7:3: internal compiler error: Segmentation fault > > memcpy (x, buf, 12); > > ^ > > gcc: internal compiler error: Aborted (program cc1) > > [...] > > > This is because DECL_INITIAL returns NULL_TREE for =E2=80=98buf=E2=80= =99, but > > =E2=80=98store_reference_p=E2=80=99 doesn=E2=80=99t check whether we go= t NULL_TREE. > > > > The fix is very simple (adding a NULL_TREE check), but in the meantime > > we need to work around it. > > > > A simple workaround is to pass an initializer to the static const array= : > > > > $ cat strmov-ice.c > > #define _GNU_SOURCE > > #include > > > > void foo (char *x) > > { > > static const char buf[12] =3D { 0, }; > > memcpy (x, buf, 12); > > } > > $ gcc -dH -O2 -Wall -c strmov-ice.c > > $ echo $? > > 0 > > > > The meaning of the program is unchanged but the bug is not triggered. > > Thanks for tracking this down. This explains why I've been seeing an > unusually large number of internal compiler errors in this core-updates > cycle. It was a bit surprising since we used the same compiler in the > previous cycle, so I was wondering what might be causing it. > > At the moment, the most pressing failure caused by this bug is 'doxygen' > on armhf, which causes GCC to crash deterministically in the same place > every time, with many important dependency failures. > > https://hydra.gnu.org/build/2669344 > > However, it's not obvious to me how best to work around the issue in > this case. Here's the error message: > > --8<---------------cut here---------------start------------->8--- > [ 36%] Building CXX object qtools/CMakeFiles/qtools.dir/qutfcodec.cpp.o > cd /tmp/guix-build-doxygen-1.8.13.drv-0/build/qtools && /gnu/store/ > cd5q2pni1d95fs3cdabbclyh9hqhw2nq-gcc-5.5.0/bin/c++ -I/gnu/store/ > zjgd0wcbwxz8469skx5s83kibycf1n5p-glibc-2.27/include > -I/tmp/guix-build-doxygen-1.8.13.drv-0/doxygen-1.8.13/qtools/. -O2 -g > -DNDEBUG -o CMakeFiles/qtools.dir/qutfcodec.cpp.o -c > /tmp/guix-build-doxygen-1.8.13.drv-0/doxygen-1.8.13/qtools/qutfcodec.cpp > /tmp/guix-build-doxygen-1.8.13.drv-0/doxygen-1.8.13/qtools/qutfcodec.cpp: > In member function =C3=A2=E2=82=AC=CB=9Cvirtual QCString QUtf16Encoder::f= romUnicode(const > QString&, int&)=C3=A2=E2=82=AC=E2=84=A2: > /tmp/guix-build-doxygen-1.8.13.drv-0/doxygen-1.8.13/qtools/qutfcodec.cpp:= 212:61: > internal compiler error: Segmentation fault > memcpy(d.rawData(),&QChar::byteOrderMark,sizeof(QChar)); > ^ > Please submit a full bug report, > with preprocessed source if appropriate. > See for instructions. > make[2]: *** [qtools/CMakeFiles/qtools.dir/build.make:391: > qtools/CMakeFiles/qtools.dir/qutfcodec.cpp.o] Error 1 > --8<---------------cut here---------------end--------------->8--- > > Here's the declaration of QChar::byteOrderMark from qtools/qstring.h, > included in the doxygen tarball: > > --8<---------------cut here---------------start------------->8--- > class Q_EXPORT Q_PACKED QChar { > public: > QChar(); > QChar( char c ); > QChar( uchar c ); > QChar( uchar c, uchar r ); > QChar( const QChar& c ); > QChar( ushort rc ); > QChar( short rc ); > QChar( uint rc ); > QChar( int rc ); > > QT_STATIC_CONST QChar null; // 0000 > QT_STATIC_CONST QChar replacement; // FFFD > QT_STATIC_CONST QChar byteOrderMark; // FEFF > QT_STATIC_CONST QChar byteOrderSwapped; // FFFE > QT_STATIC_CONST QChar nbsp; // 00A0 > --8<---------------cut here---------------end--------------->8--- > > and here's its definition, from qtools/qstring.cpp line 12179: > > QT_STATIC_CONST_IMPL QChar QChar::byteOrderMark((ushort)0xfeff); > > Any suggestions? I've managed to avoid working with C++ so far in this > millenium, so I'm a bit rusty. > > I'm willing to investigate the possibilities we have in this case. Can you help me reproduce this, if it is still a problem? > Mark > > > > --0000000000000b8bc5056e1e858a Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
2018= -06-05 3:00 GMT+02:00 Mark H Weaver <mhw@netris.org>:
l= udo@gnu.org (Ludovic Court=C3=A8s) writes:

> On current =E2=80=98core-updates=E2=80=99, we have:
>
> $ readlink -f $(type -P gcc)
> /gnu/store/zrhwhlqqk51qslbddk4cip2z2p3fpvxd-gcc-5.5.0/bin/gc= c
> ludo@ribbon /home/ludo/src/guix/+core-updates$ cat strmov-ice.c > #define _GNU_SOURCE
> #include <string.h>
>
> void foo (char *x)
> {
>=C2=A0 =C2=A0static const char buf[12];
>=C2=A0 =C2=A0memcpy (x, buf, 12);
> }
> $ gcc -dH -O2 -Wall -c strmov-ice.c
> strmov-ice.c: In function =E2=80=98foo=E2=80=99:
> strmov-ice.c:7:3: internal compiler error: Segmentation fault
>=C2=A0 =C2=A0 memcpy (x, buf, 12);
>=C2=A0 =C2=A0 ^
> gcc: internal compiler error: Aborted (program cc1)

[...]

> This is because DECL_INITIAL returns NULL_TREE for =E2=80=98buf=E2=80= =99, but
> =E2=80=98store_reference_p=E2=80=99 doesn=E2=80=99t check whether we g= ot NULL_TREE.
>
> The fix is very simple (adding a NULL_TREE check), but in the meantime=
> we need to work around it.
>
> A simple workaround is to pass an initializer to the static const arra= y:
>
> $ cat strmov-ice.c
> #define _GNU_SOURCE
> #include <string.h>
>
> void foo (char *x)
> {
>=C2=A0 =C2=A0static const char buf[12] =3D { 0, };
>=C2=A0 =C2=A0memcpy (x, buf, 12);
> }
> $ gcc -dH -O2 -Wall -c strmov-ice.c
> $ echo $?
> 0
>
> The meaning of the program is unchanged but th= e bug is not triggered.

Thanks for tracking this down.=C2=A0 This explains why I've been= seeing an
unusually large number of internal compiler errors in this core-updates
cycle.=C2=A0 It was a bit surprising since we used the same compiler in the=
previous cycle, so I was wondering what might be causing it.

At the moment, the most pressing failure caused by this bug is 'doxygen= '
on armhf, which causes GCC to crash deterministically in the same place
every time, with many important dependency failures.

=C2=A0 https://hydra.gnu.org/build/2669344

However, it's not obvious to me how best to work around the issue in this case.=C2=A0 Here's the error message:

--8<---------------cut here---------------start------------->8--= -
[ 36%] Building CXX object qtools/CMakeFiles/qtools.dir/qutfcodec.cpp.= o
cd /tmp/guix-build-doxygen-1.8.13.drv-0/build/qtools && /gnu/s= tore/cd5q2pni1d95fs3cdabbclyh9hqhw2nq-gcc-5.5.0/bin/c++=C2=A0 =C2= =A0-I/gnu/store/zjgd0wcbwxz8469skx5s83kibycf1n5p-glibc-2.27/inclu= de -I/tmp/guix-build-doxygen-1.8.13.drv-0/doxygen-1.8.13/qtools/.= =C2=A0 -O2 -g -DNDEBUG=C2=A0 =C2=A0-o CMakeFiles/qtools.dir/qutfcodec.= cpp.o -c /tmp/guix-build-doxygen-1.8.13.drv-0/doxygen-1.8.13/qtoo= ls/qutfcodec.cpp
/tmp/guix-build-doxygen-1.8.13.drv-0/doxygen-1.8.13/qtools/qutfco= dec.cpp: In member function =C3=A2=E2=82=AC=CB=9Cvirtual QCString QUtf16Enc= oder::fromUnicode(const QString&, int&)=C3=A2=E2=82=AC=E2=84= =A2:
/tmp/guix-build-doxygen-1.8.13.drv-0/doxygen-1.8.13/qtools/qutfco= dec.cpp:212:61: internal compiler error: Segmentation fault
=C2=A0 =C2=A0 =C2=A0 memcpy(d.rawData(),&QChar::byteOrderMark,size= of(QChar));
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0^
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://gcc.gnu.org/bugs.html> for instructions.
make[2]: *** [qtools/CMakeFiles/qtools.dir/build.make:391: qtoo= ls/CMakeFiles/qtools.dir/qutfcodec.cpp.o] Error 1
--8<---------------cut here---------------end--------------->8--= -

Here's the declaration of QChar::byteOrderMark from qtools/qstring.h, included in the doxygen tarball:

--8<---------------cut here---------------start------------->8--= -
class Q_EXPORT Q_PACKED QChar {
public:
=C2=A0 =C2=A0 QChar();
=C2=A0 =C2=A0 QChar( char c );
=C2=A0 =C2=A0 QChar( uchar c );
=C2=A0 =C2=A0 QChar( uchar c, uchar r );
=C2=A0 =C2=A0 QChar( const QChar& c );
=C2=A0 =C2=A0 QChar( ushort rc );
=C2=A0 =C2=A0 QChar( short rc );
=C2=A0 =C2=A0 QChar( uint rc );
=C2=A0 =C2=A0 QChar( int rc );

=C2=A0 =C2=A0 QT_STATIC_CONST QChar null;=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0= =C2=A0 // 0000
=C2=A0 =C2=A0 QT_STATIC_CONST QChar replacement;=C2=A0 =C2=A0 =C2=A0// FFFD=
=C2=A0 =C2=A0 QT_STATIC_CONST QChar byteOrderMark;=C2=A0 =C2=A0 =C2=A0// FE= FF
=C2=A0 =C2=A0 QT_STATIC_CONST QChar byteOrderSwapped;=C2=A0 =C2=A0 =C2=A0//= FFFE
=C2=A0 =C2=A0 QT_STATIC_CONST QChar nbsp;=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0= =C2=A0 // 00A0
--8<---------------cut here---------------end--------------->8--= -

and here's its definition, from qtools/qstring.cpp line 12179:

=C2=A0 QT_STATIC_CONST_IMPL QChar QChar::byteOrderMark((ushort)0xfeff)= ;

Any suggestions?=C2=A0 I've managed to avoid working with C++ so far in= this
millenium, so I'm a bit rusty.


I'm willing to investigate the possibilities we = have in this case. Can you help me reproduce this, if it is still a problem= ?

=C2=A0
=C2=A0 =C2=A0 =C2=A0Mark




--0000000000000b8bc5056e1e858a-- From debbugs-submit-bounces@debbugs.gnu.org Fri Jun 08 09:26:26 2018 Received: (at 31708) by debbugs.gnu.org; 8 Jun 2018 13:26:26 +0000 Received: from localhost ([127.0.0.1]:38940 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fRHPO-0003pC-8u for submit@debbugs.gnu.org; Fri, 08 Jun 2018 09:26:26 -0400 Received: from eggs.gnu.org ([208.118.235.92]:42512) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fRHPN-0003p1-Ij for 31708@debbugs.gnu.org; Fri, 08 Jun 2018 09:26:25 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fRHPD-0007Y6-6V for 31708@debbugs.gnu.org; Fri, 08 Jun 2018 09:26:20 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=disabled version=3.3.2 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:57617) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fRHPD-0007Y2-2f; Fri, 08 Jun 2018 09:26:15 -0400 Received: from [193.50.110.75] (port=52198 helo=ribbon) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1fRHPB-0002vj-VA; Fri, 08 Jun 2018 09:26:14 -0400 From: ludo@gnu.org (Ludovic =?utf-8?Q?Court=C3=A8s?=) To: Mark H Weaver Subject: Re: bug#31708: 'gcc-strmov-store-file-names.patch' causes GCC segfaults References: <87k1reuc4r.fsf@gnu.org> <87sh623v4a.fsf@netris.org> X-URL: http://www.fdn.fr/~lcourtes/ X-Revolutionary-Date: 20 Prairial an 226 de la =?utf-8?Q?R=C3=A9volution?= X-PGP-Key-ID: 0x090B11993D9AEBB5 X-PGP-Key: http://www.fdn.fr/~lcourtes/ludovic.asc X-PGP-Fingerprint: 3CE4 6455 8A84 FDC6 9DB4 0CFB 090B 1199 3D9A EBB5 X-OS: x86_64-pc-linux-gnu Date: Fri, 08 Jun 2018 15:26:12 +0200 In-Reply-To: <87sh623v4a.fsf@netris.org> (Mark H. Weaver's message of "Mon, 04 Jun 2018 21:00:37 -0400") Message-ID: <87o9glmmtn.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.1 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2001:4830:134:3::e X-Spam-Score: -5.0 (-----) X-Debbugs-Envelope-To: 31708 Cc: 31708@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -6.0 (------) Hi Mark, Mark H Weaver skribis: > At the moment, the most pressing failure caused by this bug is 'doxygen' > on armhf, which causes GCC to crash deterministically in the same place > every time, with many important dependency failures. Fixed very elegantly in commit 849a1399ca46497ad6acc5b11903f345502c02de. The fact that it=E2=80=99s C++ makes things a little bit more complicated, = and it makes the bug a little bit more likely to trigger (because in C++ you can have declarations of =E2=80=98static const=E2=80=99 things, and a decla= ration doesn=E2=80=99t have an initializer, hence the NULL pointer dereference.) Thanks for the heads-up, Ludo=E2=80=99. From debbugs-submit-bounces@debbugs.gnu.org Fri Jun 08 14:12:41 2018 Received: (at 31708) by debbugs.gnu.org; 8 Jun 2018 18:12:42 +0000 Received: from localhost ([127.0.0.1]:39935 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fRLsP-00059X-MZ for submit@debbugs.gnu.org; Fri, 08 Jun 2018 14:12:41 -0400 Received: from world.peace.net ([64.112.178.59]:32928) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fRLsN-00059H-Dz for 31708@debbugs.gnu.org; Fri, 08 Jun 2018 14:12:39 -0400 Received: from mhw by world.peace.net with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.89) (envelope-from ) id 1fRLsH-0002vd-Jm; Fri, 08 Jun 2018 14:12:33 -0400 From: Mark H Weaver To: ludo@gnu.org (Ludovic =?utf-8?Q?Court=C3=A8s?=) Subject: Re: bug#31708: 'gcc-strmov-store-file-names.patch' causes GCC segfaults References: <87k1reuc4r.fsf@gnu.org> <87sh623v4a.fsf@netris.org> <87o9glmmtn.fsf@gnu.org> Date: Fri, 08 Jun 2018 14:11:20 -0400 In-Reply-To: <87o9glmmtn.fsf@gnu.org> ("Ludovic \=\?utf-8\?Q\?Court\=C3\=A8s\=22'\?\= \=\?utf-8\?Q\?s\?\= message of "Fri, 08 Jun 2018 15:26:12 +0200") Message-ID: <87h8mdp2rb.fsf@netris.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.1 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 31708 Cc: 31708@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) ludo@gnu.org (Ludovic Court=C3=A8s) writes: > Mark H Weaver skribis: > >> At the moment, the most pressing failure caused by this bug is 'doxygen' >> on armhf, which causes GCC to crash deterministically in the same place >> every time, with many important dependency failures. > > Fixed very elegantly in commit 849a1399ca46497ad6acc5b11903f345502c02de. > > The fact that it=E2=80=99s C++ makes things a little bit more complicated= , and > it makes the bug a little bit more likely to trigger (because in C++ you > can have declarations of =E2=80=98static const=E2=80=99 things, and a dec= laration > doesn=E2=80=99t have an initializer, hence the NULL pointer dereference.) Looks good. Thank you, Ludovic! Mark From debbugs-submit-bounces@debbugs.gnu.org Fri Jun 08 15:34:29 2018 Received: (at 31708) by debbugs.gnu.org; 8 Jun 2018 19:34:29 +0000 Received: from localhost ([127.0.0.1]:40038 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fRN9Z-0000hu-EN for submit@debbugs.gnu.org; Fri, 08 Jun 2018 15:34:29 -0400 Received: from eggs.gnu.org ([208.118.235.92]:51497) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fRN9X-0000hh-V6 for 31708@debbugs.gnu.org; Fri, 08 Jun 2018 15:34:28 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fRN9S-0002Vb-80 for 31708@debbugs.gnu.org; Fri, 08 Jun 2018 15:34:22 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=disabled version=3.3.2 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:36128) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fRN9S-0002VW-3x; Fri, 08 Jun 2018 15:34:22 -0400 Received: from [2a01:e0a:1d:7270:af76:b9b:ca24:c465] (port=42388 helo=ribbon) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1fRN9R-0003H4-C1; Fri, 08 Jun 2018 15:34:21 -0400 From: ludo@gnu.org (Ludovic =?utf-8?Q?Court=C3=A8s?=) To: =?utf-8?Q?G=C3=A1bor?= Boskovits Subject: Re: bug#31708: 'gcc-strmov-store-file-names.patch' causes GCC segfaults References: <87k1reuc4r.fsf@gnu.org> <87sh623v4a.fsf@netris.org> X-URL: http://www.fdn.fr/~lcourtes/ X-Revolutionary-Date: 20 Prairial an 226 de la =?utf-8?Q?R=C3=A9volution?= X-PGP-Key-ID: 0x090B11993D9AEBB5 X-PGP-Key: http://www.fdn.fr/~lcourtes/ludovic.asc X-PGP-Fingerprint: 3CE4 6455 8A84 FDC6 9DB4 0CFB 090B 1199 3D9A EBB5 X-OS: x86_64-pc-linux-gnu Date: Fri, 08 Jun 2018 21:34:19 +0200 In-Reply-To: (=?utf-8?Q?=22G=C3=A1bor?= Boskovits"'s message of "Fri, 8 Jun 2018 12:04:03 +0200") Message-ID: <87tvqdhy2s.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.1 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2001:4830:134:3::e X-Spam-Score: -5.0 (-----) X-Debbugs-Envelope-To: 31708 Cc: 31708@debbugs.gnu.org, Mark H Weaver X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -6.0 (------) Hi G=C3=A1bor, G=C3=A1bor Boskovits skribis: > I'm willing to investigate the possibilities we have in this case. Can you > help me reproduce this, if it is still a problem? Oops, I=E2=80=99m seeing your message just now and I fixed the issue earlier today. Thanks for the offer though! Ludo=E2=80=99. From debbugs-submit-bounces@debbugs.gnu.org Wed Jun 13 17:06:16 2018 Received: (at 31708) by debbugs.gnu.org; 13 Jun 2018 21:06:16 +0000 Received: from localhost ([127.0.0.1]:46955 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fTCy8-0005D2-9D for submit@debbugs.gnu.org; Wed, 13 Jun 2018 17:06:16 -0400 Received: from eggs.gnu.org ([208.118.235.92]:34331) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fTCy6-0005Cq-GF for 31708@debbugs.gnu.org; Wed, 13 Jun 2018 17:06:14 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fTCy0-0007Vf-HX for 31708@debbugs.gnu.org; Wed, 13 Jun 2018 17:06:09 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=disabled version=3.3.2 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:32831) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fTCy0-0007VU-EH for 31708@debbugs.gnu.org; Wed, 13 Jun 2018 17:06:08 -0400 Received: from [2a01:e0a:1d:7270:af76:b9b:ca24:c465] (port=58616 helo=ribbon) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1fTCy0-00043m-4T for 31708@debbugs.gnu.org; Wed, 13 Jun 2018 17:06:08 -0400 From: ludo@gnu.org (Ludovic =?utf-8?Q?Court=C3=A8s?=) To: 31708@debbugs.gnu.org Subject: Re: bug#31708: 'gcc-strmov-store-file-names.patch' causes GCC segfaults References: <87k1reuc4r.fsf@gnu.org> Date: Wed, 13 Jun 2018 23:06:06 +0200 In-Reply-To: <87k1reuc4r.fsf@gnu.org> ("Ludovic \=\?utf-8\?Q\?Court\=C3\=A8s\=22'\?\= \=\?utf-8\?Q\?s\?\= message of "Mon, 04 Jun 2018 11:36:20 +0200") Message-ID: <87k1r2o0qp.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.1 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2001:4830:134:3::e X-Spam-Score: -5.0 (-----) X-Debbugs-Envelope-To: 31708 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -6.0 (------) ludo@gnu.org (Ludovic Court=C3=A8s) skribis: > This is because DECL_INITIAL returns NULL_TREE for =E2=80=98buf=E2=80=99,= but > =E2=80=98store_reference_p=E2=80=99 doesn=E2=80=99t check whether we got = NULL_TREE. > > The fix is very simple (adding a NULL_TREE check), but in the meantime > we need to work around it. I pushed a fix in =E2=80=98core-updates=E2=80=99, commit 243ea8673f783d5a85df94b09d4ffd4bc6cc97ce. Ludo=E2=80=99. From debbugs-submit-bounces@debbugs.gnu.org Sat Jan 05 08:56:20 2019 Received: (at control) by debbugs.gnu.org; 5 Jan 2019 13:56:20 +0000 Received: from localhost ([127.0.0.1]:47358 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gfmR2-0004Xm-8I for submit@debbugs.gnu.org; Sat, 05 Jan 2019 08:56:20 -0500 Received: from mail3-relais-sop.national.inria.fr ([192.134.164.104]:39978) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gfmR0-0004XX-TV for control@debbugs.gnu.org; Sat, 05 Jan 2019 08:56:19 -0500 X-IronPort-AV: E=Sophos;i="5.56,443,1539640800"; d="scan'208";a="290824287" Received: from 91-160-117-201.subs.proxad.net (HELO ribbon) ([91.160.117.201]) by mail3-relais-sop.national.inria.fr with ESMTP/TLS/AES256-GCM-SHA384; 05 Jan 2019 14:56:13 +0100 Date: Sat, 05 Jan 2019 14:56:12 +0100 Message-Id: <87va335htv.fsf@gnu.org> To: control@debbugs.gnu.org From: =?utf-8?Q?Ludovic_Court=C3=A8s?= Subject: control message for bug #31708 MIME-version: 1.0 Content-type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Spam-Score: -4.0 (----) X-Debbugs-Envelope-To: control X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -5.0 (-----) tags 31708 fixed close 31708 From unknown Fri Jun 20 07:29:01 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Sun, 03 Feb 2019 12:24:04 +0000 User-Agent: Fakemail v42.6.9 # This is a fake control message. # # The action: # bug archived. thanks # This fakemail brought to you by your local debbugs # administrator