[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#518721: marked as done (advi: Freezes on dvi files with a qtree tree.)



Your message dated Mon, 15 Mar 2010 23:02:12 +0000
with message-id <E1NrJIa-0007sk-Ee@ries.debian.org>
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 owner@bugs.debian.org
immediately.)


-- 
452044: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=452044
Debian Bug Tracking System
Contact owner@bugs.debian.org 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}

Attachment: 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 452044@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Ralf Treinen <treinen@debian.org> (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 ftpmaster@debian.org)


-----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 <debian-ocaml-maint@lists.debian.org>
Changed-By: Ralf Treinen <treinen@debian.org>
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 ---

Reply to: