outrun icon indicating copy to clipboard operation
outrun copied to clipboard

/tmp permissions issue

Open gtrak opened this issue 2 years ago • 9 comments

Trying to compile some ocaml and running into this, not sure where to begin to look.

$ outrun gary@gary-dev dune build
Error: open: /tmp/dune22fe0d.output: Permission denied

Thoughts?

I don't expect this to be fast due to i/o of lots of small files, but wanted to try it :-).

gtrak avatar Jul 22 '21 16:07 gtrak

I think it's just attempting to open a read-only input stream on a temp file, which sounds pretty normal? https://github.com/ocaml/dune/blob/d75bd885262b98075299e9145a2aa3bd1a54a35d/src/dune_rules/assets.ml#L31

https://github.com/ocaml/ocaml/blob/trunk/stdlib/stdlib.ml#L409

gtrak avatar Jul 22 '21 17:07 gtrak

Can you run the command with --debug?

$ outrun --debug gary@gary-dev dune build

Overv avatar Jul 24 '21 12:07 Overv

Trying to compile a simple c++ project and running into this as well.

$ outrun desktop make -B
[email protected]'s password: 
[sudo] password for dennis: 
g++ src/World.cpp -c -o out/World.o
Cannot create temporary file in /tmp/: Permission denied
make: *** [Makefile:4: out/World.o] Aborted

with --debug

$ outrun --debug desktop make -B
2022-04-24 23:28:27,244 - DEBUG - running ['ssh', '-o', 'LogLevel=error', '-R', '30419:localhost:30419', '-R', '30666:localhost:30666', '-R', '30064:localhost:30064', '-tt', 'desktop', 'outrun', '--remote', '--unshare', '--protocol=1.0.0', '--platform=x86_64', '--config=~/.outrun/config', '--timeout=5000', '--environment-port=30419', '--filesystem-port=30666', '--debug', '--cache-port=30064', '.', '.']
[email protected]'s password: 
[sudo] password for dennis: 
2022-04-24 23:28:33,912 - INFO - no config file at /home/dennis/.outrun/config
2022-04-24 23:28:34,045 - DEBUG - rpc::None() - 130 ms
2022-04-24 23:28:34,054 - DEBUG - rpc::None() - 3 ms
2022-04-24 23:28:34,056 - DEBUG - rpc::get_app_specific_machine_id() - 1 ms
2022-04-24 23:28:34,057 - DEBUG - rpc::set_prefetchable_paths("('/bin', '/sbin', '/lib', '/lib32', '/lib64', '/etc', '/opt', '/usr')",) - 1 ms
2022-04-24 23:28:34,103 - DEBUG - rpc::get_changed_metadata("{'/bin': Metadata(attr=Attributes(st_mode=41471, st_ino=5994, st_dev=32, st_nlink=1, st_uid=0, st_gid=0, st_size=7, st_atime_ns=1649240977658867761, st_mtime_ns=1626911226000000000, st_ctime_ns=1636810298359195756), link='usr/bin', error=None), '/usr/b...",) - 32 ms
2022-04-24 23:28:34,104 - DEBUG - rpc::mark_previously_fetched_contents("['/usr/bin/bash', '/usr/lib64/libtinfo.so.6.2', '/usr/lib64/libc.so.6', '/usr/lib64/ld-linux-x86-64.so.2', '/etc/ld.so.cache', '/usr/share/locale/locale.alias', '/usr/lib/locale/en_US.utf8/LC_IDENTIFICATION', '/usr/lib64/gconv/gconv-modules.cache', '/u...",) - 1 ms
2022-04-24 23:28:34,112 - DEBUG - rpc::getattr('/', 'None') - 3 ms
2022-04-24 23:28:34,116 - DEBUG - rpc::getattr('/dev', 'None') - 3 ms
2022-04-24 23:28:34,124 - DEBUG - rpc::getattr('/proc', 'None') - 1 ms
2022-04-24 23:28:34,133 - DEBUG - rpc::getattr('/sys', 'None') - 1 ms
2022-04-24 23:28:34,141 - DEBUG - rpc::getattr('/run', 'None') - 2 ms
2022-04-24 23:28:34,152 - DEBUG - rpc::get_command() - 3 ms
2022-04-24 23:28:34,153 - DEBUG - rpc::get_working_dir() - 1 ms
2022-04-24 23:28:34,155 - DEBUG - rpc::get_environment() - 1 ms
2022-04-24 23:28:34,159 - DEBUG - rpc::getattr('/home', 'None') - 1 ms
2022-04-24 23:28:34,160 - DEBUG - rpc::getattr('/home/dennis', 'None') - 1 ms
2022-04-24 23:28:34,162 - DEBUG - rpc::getattr('/home/dennis/Workspace', 'None') - 1 ms
2022-04-24 23:28:34,163 - DEBUG - rpc::getattr('/home/dennis/Workspace/doolhof-sdl', 'None') - 1 ms
2022-04-24 23:28:34,232 - DEBUG - rpc::readdir('/home/dennis/Workspace/doolhof-sdl',) - 3 ms
2022-04-24 23:28:34,236 - DEBUG - rpc::getattr('/home/dennis/Workspace/doolhof-sdl/Makefile', 'None') - 3 ms
2022-04-24 23:28:34,239 - DEBUG - rpc::open('/home/dennis/Workspace/doolhof-sdl/Makefile', '32768') - 3 ms
2022-04-24 23:28:34,242 - DEBUG - rpc::read('47', '0', '4096') - 3 ms
2022-04-24 23:28:34,246 - DEBUG - rpc::flush('47',) - 3 ms
2022-04-24 23:28:34,251 - DEBUG - rpc::release('47',) - 4 ms
2022-04-24 23:28:34,251 - DEBUG - rpc::getattr('/home/dennis/Workspace/doolhof-sdl/src', 'None') - 4 ms
2022-04-24 23:28:34,252 - DEBUG - rpc::getattr('/home/dennis/Workspace/doolhof-sdl/RCS', 'None') - 1 ms
2022-04-24 23:28:34,253 - DEBUG - rpc::getattr('/home/dennis/Workspace/doolhof-sdl/SCCS', 'None') - 1 ms
2022-04-24 23:28:34,255 - DEBUG - rpc::getattr('/home/dennis/Workspace/doolhof-sdl/Makefile', 'None') - 1 ms
2022-04-24 23:28:34,256 - DEBUG - rpc::getattr('/home/dennis/Workspace/doolhof-sdl/default', 'None') - 1 ms
2022-04-24 23:28:34,257 - DEBUG - rpc::getattr('/home/dennis/Workspace/doolhof-sdl/bin', 'None') - 1 ms
2022-04-24 23:28:34,259 - DEBUG - rpc::getattr('/home/dennis/Workspace/doolhof-sdl/bin/doolhof', 'None') - 1 ms
2022-04-24 23:28:34,260 - DEBUG - rpc::getattr('/home/dennis/Workspace/doolhof-sdl/src/main.cpp', 'None') - 1 ms
2022-04-24 23:28:34,261 - DEBUG - rpc::readdir('/home/dennis/Workspace/doolhof-sdl/src',) - 1 ms
2022-04-24 23:28:34,283 - DEBUG - rpc::getattr('/home/dennis/Workspace/doolhof-sdl/src/RCS', 'None') - 21 ms
2022-04-24 23:28:34,284 - DEBUG - rpc::getattr('/home/dennis/Workspace/doolhof-sdl/src/SCCS', 'None') - 1 ms
2022-04-24 23:28:34,285 - DEBUG - rpc::getattr('/home/dennis/Workspace/doolhof-sdl/out', 'None') - 1 ms
2022-04-24 23:28:34,286 - DEBUG - rpc::getattr('/home/dennis/Workspace/doolhof-sdl/out/World.o', 'None') - 1 ms
2022-04-24 23:28:34,288 - DEBUG - rpc::getattr('/home/dennis/Workspace/doolhof-sdl/src/World.cpp', 'None') - 1 ms
2022-04-24 23:28:34,289 - DEBUG - rpc::getattr('/home/dennis/Workspace/doolhof-sdl/src/World.h', 'None') - 1 ms
g++ src/World.cpp -c -o out/World.o
2022-04-24 23:28:34,304 - DEBUG - rpc::getattr('/tmp', 'None') - 2 ms
2022-04-24 23:28:34,306 - DEBUG - rpc::getattr('/tmp/ccQ2MhmO.s', 'None') - 1 ms
2022-04-24 23:28:34,307 - DEBUG - rpc::create('/tmp/ccQ2MhmO.s', '32962', '33152') - 1 ms
2022-04-24 23:28:34,308 - DEBUG - rpc::getattr('/tmp/ccQ2MhmO.s', '52') - 1 ms
Cannot create temporary file in /tmp/: Permission denied
2022-04-24 23:28:34,309 - DEBUG - rpc::release('52',) - 1 ms
make: *** [Makefile:4: out/World.o] Aborted

Dennisman219 avatar Apr 24 '22 21:04 Dennisman219

Can you show the stat output of your /tmp?

Overv avatar May 07 '22 15:05 Overv

This is stat /tmp on the remote machine ('desktop' in 'outrun desktop make -B' from above)

$ stat /tmp
  File: /tmp
  Size: 12288     	Blocks: 24         IO Block: 4096   directory
Device: 826h/2086d	Inode: 523266      Links: 15
Access: (1777/drwxrwxrwt)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2022-04-22 14:53:22.410395315 +0200
Modify: 2022-05-09 20:49:21.605324570 +0200
Change: 2022-05-09 20:49:21.605324570 +0200
 Birth: 2022-04-13 15:06:59.364090920 +0200

Dennisman219 avatar May 09 '22 18:05 Dennisman219

And stat on the local machine?

Overv avatar May 09 '22 20:05 Overv

stat /tmp on local machine

$ stat /tmp
  File: /tmp
  Size: 440       	Blocks: 0          IO Block: 4096   directory
Device: 29h/41d	Inode: 1           Links: 18
Access: (1777/drwxrwxrwt)  Uid: (    0/    root)   Gid: (    0/    root)
Context: system_u:object_r:tmp_t:s0
Access: 2022-05-10 09:59:13.478963247 +0200
Modify: 2022-05-10 10:44:21.938478073 +0200
Change: 2022-05-10 10:44:21.938478073 +0200
 Birth: -

Local machine is on fedora 35 and remote on debian 11

Dennisman219 avatar May 10 '22 09:05 Dennisman219

Strange, I'll try to find the time to reproduce and investigate this.

Overv avatar May 17 '22 19:05 Overv

Happening to me as well trying to compile linux, getting the following:

❯ outrun overcurrent make -j8
[sudo] password for typecasto:
  SYSHDR  arch/x86/include/generated/uapi/asm/unistd_64.h
  SYSHDR  arch/x86/include/generated/uapi/asm/unistd_32.h
  SYSHDR  arch/x86/include/generated/uapi/asm/unistd_x32.h
  SYSTBL  arch/x86/include/generated/asm/syscalls_32.h
  SYSHDR  arch/x86/include/generated/asm/unistd_32_ia32.h
  SYSHDR  arch/x86/include/generated/asm/unistd_64_x32.h
  HOSTCC  scripts/basic/fixdep
Cannot create temporary file in /tmp/: Permission denied
make[1]: *** [scripts/Makefile.host:95: scripts/basic/fixdep] Error 134
make: *** [Makefile:565: scripts_basic] Error 2
make: *** Waiting for unfinished jobs...

typecasto avatar Jul 27 '22 22:07 typecasto

sudo chmod -t /tmp fixed it for me. I ran it on both host and client.

source: https://unix.stackexchange.com/a/687711

weidtn avatar Feb 02 '24 15:02 weidtn