Public bug reported:

Binary package hint: xxdiff

rapidsvn makes you choose a diff tool, so I told it to use xxdiff.

It apparently runs xxdiff with stdin and stdout closed, which leads to
it running diff with stdin and stdout closed.  There's no way that can
work, because diff writes the diff to stdout.

To reproduce this outside of rapidsvn, use the shell's redirection
operators to close the file descriptors:

touch foo bar
xxdiff foo bar 0>&- 1>&-

strace -f will show that /usr/bin/diff ends up doing
12022 open("foo", O_RDONLY)             = 0
12022 open("bar", O_RDONLY)             = 1
12022 read(0, "", 4096)                 = 0
12022 read(1, "", 4096)                 = 0
12022 close(0)                          = 0
12022 close(1)                          = 0
12022 close(1)                          = -1 EBADF (Bad file descriptor)
12022 write(2, "diff: ", 6)             = 6
12022 write(2, "standard output", 15)   = 15
12022 write(2, ": Bad file descriptor", 21) = 21
12022 write(2, "\n", 1)                 = 1
12022 exit_group(2)                     = ?

xxdiff pops up a dialog box.

** Affects: xxdiff (Ubuntu)
     Importance: Undecided
         Status: New

-- 
xxdiff doesn't work when run with stdin and stdout closed
https://bugs.launchpad.net/bugs/172479
You received this bug notification because you are a member of Ubuntu
Bugs, which is the bug contact for Ubuntu.

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to