-
Notifications
You must be signed in to change notification settings - Fork 450
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Cannot mount overlay: Invalid argument #242
Comments
Please attach the output of |
Here you go: $ sudo strace -f -u $USER darling shell execve("/usr/local/bin/darling", ["darling", "shell"], [/* 17 vars */]) = 0 brk(NULL) = 0x1937000 fcntl(0, F_GETFD) = 0 fcntl(1, F_GETFD) = 0 fcntl(2, F_GETFD) = 0 access("/etc/suid-debug", F_OK) = -1 ENOENT (No such file or directory) access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory) mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f3f72050000 access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory) open("/usr/local/lib//darling/tls/x86_64/libc.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat("/usr/local/lib//darling/tls/x86_64", 0x7ffcd26be730) = -1 ENOENT (No such file or directory) open("/usr/local/lib//darling/tls/libc.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat("/usr/local/lib//darling/tls", 0x7ffcd26be730) = -1 ENOENT (No such file or directory) open("/usr/local/lib//darling/x86_64/libc.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat("/usr/local/lib//darling/x86_64", 0x7ffcd26be730) = -1 ENOENT (No such file or directory) open("/usr/local/lib//darling/libc.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat("/usr/local/lib//darling", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 open("/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3 fstat(3, {st_mode=S_IFREG|0644, st_size=110778, ...}) = 0 mmap(NULL, 110778, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f3f72034000 close(3) = 0 access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory) open("/lib/x86_64-linux-gnu/libc.so.6", O_RDONLY|O_CLOEXEC) = 3 read(3, "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0P\t\2\0\0\0\0\0"..., 832) = 832 fstat(3, {st_mode=S_IFREG|0755, st_size=1864888, ...}) = 0 mmap(NULL, 3967488, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f3f71a64000 mprotect(0x7f3f71c24000, 2093056, PROT_NONE) = 0 mmap(0x7f3f71e23000, 24576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1bf000) = 0x7f3f71e23000 mmap(0x7f3f71e29000, 14848, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7f3f71e29000 close(3) = 0 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f3f72033000 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f3f72032000 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f3f72031000 arch_prctl(ARCH_SET_FS, 0x7f3f72032700) = 0 mprotect(0x7f3f71e23000, 16384, PROT_READ) = 0 mprotect(0x604000, 4096, PROT_READ) = 0 mprotect(0x7f3f72052000, 4096, PROT_READ) = 0 munmap(0x7f3f72034000, 110778) = 0 geteuid() = 0 brk(NULL) = 0x1937000 brk(0x1958000) = 0x1958000 open("/proc/modules", O_RDONLY) = 3 fstat(3, {st_mode=S_IFREG|0444, st_size=0, ...}) = 0 read(3, "overlay 49152 0 - Live 0x0000000"..., 1024) = 1024 close(3) = 0 getuid() = 1000 getgid() = 1000 stat("/home/sergei/.darling", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 stat("/home/sergei/.darling", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 open("/home/sergei/.darling/.init.pid", O_RDONLY) = 3 fstat(3, {st_mode=S_IFREG|0664, st_size=4, ...}) = 0 read(3, "2540", 4096) = 4 read(3, "", 4096) = 0 close(3) = 0 kill(2540, SIG_0) = -1 ESRCH (No such process) unlink("/home/sergei/.darling/.init.pid") = 0 stat("/home/sergei/.darling.workdir", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 pipe([3, 4]) = 0 unshare(CLONE_NEWPID) = 0 clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0x7f3f720329d0) = 7708 close(4) = 0 read(3, strace: Process 7708 attached [pid 7708] close(3) = 0 [pid 7708] unshare(CLONE_NEWNS) = 0 [pid 7708] mount(NULL, "/", NULL, MS_REC|MS_SLAVE, NULL) = 0 [pid 7708] mount("overlay", "/home/sergei/.darling", "overlay", 0, "lowerdir=/usr/local/libexec/darl"...) = -1 EINVAL (Invalid argument) [pid 7708] write(2, "Cannot mount overlay: Invalid ar"..., 39Cannot mount overlay: Invalid argument ) = 39 [pid 7708] exit_group(1) = ? [pid 7707] <... read resumed> "", 1) = 0 [pid 7707] close(3) = 0 [pid 7707] setresuid(-1, 1000, -1) = 0 [pid 7707] setresgid(-1, 1000, -1) = 0 [pid 7707] open("/home/sergei/.darling/.init.pid", O_WRONLY|O_CREAT|O_TRUNC, 0666) = 3 [pid 7707] setresuid(-1, 0, -1) = 0 [pid 7707] setresgid(-1, 0, -1) = 0 [pid 7707] fstat(3, {st_mode=S_IFREG|0644, st_size=0, ...}) = 0 [pid 7707] write(3, "7708", 4) = 4 [pid 7707] close(3) = 0 [pid 7707] getcwd("/home/sergei", 4096) = 19 [pid 7707] open("/proc/7708/ns/pid", O_RDONLY) = 3 [pid 7707] setns(3, CLONE_NEWPID) = 0 [pid 7707] close(3) = 0 [pid 7707] clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0x7f3f720329d0) = 7709 [pid 7707] setresuid(-1, 1000, -1) = 0 [pid 7707] wait4(7709, strace: Exit of unknown pid 7709 ignored [{WIFSIGNALED(s) && WTERMSIG(s) == SIGKILL}], 0, NULL) = 7709 [pid 7707] --- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_KILLED, si_pid=7709, si_uid=1000, si_status=SIGKILL, si_utime=0, si_stime=0} --- [pid 7707] exit_group(9) = ? [pid 7707] +++ exited with 9 +++ +++ exited with 1 +++ |
I cannot reproduce this on the same setup (Ubuntu 16.04 running under Virtual Box; clean installation of both Ubuntu and Darling). If you had a version of Darling installed before the introduction of the Darling container, you may need to remove all leftover files (in Are you able to perform the same mount normally, ex. from shell?
|
Thanks, must be something wrong with my file system. mount: wrong fs type, bad option, bad superblock on overlay, missing codepage or helper program, or other error In some cases useful info is found in syslog - try dmesg | tail or so. sergei@sergei-VirtualBox:~$ dmesg | tail [ 1019.876159] overlayfs: filesystem on '/home/sergei/.darling' not supported as upperdir I wonder why wouldn't it be supported, it's just ext4 /dev/sda1 on / type ext4 (rw,relatime,errors=remount-ro,data=ordered) Anyway doesn't appear to be the darling problem, so I would close the issue. |
Another cause of this error on Ubuntu is having an encrypted home folder. |
I'm assuming this is because it needs d_type, which "only some filesystems (among them: Btrfs, ext2, ext3, and ext4) have full support for". We don't have a lot of options if we want this to work — either to patch ecryptfs and get it upstreamed, or to abandon overlayfs to use mergerfs, or even roll our own darlingfs (that would solve some other problems too). |
You should still be able to use prefixes under e.g. The next step is to update README saying we don't support "encrypted home folder" at the moment. |
Copied from the website and updated. Also mention that we don't support encrypted home dir (#242)
I was thinking about developing "icasefs" just to solve the case sensitivity problem, but I guess things are more complicated than that. "Fun" fact: it is impossible to unmount fuse mounts (e.g. mounted DMGs or mergerfs) if you mount them under an NFS4 directory, because fusermount is suid root and root cannot access other users' NFS4 mounts. |
I was thinking case-insensitivity, /Volumes (#220) and top-level folder ownership faking. And then maybe Mac-like /dev. By the way, we should bind-mount, not symlink, things like /Users and /dev |
Same for sshfs, IIRC. Really stupid. |
Yes indeed. I removed the encryption and it runs just fine. |
If an encrypted home directory is detectable, maybe also mention it in the error message? |
Getting the following error:
OS Ubuntu 16.04 running under Virtual Box
The text was updated successfully, but these errors were encountered: