Your message dated Mon, 15 Mar 2010 23:02:12 +0000
with message-id <[email protected]>
and subject line Bug#452044: fixed in advi 1.9-1
has caused the Debian Bug report #452044,
regarding advi: Freezes on dvi files with a qtree tree.
to be marked as done.
This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.
(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact [email protected]
immediately.)
--
452044: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=452044
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
Package: advi
Version: 1.6.0-13+b2
Severity: normal
When trying to open the attached .dvi file (generated by processing
the attached tex file with LaTeX) advi freezes (does not answer to
commands, but does not take 100% of the CPU either). xdvi displays it
fine.
The state during the freeze seems to be that advi launches a gs that
waits for input (blocks on "read(0, ...)" while advi itselfs loops on:
--- SIGALRM (Alarm clock) @ 0 (0) ---
rt_sigprocmask(SIG_BLOCK, [ALRM], [PIPE ALRM], 8) = 0
read(3, 0x20326d4, 4096) = -1 EAGAIN (Resource temporarily
unavailable)
read(3, 0x20326d4, 4096) = -1 EAGAIN (Resource temporarily
unavailable)
setitimer(ITIMER_REAL, {it_interval={0, 0}, it_value={0, 249999}},
{it_interval={0, 0}, it_value={0, 0}}) = 0
setitimer(ITIMER_REAL, {it_interval={0, 0}, it_value={0, 249938}},
{it_interval={0, 0}, it_value={0, 249940}}) = 0
rt_sigreturn(0x2) = -1 EINTR (Interrupted system call)
read(6, 0x203ac40, 4096) = ? ERESTARTSYS (To be restarted)
--- SIGALRM (Alarm clock) @ 0 (0) ---
Here are the open files:
advi 6936 lionelm 0u CHR 136,2 4 /dev/pts/2
advi 6936 lionelm 1u CHR 136,2 4 /dev/pts/2
advi 6936 lionelm 2u CHR 136,2 4 /dev/pts/2
advi 6936 lionelm 3u unix 0xffff81001b30b940 93665 socket
advi 6936 lionelm 4r FIFO 0,6 93667 pipe
advi 6936 lionelm 5w FIFO 0,6 93667 pipe
advi 6936 lionelm 6r FIFO 0,6 93668 pipe
advi 6936 lionelm 7w FIFO 0,6 93668 pipe
gs 6939 lionelm 0r FIFO 0,6 93667 pipe
gs 6939 lionelm 1w FIFO 0,6 93668 pipe
gs 6939 lionelm 2u CHR 136,2 4 /dev/pts/2
gs 6939 lionelm 4u unix 0xffff81001b381180 93681 socket
gs 6939 lionelm 5w FIFO 0,6 93667 pipe
gs 6939 lionelm 6r FIFO 0,6 93668 pipe
(This, by the way, suggests that advi fails to close fd 5 and 6, the
pipe it has set up to communicate with gs, before exec()'ing gs. This
in turn leads to gs surviving advi: it does not get SIGPIPE because
there is a program (itself) that has the same pipe open for writing
so the kernel has hope that the read(0, ...) may ever return. advi
probably uses the open_proc / open_process in the OCaml stdlib, which
if I remember well has this fd leak bug (or lack of feature or
however you want to call that); I use the following in my own code:
(* Adapted from unix.ml in ocaml stdlib:
*
* Copyright 1996 Institut National de Recherche en Informatique et
* en Automatique.
*)
let try_set_close_on_exec fd =
try Unix.set_close_on_exec fd; true with Invalid_argument _ -> false
let open_proc_sane cmd args (*proc*) input output error toclose =
let cloexec = List.for_all try_set_close_on_exec toclose in
match Unix.fork() with
0 -> Unix.dup2 input Unix.stdin; Unix.close input;
Unix.dup2 output Unix.stdout; Unix.close output;
Unix.dup2 error Unix.stderr; Unix.close error;
if not cloexec then List.iter Unix.close toclose;
begin try Unix.execvp cmd args
with _ -> exit 127
end
| id -> id;;
let open_process_sane cmd args =
let (in_read, in_write) = Unix.pipe() in
let (out_read, out_write) = Unix.pipe() in
let (err_read, err_write) = Unix.pipe() in
let outchan = Unix.out_channel_of_descr in_write in
let inchan = Unix.in_channel_of_descr out_read in
let errchan = Unix.in_channel_of_descr err_read in
let cpid=open_proc_sane cmd args in_read out_write err_write [in_write;
out_read; err_read] in
Unix.close in_read;
Unix.close out_write;
Unix.close err_write;
(cpid, (outchan,in_write), (inchan, out_read), (errchan,err_read));;
)
-- System Information:
Debian Release: 5.0
APT prefers unstable
APT policy: (500, 'unstable'), (500, 'stable')
Architecture: amd64 (x86_64)
Kernel: Linux 2.6.26-1-amd64 (SMP w/2 CPU cores)
Locale: LANG=fr_LU.UTF-8, LC_CTYPE=fr_LU.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash
Versions of packages advi depends on:
ii ghostscript-x [gs] 8.62.dfsg.1-3.2lenny0 The GPL Ghostscript PostScript/PDF
ii libc6 2.7-18 GNU C Library: Shared libraries
ii libfreetype6 2.3.7-2 FreeType 2 font engine, shared lib
ii libgif4 4.1.6-6 library for GIF images (library)
ii libice6 2:1.0.4-1 X11 Inter-Client Exchange library
ii libjpeg62 6b-14 The Independent JPEG Group's JPEG
ii libpng12-0 1.2.27-2 PNG library - runtime
ii libsm6 2:1.0.3-2 X11 Session Management library
ii libtiff4 3.8.2-11 Tag Image File Format (TIFF) libra
ii libx11-6 2:1.1.5-2 X11 client-side library
ii libxext6 2:1.0.4-1 X11 miscellaneous extension librar
ii libxinerama1 2:1.0.3-2 X11 Xinerama extension library
ii libxpm4 1:3.5.7-1 X11 pixmap library
ii texlive-base 2007.dfsg.1-5 TeX Live: Essential programs and f
ii texlive-base-bin 2007.dfsg.2-4 TeX Live: Essential binaries
ii zlib1g 1:1.2.3.3.dfsg-12 compression library - runtime
advi recommends no packages.
Versions of packages advi suggests:
ii bzip2 1.0.5-1 high-quality block-sorting file co
ii ttf-kochi-gothic 1.0.20030809-8 Kochi Subst Gothic Japanese TrueTy
ii ttf-kochi-mincho 1.0.20030809-8 Kochi Subst Mincho Japanese TrueTy
-- no debconf information
\documentclass{article}
\usepackage{qtree}
\begin{document}
\leaf{a}
\leaf{b}
\branch{2}{c}
\qobitree
\end{document}
foo.dvi
Description: TeX dvi file
--- End Message ---
--- Begin Message ---
Source: advi
Source-Version: 1.9-1
We believe that the bug you reported is fixed in the latest version of
advi, which is due to be installed in the Debian FTP archive:
advi-examples_1.9-1_all.deb
to main/a/advi/advi-examples_1.9-1_all.deb
advi_1.9-1.debian.tar.gz
to main/a/advi/advi_1.9-1.debian.tar.gz
advi_1.9-1.dsc
to main/a/advi/advi_1.9-1.dsc
advi_1.9-1_amd64.deb
to main/a/advi/advi_1.9-1_amd64.deb
advi_1.9.orig.tar.gz
to main/a/advi/advi_1.9.orig.tar.gz
A summary of the changes between this version and the previous one is
attached.
Thank you for reporting the bug, which will now be closed. If you
have further comments please address them to [email protected],
and the maintainer will reopen the bug report if appropriate.
Debian distribution maintenance software
pp.
Ralf Treinen <[email protected]> (supplier of updated advi package)
(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing [email protected])
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Format: 1.8
Date: Mon, 15 Mar 2010 22:03:48 +0100
Source: advi
Binary: advi advi-examples
Architecture: source amd64 all
Version: 1.9-1
Distribution: experimental
Urgency: low
Maintainer: Debian OCaml Maintainers <[email protected]>
Changed-By: Ralf Treinen <[email protected]>
Description:
advi - an active DVI previewer and presenter
advi-examples - example presentations for Active-DVI (advi)
Closes: 323963 452044
Changes:
advi (1.9-1) experimental; urgency=low
.
* New upstream version. This version closes a bug concerning embedded
postscript images (closes: #452044) and with the scaling of the display
(closes: #323963).
* Upstream distributes again the examples/ subtree, install it instead
of our old copy in debian/examples-source. Remove from
debian/examples-source the old copies of examples and test/.
* patch doc-without-htmlc: do not call htmlc for building the doc
* patch examples-no-check: add phony check target in examples/Makefile
since this is called recursively on all subdirs from the toplevel
Makefile.
* Dependency on ghostscript: >= 7.05
* Build-dependencies: put back some dependencies since upstream makefile
does again rebuild the doc: hevea, texlive-latex-base, texlive-pstricks,
texlive-latex-recommended, texlive-pictures.
* patch use-ghostscript: make configure believe that ghostscript is installed
at compilation time.
* debian/rules: also make the splash.dvi documents in doc/
* Install doc/{splash,scratch_draw_splash,scratch_write_splash}.dvi files
into /usr/share/advi
* debian/control: Updated location of upstream homepage
* debian/watch: put new domain (advi.inria.fr)
Checksums-Sha1:
75602d31f2f758c6d25d5a3d0fd85b00e3f30ab1 1625 advi_1.9-1.dsc
059e5404d4a38aed1f267c3e9a40611908114940 8512355 advi_1.9.orig.tar.gz
054ba52fb419ea316dee4c20f6de1ab8dc14482b 25211 advi_1.9-1.debian.tar.gz
042ba9b106c6911f02f20422bb89fd1fcd6f77bd 5621388 advi_1.9-1_amd64.deb
4c68f35c23d04bbc9b9e4e140b4969eaa8d915d4 3350180 advi-examples_1.9-1_all.deb
Checksums-Sha256:
a17975c77f6b908a526894067609f2384babde8a8d568672e253f72591d5d1cd 1625
advi_1.9-1.dsc
fc1ce772b3ebc3f7cded12bd8b805108b71aac897bcf0f0d19f13b547c68b1f6 8512355
advi_1.9.orig.tar.gz
3ec5ff8fbc5518e5dbff93600e65b442a52047ffd49a68b7d538bfc0c6c748cd 25211
advi_1.9-1.debian.tar.gz
67416efba30d287200754086f5c13f3cb21accdafb150d950c296ec4b407a0c8 5621388
advi_1.9-1_amd64.deb
f880298315000e5acf93b80fdca0c3624edcf16e7c82704554e26f8647dee914 3350180
advi-examples_1.9-1_all.deb
Files:
75160a3be456229fad9b5a0e3e42b83a 1625 tex optional advi_1.9-1.dsc
42fe60dc65eb3048d0fb4789db1ca05c 8512355 tex optional advi_1.9.orig.tar.gz
93d31a977e99679c5604c6bd3802b209 25211 tex optional advi_1.9-1.debian.tar.gz
d75c2cf3c9e0bb1db70b8026b1aa6b79 5621388 tex optional advi_1.9-1_amd64.deb
36134e56f5451366ebf20b4a36f4ac6b 3350180 tex optional
advi-examples_1.9-1_all.deb
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.10 (GNU/Linux)
iD8DBQFLnriftzWmSeC6BMERAvK5AJ93Gr83A1u2FFd7eJ71uA43k7qHwgCgoNh2
hDZBfZ0mgxjWicOd+zs0hec=
=30Oa
-----END PGP SIGNATURE-----
--- End Message ---