Bug#668238: terminator: Doesn't close unlinked files

2016-11-28 Thread Egmont Koblinger
I've reported this issue upstream:
https://bugs.launchpad.net/terminator/+bug/1645500

e.


Bug#668238: terminator: Doesn't close unlinked files

2016-11-27 Thread Egmont Koblinger
Oh, wait...

The fact that these file descriptors remain open _even after you close the
corresponding terminal_ is still present (in Terminator-1.90) and is an
actual valid issue.

Hang on, I'll investigate.

e.


Bug#668238: terminator: Doesn't close unlinked files

2016-11-26 Thread Egmont Koblinger
Hi,

I've just read it more carefully that you're not only worried about the
number of files, but also about the overall disk usage and the entire
design as well.

Along with the encryption, compression was also implemented, so the overall
occupied size is now (with the gtk3-based vte-0.40 or newer) about 3-4x
smaller than before. (Note that compression relies on the sparse block
features of Unix filesystems, see
https://bugzilla.gnome.org/show_bug.cgi?id=738121 and
https://git.gnome.org/browse/vte/tree/src/vtestream-file.h?h=vte-0-46 if
you really care about the technical details.)

Looking at your bullet points in order:

1. Just make your /tmp large enough, or decrease the scrollback size. "or
is actually tmpfs in memory" -- this is not a concern; the scrollback has
to reside somewhere, if it's in vte's (terminator's) memory then it's
essentially the same as being written to a file on tmpfs. You can't have a
large scrollbar that's just magical without being stored anywhere :)

2. That's a valid point, but not related to vte or terminator in
particular, and should have an app-agnostic generic solution. With a
trivial modification vte could only unlilnk those files when the widget is
destroyed, it'd make them easier to discover, yet remain on the disk if the
app crashes. Unlinking and keeping an fd open is a typical pattern used by
many others who won't need the file once the app exits, I see no reason for
vte not to follow this pattern.

3. As said, with newer (gtk3-based) vte (used by terminator-1.90) it's at
most 3 per widget.

4. I don't understand this at all. Who would select() on them? It's
unlinked as soon as created, so noone is supposed to open it other than the
creator vte / terminator itself. It's not waiting for data to appear there,
so there's no select() whatsoever going on on these files, only
read()/write() operations.

cheers,
e.


Bug#668238: terminator: Doesn't close unlinked files

2016-11-26 Thread Egmont Koblinger
Hi,

It is by design that Terminator (more precisely, the vte widget that does
the actual terminal emulation) stores the scrollback data in unlinked
temporary files.

Terminator-0.98 uses the gtk2-based vte for terminal emulation, which uses
too many of them, up to 12 per vte (that is, per terminal).

Please ask the maintainers to upgrade to Terminator-1.90 (see Debian bug
807668) which uses the much newer gtk3-based vte, in which we've optimized
it to use at most 3 files per vte. (Moreover, the contents are no longer in
plain text, they are encrypted.)

e.


Bug#668238: terminator: Doesn't close unlinked files

2013-05-01 Thread Julián Moreno Patiño
Hello Witold,

Apparently it's a problem of python-vte library:

https://bugs.launchpad.net/ubuntu/+source/vte/+bug/778872

Also it happens in gnome-terminal in Fedora Distro:
https://bugzilla.redhat.com/show_bug.cgi?id=647942

Please, could you reassign the bug report to the proper package.

Thank you so much.

Kind regards,

-- 
Julián Moreno Patiño
Debian Developer
 .''`. Debian GNU/{Linux,KfreeBSD}
: :' : Free Operating Systems
`. `'  http://debian.org/
  `-   GPG Fingerprint:
C2C8 904E 314C D8FA 041D 9B00 D5FD FC15 6168 BF60
Registered GNU Linux User ID 488513


Bug#668238: terminator: Doesn't close unlinked files

2012-04-09 Thread Witold Baryluk
Package: terminator
Version: 0.95-1
Severity: normal

I do not know if this is bug or by design, but terminator keeps lots of opened
files in /tmp/ which are actually deleted:

user1@sil:~/$ LC_ALL=C ls -U -l /proc/`ps aux | grep '/usr/bin/terminator' |
grep -v grep | awk '{print $2}'`/fd/
total 0
lr-x-- 1 user1 user1 64 Apr 10 03:29 0 - /dev/null
lrwx-- 1 user1 user1 64 Apr 10 03:29 1 - /home/user1/.xsession-errors
lrwx-- 1 user1 user1 64 Apr 10 03:29 2 - /home/user1/.xsession-errors
lrwx-- 1 user1 user1 64 Apr 10 03:29 3 - socket:[12124]
lrwx-- 1 user1 user1 64 Apr 10 03:29 4 - socket:[12119]
lrwx-- 1 user1 user1 64 Apr 10 03:29 5 - anon_inode:[eventfd]
lrwx-- 1 user1 user1 64 Apr 10 03:29 6 - socket:[12126]
lrwx-- 1 user1 user1 64 Apr 10 03:29 7 - socket:[12128]
lrwx-- 1 user1 user1 64 Apr 10 03:29 8 - anon_inode:[eventfd]
lr-x-- 1 user1 user1 64 Apr 10 03:29 9 - pipe:[12123]
l-wx-- 1 user1 user1 64 Apr 10 03:29 10 - pipe:[12123]
lrwx-- 1 user1 user1 64 Apr 10 03:29 11 - /dev/ptmx
lrwx-- 1 user1 user1 64 Apr 10 03:29 12 - /dev/pts/5
lrwx-- 1 user1 user1 64 Apr 10 03:29 13 - socket:[12133]
lrwx-- 1 user1 user1 64 Apr 10 03:29 14 - anon_inode:[eventfd]
lr-x-- 1 user1 user1 64 Apr 10 03:29 15 - pipe:[12161]
l-wx-- 1 user1 user1 64 Apr 10 03:29 16 - pipe:[12161]
lrwx-- 1 user1 user1 64 Apr 10 03:29 17 - /dev/ptmx
lrwx-- 1 user1 user1 64 Apr 10 03:29 18 - /tmp/vteEC8PCW (deleted)
lrwx-- 1 user1 user1 64 Apr 10 03:29 19 - /tmp/vtePE8PCW (deleted)
lrwx-- 1 user1 user1 64 Apr 10 03:29 20 - /tmp/vte1OPRCW (deleted)
lrwx-- 1 user1 user1 64 Apr 10 03:29 21 - /dev/ptmx
lrwx-- 1 user1 user1 64 Apr 10 03:29 22 - /tmp/vte6Z3DCW (deleted)
lrwx-- 1 user1 user1 64 Apr 10 03:29 23 - /tmp/vteJ13DCW (deleted)
lrwx-- 1 user1 user1 64 Apr 10 03:29 24 - /tmp/vteF33DCW (deleted)
lrwx-- 1 user1 user1 64 Apr 10 03:29 25 - /tmp/vte19VICW (deleted)
lrwx-- 1 user1 user1 64 Apr 10 03:29 26 - /dev/pts/0
lrwx-- 1 user1 user1 64 Apr 10 03:29 27 - /tmp/vte8IMFCW (deleted)
lrwx-- 1 user1 user1 64 Apr 10 03:29 28 - /tmp/vte3RKXCW (deleted)
lrwx-- 1 user1 user1 64 Apr 10 03:29 29 - /tmp/vteCSKXCW (deleted)
lrwx-- 1 user1 user1 64 Apr 10 03:29 30 - /tmp/vteMMKXCW (deleted)
lrwx-- 1 user1 user1 64 Apr 10 03:29 31 - /tmp/vte8FNLCW (deleted)
lrwx-- 1 user1 user1 64 Apr 10 03:29 32 - /tmp/vteYIMFCW (deleted)
lrwx-- 1 user1 user1 64 Apr 10 03:29 33 - /tmp/vteL4VXCW (deleted)
lrwx-- 1 user1 user1 64 Apr 10 03:29 34 - /tmp/vteB6VXCW (deleted)
lrwx-- 1 user1 user1 64 Apr 10 03:29 35 - /tmp/vte36VXCW (deleted)
lrwx-- 1 user1 user1 64 Apr 10 03:29 36 - /dev/pts/1
lrwx-- 1 user1 user1 64 Apr 10 03:29 37 - /tmp/vteO69QCW (deleted)
lrwx-- 1 user1 user1 64 Apr 10 03:29 38 - /tmp/vte23SXCW (deleted)
lrwx-- 1 user1 user1 64 Apr 10 03:29 39 - /tmp/vteI5SXCW (deleted)
lrwx-- 1 user1 user1 64 Apr 10 03:29 40 - /tmp/vte979QCW (deleted)
lrwx-- 1 user1 user1 64 Apr 10 03:29 41 - /tmp/vte42ZSCW (deleted)
lrwx-- 1 user1 user1 64 Apr 10 03:29 42 - /tmp/vteIH2LCW (deleted)
lrwx-- 1 user1 user1 64 Apr 10 03:29 43 - /tmp/vteWF2LCW (deleted)
lrwx-- 1 user1 user1 64 Apr 10 03:29 44 - /tmp/vteR45GCW (deleted)
lrwx-- 1 user1 user1 64 Apr 10 03:29 45 - /tmp/vte935GCW (deleted)
lrwx-- 1 user1 user1 64 Apr 10 03:29 46 - /tmp/vteIQ2WCW (deleted)
lrwx-- 1 user1 user1 64 Apr 10 03:29 47 - /dev/ptmx
lrwx-- 1 user1 user1 64 Apr 10 03:29 48 - /tmp/vteSX7QCW (deleted)
lrwx-- 1 user1 user1 64 Apr 10 03:29 49 - /tmp/vteIGGOCW (deleted)
lrwx-- 1 user1 user1 64 Apr 10 03:29 50 - /tmp/vteBEGOCW (deleted)
lrwx-- 1 user1 user1 64 Apr 10 03:29 51 - /tmp/vteUR3YCW (deleted)
lrwx-- 1 user1 user1 64 Apr 10 03:29 52 - /tmp/vteUS3YCW (deleted)
lrwx-- 1 user1 user1 64 Apr 10 03:29 53 - /tmp/vteVZJRCW (deleted)
lrwx-- 1 user1 user1 64 Apr 10 03:29 54 - /tmp/vteFZJRCW (deleted)
lrwx-- 1 user1 user1 64 Apr 10 03:29 55 - /tmp/vte117QCW (deleted)
lrwx-- 1 user1 user1 64 Apr 10 03:29 56 - /tmp/vteLYFZCW (deleted)
lrwx-- 1 user1 user1 64 Apr 10 03:29 57 - /tmp/vteGWFZCW (deleted)
lrwx-- 1 user1 user1 64 Apr 10 03:29 58 - /tmp/vteJ18XCW (deleted)
lrwx-- 1 user1 user1 64 Apr 10 03:29 59 - /tmp/vteO38XCW (deleted)
lrwx-- 1 user1 user1 64 Apr 10 03:29 60 - /tmp/vteRFBMCW (deleted)
lrwx-- 1 user1 user1 64 Apr 10 03:29 61 - /tmp/vteCEBMCW (deleted)
lrwx-- 1 user1 user1 64 Apr 10 03:29 62 - /tmp/vteBF9XCW (deleted)
lrwx-- 1 user1 user1 64 Apr 10 03:29 63 - /tmp/vteZE9XCW (deleted)
lrwx-- 1 user1 user1 64 Apr 10 03:29 64 - /tmp/vte3N6ICW (deleted)
lrwx-- 1 user1 user1 64 Apr 10 03:29 65 - /tmp/vteCPA0CW (deleted)
lrwx-- 1 user1 user1 64 Apr 10 03:29 66 - /tmp/vteSNA0CW (deleted)
lrwx-- 1 user1 user1 64 Apr 10 03:29 67 - /tmp/vteZN6ICW (deleted)
lrwx-- 1 user1 user1 64 Apr 10 03:29 68 - /tmp/vte83DHCW (deleted)
lrwx-- 1 user1 user1 64