/ bin / bash在启动时发出分段错误

时间:2012-03-30 18:55:27

标签: linux bash ssh segmentation-fault redhat

当我尝试SSH到远程服务器(运行RHEL 4.4.5-6)时,我从bash收到分段错误。提供我的凭据后,SSH客户端会回吐“上次登录:...”信息,然后挂起。

出于好奇,我按下了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$

我试图从GDB运行/ bin / bash。在中等等待时间之后,我终于得到了一个SIGSEGV错误:

(gdb) run
Starting program: /bin/bash

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

我对系统进行的最后一次(重大)更改是安装GNU屏幕(使用yum安装屏幕)。当我尝试启动时,屏幕似乎也挂了(我假设是因为它尝试运行bash,并且得到了相同的段错误。)

编辑:

我试过运行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 个答案:

答案 0 :(得分:6)

你是从内部递归地获取你的.bashrc,这在一个简短的测试中确实会导致分段错误。从.bashrc中删除该部分应该可以解决问题。