[Pkg-zsh-devel] Bug#990986: zsh dies in case of EIO with echo in .zlogout / ENOTTY

Vincent Lefevre vincent at vinc17.net
Mon Jul 12 11:25:20 BST 2021


Package: zsh
Version: 5.8-6+b1
Severity: normal
Forwarded: https://www.zsh.org/mla/workers/2021/msg01387.html

In my .zlogout, I have an "echo" command. However, if the terminal
is no longer there, the "echo" yields EIO errors and the remaining
of the .zlogout is not executed, e.g. with "echo foo" in .zlogout
and

  xterm -e strace -f -o str.out zsh -l

I get

17099 write(1, "foo\n", 4)              = -1 EIO (Input/output error)
17099 ioctl(2, TCGETS, 0x7ffc67792c80)  = -1 EIO (Input/output error)
17099 write(2, "/home/vlefevre/.zlogout:echo:7: "..., 64) = -1 EIO (Input/output error)
17099 ioctl(2, TCGETS, 0x7ffc67793030)  = -1 EIO (Input/output error)
17099 write(2, "/home/vlefevre/.zlogout:7: write"..., 59) = -1 EIO (Input/output error)
17099 rt_sigprocmask(SIG_BLOCK, [CHLD], [CHLD WINCH], 8) = 0
17099 rt_sigprocmask(SIG_UNBLOCK, [CHLD], [CHLD WINCH], 8) = 0
17099 ioctl(2, TCGETS, 0x7ffc67794790)  = -1 EIO (Input/output error)
17099 write(2, "/home/vlefevre/.zlogout:8: write"..., 39) = -1 EIO (Input/output error)
17099 close(11)                         = 0
17099 ioctl(10, TIOCSPGRP, [17096])     = -1 ENOTTY (Inappropriate ioctl for device)
17099 setpgid(0, 17096)                 = 0
17099 getpid()                          = 17099
17099 exit_group(1)                     = ?
17099 +++ exited with 1 +++

For instance, this happens when zsh is started from ssh and for
some reason, the connection is closed.

-- Package-specific info:

Packages which provide vendor completions:

Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name             Version       Architecture Description
+++-================-=============-============-=======================================================================
ii  curl             7.74.0-1.3+b1 amd64        command line tool for transferring data with URL syntax
ii  mercurial-common 5.6.1-4       all          easy-to-use, scalable distributed version control system (common files)
ii  pass             1.7.4-1       all          lightweight directory-based password manager
ii  pulseaudio       14.2-2        amd64        PulseAudio sound server
ii  qpdf             10.1.0-1      amd64        tools for transforming and inspecting PDF files
ii  systemd          247.3-5       amd64        system and service manager
ii  udev             247.3-5       amd64        /dev/ and hotplug management daemon
ii  vlc-bin          3.0.16-1      amd64        binaries from VLC

dpkg-query: no path found matching pattern /usr/share/zsh/vendor-functions/


-- System Information:
Debian Release: 11.0
  APT prefers unstable-debug
  APT policy: (500, 'unstable-debug'), (500, 'testing-security'), (500, 'stable-updates'), (500, 'unstable'), (500, 'testing'), (500, 'stable'), (1, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 5.10.0-8-amd64 (SMP w/12 CPU threads)
Kernel taint flags: TAINT_PROPRIETARY_MODULE, TAINT_OOT_MODULE, TAINT_UNSIGNED_MODULE
Locale: LANG=POSIX, LC_CTYPE=C.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages zsh depends on:
ii  libc6       2.31-13
ii  libcap2     1:2.44-1
ii  libtinfo6   6.2+20201114-2
ii  zsh-common  5.8-6

Versions of packages zsh recommends:
ii  libgdbm6      1.19-2
ii  libncursesw6  6.2+20201114-2
ii  libpcre3      2:8.39-13

Versions of packages zsh suggests:
ii  zsh-doc  5.8-6

-- no debconf information

-- 
Vincent Lefèvre <vincent at vinc17.net> - Web: <https://www.vinc17.net/>
100% accessible validated (X)HTML - Blog: <https://www.vinc17.net/blog/>
Work: CR INRIA - computer arithmetic / AriC project (LIP, ENS-Lyon)



More information about the Pkg-zsh-devel mailing list