/ bin / bash дает ошибку сегментации при запуске - PullRequest
1 голос
/ 30 марта 2012

Я получаю ошибку сегментации от bash, когда пытаюсь подключиться по SSH к удаленному серверу (работает RHEL 4.4.5-6). После предоставления моих учетных данных клиент SSH выдает информацию «Last login: ...» и просто зависает.

Из любопытства я нажал Ctrl-C и смог получить приглашение bash. Тем не менее, это не «обычное» приглашение, которое я вижу (обычно оно содержит мое имя пользователя, имя хоста сервера и т. Д.).

login as: xxxxxxx
xxxxx@xxxx's password:
Last login: Fri Mar 30 14:33:41 2012 from xxx.xx.xx.xxx

-bash-4.1$ echo $0
-bash
-bash-4.1$

Я пытался запустить / bin / bash из GDB. После среднего времени ожидания я наконец-то получил ошибку SIGSEGV:

(gdb) run
Starting program: /bin/bash

Program received signal SIGSEGV, Segmentation fault.
0x08067ab5 in yyparse ()
(gdb)

Последними (значительными) изменениями, которые я внес в систему, была установка экрана GNU (с использованием экрана установки yum). Экран, кажется, тоже зависал, когда я пытался его запустить (я полагаю, потому что он попытался запустить bash и получил тот же segfault).

Edit:

Я пытался запустить rpm -V:

-bash-4.1$ rpm -V bash
-bash-4.1$

Вот мои файлы .bash *:

.bashrc:

# .bashrc

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
        . ~/.bashrc
fi

# User specific environment and startup programs

.bash_profile:

# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
        . ~/.bashrc
fi

# User specific environment and startup programs

.bash_logout:

# ~/.bash_logout

.bash_history довольно длинный. Я удалил его, попытался войти снова и получил те же результаты.

1 Ответ

6 голосов
/ 30 марта 2012

Вы рекурсивно извлекаете ваш .bashrc изнутри себя, что в коротком тесте здесь действительно приводит к ошибке сегментации. Надеемся, что удаление этой части из вашего .bashrc решит проблему.

...