Zsh Mailing List Archive
Messages sorted by: Reverse Date, Date, Thread, Author

Problem w/zsh-2.6-beta13-hzoli13 as login shell (long)



-----BEGIN PGP SIGNED MESSAGE-----

Zsh is segfaulting when run from /bin/login, either from
rlogind/telnetd or by exec'ing /bin/login on the commandline.
Unfortunately, I can't get the thing to dump core, or I'd provide at
least a backtrace.  The most I've been able to do is get an strace,
which I've provided at the end of the message.

- From the end of the trace, as far as I can tell, it's dying in
readwtab(), though I'm puzzled as to why, since it never has the
chance to read any config files to know about $WATCH.

It has no problem if simply started from the commandline, or as an
argument to -e of xterm.  I have also tried running it as

  % ARGV0=-zsh zsh

but that works fine as well.  It's unlikely to be a problem with
/bin/login, as it's the same login that has worked fine for ages.  The
kernel is new, but the old zsh (hzoli12) doesn't have any problems
with that.

I don't know what else might be the problem.  I wish I could trace it
further, but like I said, I don't know how to get it to dump core.  If
you have any suggestions, I'll do that.

Here are my system specs: linux 1.3.71, libc5.0.9, ncurses 1.9.8a, gcc
2.7.0 (not using -fno-strength-reduce), /bin/login from the shadow
password suite.

I hope you can make some sense of this.

Thanks,
Danek

- ------------------8<------------------------------------8<------------------
execve("/bin/zsh", ["-zsh"], [/* 8 vars */]) = 0
mmap(0, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x40006000
mprotect(0x40000000, 18363, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
mprotect(0x8000000, 304971, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
stat("/etc/ld.so.cache", {st_mode=S_IFREG|0644, st_size=4486, ...}) = 0
open("/etc/ld.so.cache", O_RDONLY)      = 5
mmap(0, 4486, PROT_READ, MAP_SHARED, 5, 0) = 0x40007000
close(5)                                = 0
open("/lib/libncurses.so.3.0", O_RDONLY) = 5
read(5, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3"..., 4096) = 4096
mmap(0, 241664, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x40009000
mmap(0x40009000, 184727, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 5, 0) = 0x40009000
mmap(0x40037000, 34780, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 5, 0x2d000) = 0x40037000
mmap(0x40040000, 14032, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x40040000
close(5)                                = 0
mprotect(0x40009000, 184727, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
open("/lib/libc.so.5.0.9", O_RDONLY)    = 5
read(5, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3"..., 4096) = 4096
mmap(0, 720896, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x40044000
mmap(0x40044000, 489361, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 5, 0) = 0x40044000
mmap(0x400bc000, 19860, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 5, 0x77000) = 0x400bc000
mmap(0x400c1000, 205176, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x400c1000
close(5)                                = 0
mprotect(0x40044000, 489361, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
munmap(0x40007000, 4486)                = 0
mprotect(0x8000000, 304971, PROT_READ|PROT_EXEC) = 0
mprotect(0x40009000, 184727, PROT_READ|PROT_EXEC) = 0
mprotect(0x40044000, 489361, PROT_READ|PROT_EXEC) = 0
mprotect(0x40000000, 18363, PROT_READ|PROT_EXEC) = 0
personality(PER_LINUX)                  = 0
brk(0)                                  = 0x8054eac
brk(0x8057eac)                          = 0x8057eac
brk(0x8058000)                          = 0x8058000
brk(0x8059000)                          = 0x8059000
brk(0x805a000)                          = 0x805a000
open("/share/locale/C/LC_MESSAGES", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/share/locale/C/LC_TIME", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/share/locale/C/LC_NUMERIC", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/share/locale/C/LC_MONETARY", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/share/locale/C/LC_CTYPE", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/share/locale/C/LC_COLLATE", O_RDONLY) = -1 ENOENT (No such file or directory)
brk(0x805b000)                          = 0x805b000
ioctl(0, TCGETS, {B9600 opost isig icanon echo ...}) = 0
getuid()                                = 405
geteuid()                               = 405
getgid()                                = 1
getegid()                               = 1
fstat(1, {st_mode=S_IFCHR|0622, st_rdev=makedev(4, 194), ...}) = 0
brk(0x805c000)                          = 0x805c000
ioctl(1, TCGETS, {B9600 opost isig icanon echo ...}) = 0
fstat(2, {st_mode=S_IFCHR|0622, st_rdev=makedev(4, 194), ...}) = 0
brk(0x805d000)                          = 0x805d000
ioctl(2, TCGETS, {B9600 opost isig icanon echo ...}) = 0
ioctl(0, TCGETS, {B9600 opost isig icanon echo ...}) = 0
ioctl(0, TCGETS, {B9600 opost isig icanon echo ...}) = 0
fstat(0, {st_mode=S_IFCHR|0622, st_rdev=makedev(4, 194), ...}) = 0
stat("/share/locale/C/LC_COLLATE", {st_mode=S_IFDIR|0755, st_size=5120, ...}) = 0
open("/dev", O_RDONLY)                  = 5
fcntl(5, F_SETFD, FD_CLOEXEC)           = 0
brk(0x805e000)                          = 0x805e000
brk(0x805f000)                          = 0x805f000
readdir(5, {d_ino=12289, d_name="."})   = 1
readdir(5, {d_ino=2, d_name=".."})      = 1
readdir(5, {d_ino=12290, d_name="MAKEDEV"}) = 1
	...
	Tons of readdirs here
	...
readdir(5, {d_ino=12381, d_name="ptyp2"}) = 1
readdir(5, {d_ino=12382, d_name="ttyp2"}) = 1
stat("/dev/ttyp2", {st_mode=S_IFCHR|0622, st_rdev=makedev(4, 194), ...}) = 0
close(5)                                = 0
open("/dev/ttyp2", O_RDWR)              = 5
fcntl(5, F_DUPFD, 10)                   = 10
close(5)                                = 0
fcntl(10, F_GETFL)                      = 0x2 (flags O_RDWR)
fstat(10, {st_mode=S_IFCHR|0622, st_rdev=makedev(4, 194), ...}) = 0
brk(0x8060000)                          = 0x8060000
ioctl(10, TCGETS, {B9600 opost isig icanon echo ...}) = 0
lseek(10, 0, SEEK_CUR)                  = -1 ESPIPE (Illegal seek)
ioctl(10, TCGETS, {B9600 opost isig icanon echo ...}) = 0
ioctl(10, TIOCGWINSZ, {ws_row=32, ws_col=80, ws_xpixel=579, ws_ypixel=420}) = 0
getpgrp()                               = 6765
getpgrp()                               = 6765
ioctl(10, TIOCGPGRP, [6765])            = 0
brk(0x8061000)                          = 0x8061000
brk(0x8062000)                          = 0x8062000
brk(0x8063000)                          = 0x8063000
gettimeofday({826125877, 948074}, {300, 1}) = 0
uname({sys="Linux", node="lorien", ...}) = 0
ioctl(10, TCGETS, {B9600 opost isig icanon echo ...}) = 0
fstat(10, {st_mode=S_IFCHR|0622, st_rdev=makedev(4, 194), ...}) = 0
stat("/dev", {st_mode=S_IFDIR|0755, st_size=5120, ...}) = 0
open("/dev", O_RDONLY)                  = 5
fcntl(5, F_SETFD, FD_CLOEXEC)           = 0
readdir(5, {d_ino=12289, d_name="."})   = 1
readdir(5, {d_ino=2, d_name=".."})      = 1
readdir(5, {d_ino=12290, d_name="MAKEDEV"}) = 1
	...
	Tons of readdirs here
	...
readdir(5, {d_ino=12381, d_name="ptyp2"}) = 1
readdir(5, {d_ino=12382, d_name="ttyp2"}) = 1
stat("/dev/ttyp2", {st_mode=S_IFCHR|0622, st_rdev=makedev(4, 194), ...}) = 0
close(5)                                = 0
getppid()                               = 6763
getpid()                                = 6765
getuid()                                = 405
open("/etc/passwd", O_RDONLY)           = 5
fstat(5, {st_mode=S_IFREG|0644, st_size=1312, ...}) = 0
brk(0x8064000)                          = 0x8064000
read(5, "root::0:0::/root:/bin/zsh\ndaemo"..., 4096) = 1312
lseek(5, -858, SEEK_CUR)                = 454
close(5)                                = 0
stat("/home/duvall", {st_mode=S_IFDIR|0755, st_size=2048, ...}) = 0
stat("/home/duvall", {st_mode=S_IFDIR|0755, st_size=2048, ...}) = 0
ioctl(0, TCGETS, {B9600 opost isig icanon echo ...}) = 0
fstat(0, {st_mode=S_IFCHR|0622, st_rdev=makedev(4, 194), ...}) = 0
stat("/dev", {st_mode=S_IFDIR|0755, st_size=5120, ...}) = 0
open("/dev", O_RDONLY)                  = 5
fcntl(5, F_SETFD, FD_CLOEXEC)           = 0
readdir(5, {d_ino=12289, d_name="."})   = 1
readdir(5, {d_ino=2, d_name=".."})      = 1
readdir(5, {d_ino=12290, d_name="MAKEDEV"}) = 1
	...
	Tons of readdirs here
	...
readdir(5, {d_ino=12381, d_name="ptyp2"}) = 1
readdir(5, {d_ino=12382, d_name="ttyp2"}) = 1
stat("/dev/ttyp2", {st_mode=S_IFCHR|0622, st_rdev=makedev(4, 194), ...}) = 0
close(5)                                = 0
open("/var/run/utmp", O_RDONLY)         = 5
read(5, "\6\0\0\0\220\2\0\0tty2\0\0\0\0\0"..., 56) = 56
read(5, "\6\0\0\0\257\v\0\0tty1\0\0\0\0\0"..., 56) = 56
read(5, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 56) = 56
read(5, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 56) = 56
read(5, "\7\0\0\0\353\27\0\0ttyp1\0\0\0\0"..., 56) = 56
read(5, "\7\0\10@\262\v\0\0console\0\0\0\0"..., 56) = 56
read(5, "\7\0\0\0m\32\0\0ttyp2\0\0\0\0\0\0"..., 56) = 56
close(5)                                = 0
brk(0x8064000)                          = 0x8064000
brk(0x8065000)                          = 0x8065000
- --- SIGSEGV (Segmentation fault) ---
+++ killed by SIGSEGV +++
- ------------------8<------------------------------------8<------------------

-----BEGIN PGP SIGNATURE-----
Version: 2.6.2
Comment: Processed by Mailcrypt 3.4, an Emacs/PGP interface

iQCVAwUBMT5IAHusfJIoDO+1AQEZGAP9Gj7Dv7s1lv8ujxRngo1Pwu9Il8u+sPxr
xbgYIiU7i44PpleAV0ncHhDKDQnYQc4rl9EKLYion51Dlc3BocBe7mNCITknavXx
Yg5Azmf7eZntpIGvzCU3hYnrUAZPE7e85bXVz+abRlCeVFe3YC8zBLqiwVy9dVEW
kJhx52B/KRE=
=68U2
-----END PGP SIGNATURE-----



Messages sorted by: Reverse Date, Date, Thread, Author