Segmentation fault beim Aufruf der bash

foo

move 'zig'
Hallo zusammen

Ich hab ein kleines Problem mit meinem OpenBSD...
Wenn ich eine bash starten will, erhalte ich einen Segmentation fault. Dasselbe passiert z.B. auch bei qiv (Image Viewer).
Die Fehlermeldung ist nicht sehr aussagekräftig, und ich weiss nicht, in welchem Log ich dazu nachschauen sollte. Ein kleiner Blick auf ein paar Dateien in /var/log hat nichts gebracht..

Code:
$ bash
Segmentation fault

Es handelt sich um ein mehr oder weniger blitzblankes OpenBSD 3.7

Code:
$ uname -a               
OpenBSD noisy.local 3.7 GENERIC#50 i386

Die folgenden Pakete hab ich via pkg_add installiert:

Code:
$ pkg_info
anacron-2.3p0       periodic command scheduler
aterm-0.4.2         color vt102 terminal emulator with transparency support
bash-3.0.16p0       GNU Bourne Again Shell
bzip2-1.0.2         block-sorting file compressor, unencumbered
cowsay-3.03         speaking ascii cow
curl-7.11.2p0       get files from FTP, Gopher, HTTP or HTTPS servers
esound-0.2.34       sound library for Enlightenment
figlet-2.2.1        generates ASCII banner art
gettext-0.10.40p2   GNU gettext
glib-1.2.10         useful routines for C programming
gtk+-1.2.10p1       General Toolkit for X11 GUI
imlib-1.9.14p3      image manipulation library for X11
jpeg-6b             IJG's JPEG compression utilities
libaudiofile-0.2.6  SGI audiofile library clone
libiconv-1.9.2      character set conversion library
libungif-4.1.0b1    tools and library routines for working with GIF images
links+-2.1pre16     graphics and text browser with javascript support
mysql-client-4.0.23 multithreaded SQL database (client)
mysql-server-4.0.23p1 multithreaded SQL database (server)
ncftp-3.1.8p0       ftp replacement with advanced user interface
no-ip-2.1.1         No-IP.com Dynamic DNS client
p5-DBD-mysql-2.9004 MySQL drivers for the Perl DBI
p5-DBI-1.45p1       unified perl interface for database access
p5-Net-Daemon-0.38  extension for portable daemons
p5-PlRPC-0.2018     module for writing rpc servers and clients
png-1.2.7p1         library for manipulating PNG images
qiv-2.0             very small and pretty fast gdk/Imlib image viewer
screen-4.0.2        multi-screen window manager
syslog-ng-1.6.4     syslogd replacement
tiff-3.6.1p3        tools and library routines for working with TIFF images
wget-1.8.2          retrieve files from the 'net via HTTP and FTP
zsh-4.2.4           Z shell, Bourne shell-compatible, release flavor


Ich weiss leider ueberhaupt nicht, wie ich den Fehler analysieren koennte.
Vielen Dank fuer eure Hilfe

Gruss
Jonathan
 
Du hast die zsh installiert, hat die das selbe Problem?

leg' einen neuen user an (kontrolliere auch /etc/profile und kommentiere alles aus) und versuch es unter dieser UID (gib ihm aber nicht die bash als Login-Shell ;-)

versuche die bash aus den Sourcen von Hand zu installieren (bei FreeBSD portinstall bash oder cd /usr/ports/shells/bash && make install, bei OBSD wird es ähnlich sein)

schau mal mit ldd `which bash` welche Libs benötigt werden und versuche die neu zu installieren..

HTH
 
Hi

Ich verwende die pdksh. sh, zsh, ksh und csh funktionieren problemlos.

Code:
$ bash --noprofile
Segmentation fault

Code:
$ ldd $(which bash)
/usr/local/bin/bash:
/usr/local/bin/bash: signal 11

Und mit qiv, wo dasselbe Problem auftaucht:
Code:
$ ldd $(which qiv)
/usr/local/bin/qiv:
/usr/local/bin/qiv: signal 11

Und was ganz spannendes:
Code:
$ ldd $(which wget)
/usr/local/bin/wget:
/usr/local/bin/wget: signal 11

ldd ist aber nicht kaputt:
Code:
$ ldd $(which ldd)
/usr/bin/ldd:
        Start    End      Type Ref Name
        00000000 00000000 exe   1  /usr/bin/ldd
        04f0e000 24f45000 rlib  1  /usr/lib/libc.so.34.2
        08552000 08552000 rtld  1  /usr/libexec/ld.so

Nun habe ich bash-3.0 kompiliert (http://ftp.gnu.org/gnu/bash/bash-3.0.tar.gz) und die funktioniert. Ist aber trotzdem keine Loesung fuer mein Problem. Die bash brauche ich eigentlich gar nicht ;) aber halt wget usw..

Gruss
Jonathan
 
interessant.... dann verwendet die vorkompilierte bash wohl eine Lib die von der selbstgebauten bash nicht verwendet wird, möglicherweise fehlt hier etwas bei Deiner Installation...

bei mir (FreeBS) sieht es so aus:

Code:
user@host > ldd `which wget`
/usr/local/bin/wget:
        libintl.so.6 => /usr/local/lib/libintl.so.6 (0x2809a000)
        libssl.so.3 => /usr/lib/libssl.so.3 (0x280a3000)
        libcrypto.so.3 => /lib/libcrypto.so.3 (0x280d1000)
        libc.so.5 => /lib/libc.so.5 (0x281c8000)
        libiconv.so.3 => /usr/local/lib/libiconv.so.3 (0x282a2000)
user@host > ldd `which bash`
/usr/local/bin/bash:
        libreadline.so.5 => /lib/libreadline.so.5 (0x280e1000)
        libhistory.so.5 => /usr/lib/libhistory.so.5 (0x2810d000)
        libncurses.so.5 => /lib/libncurses.so.5 (0x28114000)
        libc.so.5 => /lib/libc.so.5 (0x28153000)
die libc ist die einzige Lib, die von beiden Programmen benutzt wird und an der liegt es nicht, da ldd keine Probleme hat...

kennst Du dich mit gdb aus? Ich leider nicht... aber Du kannst mit "gdb bash" den gdb starten und dann mit "run" die bash ausführen, dann sollte der Fehler kommen und mit "list" kannst Du Dir den Code-Schnippsel anzeigen lassen (?) vielleicht hilfts...

Sorry, bin überfragt, tippe aber auf eine fehlerhafte OBSD Installation...
 
Hi

Danke für den Tip mit gdb, werd ich mal ausprobieren.
Ansonsten muss ich wohl OpenBSD neu installieren...

Gruss
Jonathan
 
Zurück
Oben