Opened 15 years ago
Closed 11 years ago
#215 closed defect (fixed)
Treatment of temporary files when running external programs in ARB
Reported by: | fog | Owned by: | westram |
---|---|---|---|
Priority: | major | Milestone: | |
Component: | no idea | Version: | arb_5.0 |
Keywords: | Cc: |
Description (last modified by westram)
Two problems:
- temporary files are created in ~/.arb_tmp with the respective PID of the process - fine so far, but they are not deleted after the process is finished! the respective rmdir command fails because - directory is not empty!. The leads to an accumulation of files in the homedirectories.
- additionally, another files is created in /tmp, which is used for converting the Genbank file to the respective infile of the program. Again, this file is not deleted afterwards and for me it does not make sense why this file is written to /tmp and not to ~/.arb_tmp as the temporary files in 1.
All the best
Frank Oliver
Change History (6)
comment:1 Changed 13 years ago by westram
- Description modified (diff)
comment:2 Changed 11 years ago by westram
- Owner changed from devel to westram
- Status changed from new to assigned
- related to patch from Andreas
- see also discussion about possible symlink attacks
comment:3 in reply to: ↑ description Changed 11 years ago by westram
Replying to fog:
- temporary files are created in ~/.arb_tmp with the respective PID of the process - fine so far, but they are not deleted after the process is finished! the respective rmdir command fails because - directory is not empty!. The leads to an accumulation of files in the homedirectories.
fixed by [11811]
comment:4 in reply to: ↑ description Changed 11 years ago by westram
Replying to fog:
- additionally, another files is created in /tmp, which is used for converting the Genbank file to the respective infile of the program. Again, this file is not deleted afterwards and for me it does not make sense why this file is written to /tmp and not to ~/.arb_tmp as the temporary files in 1.
File is stored in /tmp, because it gets written before the directory '~/.arb_tmp/XXXXX' is created. Similar is true for output-files which are read by arb (after command finishes and after the directory is removed).
comment:5 Changed 11 years ago by epruesse
See also: http://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html
They separate into CONFIG, DATA, CACHE and RUNTIME.
- CONFIG
- This is where changeable specific stuff goes. So essentially .arb_props
- DATA
- This is where unchanging specific stuff goes. This would IMO be things like -filters and -gde-extensions.
- CACHE
- This is where non-essential data goes. So basically .arb_pts
- RUNTIME
- This is where sockets, named pipes and pid files should go.
The difference between CACHE and RUNTIME is that RUNTIME must be machine-local and must support special files, but may be small.
My suggestion would be to set up variables according to this in SH/arb. Draw them from the XDG_*_HOME variables if those are set, otherwise use "normal" XDG folders. Then arb_launcher should create/remove the directories as needed.
Placing PT servers by default into .cache/arb/pts instead of .arb_pts would also fix the incompatible PT server issue.
Still, probably too much for 6.0, maybe a new ticket for 6.1?
comment:6 Changed 11 years ago by westram
- Resolution set to fixed
- Status changed from assigned to closed
by [11813]