On 06-Nov-2021, Ben Finney wrote:
> When I invoke GDB on the core dump, this is the session:
> 
> =====
> $ coredumpctl gdb
> […]
>            PID: 45094 (bash)
>            UID: 1000 (bignose)
>            GID: 1000 (bignose)
>         Signal: 11 (SEGV)
>      Timestamp: Sat 2021-11-06 23:01:32 AEDT (54s ago)
>   Command Line: -/bin/bash -c $'/usr/bin/gnome-session -l '
>     Executable: /usr/bin/bash
> […]
>                 #62 0x000055c7801d075b execute_command_internal (bash + 
> 0x4a75b)
>                 #63 0x000055c780222bd9 parse_and_execute (bash + 0x9cbd9)

After a lot of narrowing down what in this user's session could cause
Bash to segmentation fault, I've found that this makes the difference:

* When the user's home directory contains ‘$HOME/.gnomerc’, the Bash
  segmentation fault occurs.

  The content of ‘$HOME/.gnomerc’ is:

=====
# $HOME/.gnomerc
# Roaming profile: User specific configuration for GNOME session.

. ~/.profile
=====

  which simply “sources” the user's shell profile script.

  This file (and the ‘$HOME/.profile’) has been present for years with
  the same content, without incident on previous Gnome or Bash
  versions.

* When the user's home directory does not contain ‘$HOME/.gnomerc’,
  the user login works fine, as it did a month ago.

So the Gnome session is (I assume) invoking that script, which in turn
sources the ‘$HOME/.profile’ script; and somehow that causes Bash to
segfault.

This same ‘$HOME/.profile’ script is large and somewhat sensitive; but
it should never cause Bash to crash, and never does cause it to crash
when logging in outside Gnome.

-- 
 \         “In any great organization it is far, far safer to be wrong |
  `\          with the majority than to be right alone.” —John Kenneth |
_o__)                                            Galbraith, 1989-07-28 |
Ben Finney <bign...@debian.org>

Attachment: signature.asc
Description: PGP signature

Reply via email to