#564105 tends to hang forever at "reading archive" stage on tar file when run from w3m

Package:
file-roller
Source:
file-roller
Description:
archive manager for GNOME
Submitter:
Joey Hess
Date:
2010-01-07 20:21:03 UTC
Severity:
normal
#564105#5
Date:
2010-01-07 18:24:43 UTC
From:
To:
This program registers a mime entry so w3m uses it by default to open
tarballs. When run by w3m, it seems to hang forever at the
"Reading archive" stage.

Reproduce:

* w3m http://bugs.debian.org/376329
* Select the testcase.tgz file
* File-roller starts, shows:

     Reading archive

     Archive: w3mtmp11795-0.tgz
     Reading archive, wait please...

  Bouncing progress bar forever; no disk activity, little CPU activity.

11808 pts/11   S      0:05 /usr/bin/file-roller /home/joey/.w3m/w3mtmp11795-0.tgz
joey@gnu:~/.w3m>ls -l /home/joey/.w3m/w3mtmp11795-0.tgz
ls: cannot access /home/joey/.w3m/w3mtmp11795-0.tgz: No such file or directory

AFAICS, file-roller does not have the (deleted) file open. I suspect w3m
deletes its temp files when the program it has run to view it exits, and
file-roller forks off to the background before opening the file.

#564105#10
Date:
2010-01-07 20:19:44 UTC
From:
To:
Le jeudi 07 janvier 2010 à 13:24 -0500, Joey Hess a écrit :

I don’t think file-roller does anything like forking to the background.
It won’t do that even when when another instance is already started,
unlike some other GNOME programs.

Furthermore, the fact that it does not spit in your face that the file
doesn’t exist proves that it has successfully opened it for sniffing,
but the file is removed before the tar process that file-spawns can open
it.

I suspect that w3m does something “clever” such as trying to see whether
the file has been opened and closed once.

Cheers,