From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 48) id A3A8A3858D33; Thu, 4 Jan 2024 13:22:43 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org A3A8A3858D33 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1704374563; bh=wEjqj3LqhdiJXxbUFEyCzqUFmGsPu0vRhleDXq6SETk=; h=From:To:Subject:Date:In-Reply-To:References:From; b=IUgFkbuLWP6bS1QNCUbAV+9QYVGuZVA18RGAF7fDYEgP/roN64y/ovxz+7eQS6H15 uPSG24JtrVzw3TQzbcgl2MfSOPA+11nmuMxWu+18yTUAvNiVapZ8uvK+lA7VSEt2R9 rWeQoxwC+igSNRtZY+vpU8LYrTwtdx+EErAODivQ= From: "ssbssa at sourceware dot org" To: gdb-prs@sourceware.org Subject: [Bug gdb/18653] spawn changes SIGPIPE SIG_DFL to SIG_IGN Date: Thu, 04 Jan 2024 13:22:39 +0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gdb X-Bugzilla-Component: gdb X-Bugzilla-Version: HEAD X-Bugzilla-Keywords: X-Bugzilla-Severity: normal X-Bugzilla-Who: ssbssa at sourceware dot org X-Bugzilla-Status: REOPENED X-Bugzilla-Resolution: X-Bugzilla-Priority: P2 X-Bugzilla-Assigned-To: unassigned at sourceware dot org X-Bugzilla-Target-Milestone: 7.12 X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: cc Message-ID: In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: http://sourceware.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 List-Id: https://sourceware.org/bugzilla/show_bug.cgi?id=3D18653 Hannes Domani changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |ssbssa at sourceware dot o= rg --- Comment #12 from Hannes Domani --- (In reply to Sourceware Commits from comment #10) > The master branch has been updated by Pedro Alves : >=20 > https://sourceware.org/git/gitweb.cgi?p=3Dbinutils-gdb.git; > h=3De379cee61f3890e535e995828e8846b020ef2a32 >=20 > commit e379cee61f3890e535e995828e8846b020ef2a32 > Author: Pedro Alves > Date: Fri Jan 5 18:26:18 2018 +0000 >=20 > Fix regression: cannot start with LD_PRELOAD=3DlibSegFault.so (PR > gdb/18653#c7) >=20=20=20=20=20 > At https://sourceware.org/bugzilla/show_bug.cgi?id=3D18653#c7, Andrew > reports that the fix for PR gdb/18653 made GDB useless if you preload > libSegFault.so, because GDB internal-errors on startup: >=20=20=20=20=20 > $ LD_PRELOAD=3DlibSegFault.so gdb > src/gdb/common/signals-state-save-restore.c:64: internal-error: > unexpected signal handler > A problem internal to GDB has been detected, > further debugging may prove unreliable. > Aborted (core dumped) > $ >=20=20=20=20=20 > The internal error comes from the code saving the signal dispositions > inherited from gdb's parent: >=20=20=20=20=20 > (top-gdb) bt > #0 0x000000000056b001 in internal_error(char const*, int, char cons= t*, > ...) (file=3D0xaf5f38 "src/gdb/common/signals-state-save-restore.c", line= =3D64, > fmt=3D0xaf5f18 "unexpected signal handler") at src/gdb/common/errors.c:54 > #1 0x00000000005752c9 in save_original_signals_state() () at > src/gdb/common/signals-state-save-restore.c:64 > #2 0x00000000007425de in captured_main_1(captured_main_args*) > (context=3D0x7fffffffd860) > at src/gdb/main.c:509 > #3 0x0000000000743622 in captured_main(void*) (data=3D0x7fffffffd86= 0) at > src/gdb/main.c:1145 > During symbol reading, cannot get low and high bounds for subprogram > DIE at 24065. > #4 0x00000000007436f9 in gdb_main(captured_main_args*) > (args=3D0x7fffffffd860) at src/gdb/main.c:1171 > #5 0x0000000000413acd in main(int, char**) (argc=3D1, > argv=3D0x7fffffffd968) at src/gdb/gdb.c:32 >=20=20=20=20=20 > This commit downgrades the internal error to a warning. You'll get > instead: >=20=20=20=20=20 > ~~~ > $ LD_PRELOAD=3DlibSegFault.so gdb > warning: Found custom handler for signal 11 (Segmentation fault) > preinstalled. > Some signal dispositions inherited from the environment > (SIG_DFL/SIG_IGN) > won't be propagated to spawned programs. > GNU gdb (GDB) 8.0.50.20171213-git > Copyright (C) 2017 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-pc-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"... > (gdb) > ~~~ >=20=20=20=20=20 > This also moves the location where save_original_signals_state is > called a bit further below (to after option processing), so that "-q" > disables the warning: >=20=20=20=20=20 > ~~~ > $ LD_PRELOAD=3DlibSegFault.so gdb -q > (gdb) > ~~~ >=20=20=20=20=20 > New testcase included. >=20=20=20=20=20 > gdb/ChangeLog: > 2018-01-05 Pedro Alves >=20=20=20=20=20 > PR gdb/18653 > * common/signals-state-save-restore.c > (save_original_signals_state): New parameter 'quiet'. Warn if we > find a custom handler preinstalled, instead of internal erroring. > But only warn if !quiet. > * common/signals-state-save-restore.h > (save_original_signals_state): New parameter 'quiet'. > * main.c (captured_main_1): Move save_original_signals_state call > after option handling, and pass QUIET. >=20=20=20=20=20 > gdb/gdbserver/ChangeLog: > 2018-01-05 Pedro Alves >=20=20=20=20=20 > PR gdb/18653 > * server.c (captured_main): Pass quiet=3Dfalse to > save_original_signals_state. >=20=20=20=20=20 > gdb/testsuite/ChangeLog: > 2018-01-05 Pedro Alves >=20=20=20=20=20 > PR gdb/18653 > * gdb.base/libsegfault.exp: New. Can this be closed? --=20 You are receiving this mail because: You are on the CC list for the bug.=