termux / proot

An chroot-like implementation using ptrace.
https://wiki.termux.com/wiki/PRoot
Other
742 stars 162 forks source link

Unable to launch desktop environment with proot (Failed to close file descriptor for child process (Invalid argument)) #277

Closed Saikatsaha1996 closed 8 months ago

Saikatsaha1996 commented 1 year ago
Android version 13
Proot version 5.1.0

Problem description I am trying to launch Ubuntu desktop environment but unable to launch.. Debian, Ubuntu 18.04 working fine.. but unable to launch Ubuntu jammy, Ubuntu 23

Everytime getting error unable to launch

Failed to close file descriptor for child process (Invalid argument) With black screen

Screenshot_2023-06-08-04-59-57-86_e789fac88d2036294cc94e5cbb2dc180

First i thought it is termux-x11 issue but i checked same issue with vnc server..

Then i checked with debian, Ubuntu 18.04 but all are working fine..

Screenshot_2023-06-08-21-48-31-04_e789fac88d2036294cc94e5cbb2dc180

But Ubuntu jammy not working

Thu Jun  8 00:14:28 2023
 vncext:      VNC extension running!
 vncext:      Listening for VNC connections on local interface(s), port 5901
 vncext:      created VNC server for screen 0
3NI3X0 New Xtigervnc server 'localhost:1 (root)' on port 5901 for display :1.
3NI3X0 Use xtigervncviewer -SecurityTypes VncAuth -passwd /tmp/tigervnc.l58vOe/passwd :1 to connect to the VNC server.
[mi] mieq: warning: overriding existing handler (nil) with 0x3000154df0 for event 2
[mi] mieq: warning: overriding existing handler (nil) with 0x3000154df0 for event 3

(xfce4-session:28943): xfce4-session-WARNING **: 00:14:29.828: Failed to spawn ssh-agent: Failed to close file descriptor for child process (Invalid argument)

(xfce4-session:28943): xfce4-session-WARNING **: 00:14:29.835: failed to call dbus-update-activation-environment. Output was (null), error was Failed to close file descriptor for child process (Invalid argument)

(xfce4-session:28943): xfce4-session-WARNING **: 00:14:29.851: Failed to spawn gpg-agent: Failed to close file descriptor for child process (Invalid argument)

(xfce4-session:28943): xfce4-session-WARNING **: 00:14:29.880: Unable to launch "xfwm4": Failed to close file descriptor for child process (Invalid argument)

(xfce4-session:28943): xfce4-session-WARNING **: 00:14:29.888: Unable to launch "xfsettingsd": Failed to close file descriptor for child process (Invalid argument)

(xfce4-session:28943): xfce4-session-WARNING **: 00:14:29.896: Unable to launch "xfce4-panel": Failed to close file descriptor for child process (Invalid argument)

(xfce4-session:28943): xfce4-session-WARNING **: 00:14:29.905: Unable to launch "Thunar": Failed to close file descriptor for child process (Invalid argument)

(xfce4-session:28943): xfce4-session-WARNING **: 00:14:29.915: Unable to launch "xfdesktop": Failed to close file descriptor for child process (Invalid argument)

(xfce4-session:28943): xfce4-session-WARNING **: 00:14:29.947: Unable to launch "/usr/bin/snap userd --autostart" (specified by autostart/snap-userd-autostart.desktop): Failed to close file descriptor for child process (Invalid argument)

(xfce4-session:28943): xfce4-session-WARNING **: 00:14:29.965: Unable to launch "xdg-user-dirs-update" (specified by autostart/xdg-user-dirs.desktop): Failed to close file descriptor for child process (Invalid argument)

(xfce4-session:28943): xfce4-session-WARNING **: 00:14:29.977: Unable to launch "/usr/lib/aarch64-linux-gnu/xfce4/notifyd/xfce4-notifyd" (specified by autostart/xfce4-notifyd.desktop): Failed to close file descriptor for child process (Invalid argument)

(xfce4-session:28943): xfce4-session-WARNING **: 00:14:29.990: Unable to launch "xfce4-power-manager" (specified by autostart/xfce4-power-manager.desktop): Failed to close file descriptor for child process (Invalid argument)

(xfce4-session:28943): xfce4-session-WARNING **: 00:14:30.008: Unable to launch "xfsettingsd" (specified by autostart/xfsettingsd.desktop): Failed to close file descriptor for child process (Invalid argument)

(xfce4-session:28943): xfce4-session-WARNING **: 00:14:30.030: Unable to launch "xiccd" (specified by autostart/xiccd.desktop): Failed to close file descriptor for child process (Invalid argument)

(xfce4-session:28943): xfce4-session-WARNING **: 00:14:30.064: Unable to launch "xfce4-screensaver" (specified by autostart/xfce4-screensaver.desktop): Failed to close file descriptor for child process (Invalid argument)

(xfce4-session:28943): xfce4-session-WARNING **: 00:14:30.113: Unable to launch "/usr/lib/policykit-1-gnome/polkit-gnome-authentication-agent-1" (specified by autostart/polkit-gnome-authentication-agent-1.desktop): Failed to close file descriptor for child process (Invalid argument)

(xfce4-session:28943): xfce4-session-WARNING **: 00:14:30.135: Unable to launch "start-pulseaudio-x11" (specified by autostart/pulseaudio.desktop): Failed to close file descriptor for child process (Invalid argument)

(xfce4-session:28943): xfce4-session-WARNING **: 00:14:30.168: Unable to launch "/usr/libexec/ayatana-indicator-application/ayatana-indicator-application-service" (specified by autostart/ayatana-indicator-application.desktop): Failed to close file descriptor for child process (Invalid argument)

I already created issue here but need to synchronise problem with termux..

https://github.com/proot-me/proot/issues/357

Saikatsaha1996 commented 1 year ago

Should I close this issue? Or anyone available?

Saikatsaha1996 commented 1 year ago

Strace log

execve("/bin/launch", ["launch"], 0x7fc8945380 /* 14 vars */) = 0
brk(NULL)                               = 0x3000034000
faccessat(AT_FDCWD, "/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3
newfstatat(3, "", {st_mode=S_IFREG|0644, st_size=40197, ...}, AT_EMPTY_PATH) = 0
mmap(NULL, 40197, PROT_READ, MAP_PRIVATE, 3, 0) = 0x788c200000
close(3)                                = 0
openat(AT_FDCWD, "/lib/aarch64-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\267\0\1\0\0\0\260o\2\0\0\0\0\0"..., 832) = 832
newfstatat(3, "", {st_mode=S_IFREG|0644, st_size=1657752, ...}, AT_EMPTY_PATH) = 0
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x788c1fe000
mmap(NULL, 1826944, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x788c03f000
mmap(0x788c040000, 1761408, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0) = 0x788c040000
munmap(0x788c03f000, 4096)              = 0
munmap(0x788c1ef000, 57472)             = 0
mprotect(0x788c1cb000, 73728, PROT_NONE) = 0
mmap(0x788c1dd000, 20480, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x18d000) = 0x788c1dd000
mmap(0x788c1e2000, 49280, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x788c1e2000
close(3)                                = 0
set_tid_address(0x788c1fe8f0)           = 15828
set_robust_list(0x788c1fe900, 24)       = 517746977024
rseq(0x788c1fef40, 0x20, 0, 0xd428bc00) = 517746978624
mprotect(0x788c1dd000, 12288, PROT_READ) = 0
mprotect(0x300002e000, 8192, PROT_READ) = 0
mprotect(0x3f0003e000, 8192, PROT_READ) = 0
prlimit64(0, RLIMIT_STACK, NULL, {rlim_cur=8192*1024, rlim_max=RLIM64_INFINITY}) = 0
munmap(0x788c200000, 40197)             = 0
getuid()                                = 0
getgid()                                = 0
getpid()                                = 15828
rt_sigaction(SIGCHLD, {sa_handler=0x30000127c0, sa_mask=~[RTMIN RT_1], sa_flags=0}, NULL, 8) = 0
geteuid()                               = 0
getrandom("\x75\xa2\x5f\x83\x31\xb2\x87\x52", 8, GRND_NONBLOCK) = 8
brk(NULL)                               = 0x3000034000
brk(0x3000055000)                       = 0x3000055000
getppid()                               = 15825
newfstatat(AT_FDCWD, "/root", {st_mode=S_IFDIR|0700, st_size=3452, ...}, 0) = 0
newfstatat(AT_FDCWD, ".", {st_mode=S_IFDIR|0700, st_size=3452, ...}, 0) = 0
openat(AT_FDCWD, "/bin/launch", O_RDONLY) = 3
fcntl(3, F_DUPFD, 10)                   = 10
close(3)                                = 0
fcntl(10, F_SETFD, FD_CLOEXEC)          = 0
geteuid()                               = 0
getegid()                               = 0
rt_sigaction(SIGINT, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0
rt_sigaction(SIGINT, {sa_handler=0x30000127c0, sa_mask=~[RTMIN RT_1], sa_flags=0}, NULL, 8) = 0
rt_sigaction(SIGQUIT, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0
rt_sigaction(SIGQUIT, {sa_handler=SIG_DFL, sa_mask=~[RTMIN RT_1], sa_flags=0}, NULL, 8) = 0
rt_sigaction(SIGTERM, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0
rt_sigaction(SIGTERM, {sa_handler=SIG_DFL, sa_mask=~[RTMIN RT_1], sa_flags=0}, NULL, 8) = 0
read(10, "#!/bin/sh\nexport DISPLAY=:0\nsudo"..., 8192) = 63
newfstatat(AT_FDCWD, "/usr/local/sbin/sudo", 0x7fdc45af98, 0) = -1 ENOENT (No such file or directory)
newfstatat(AT_FDCWD, "/usr/local/bin/sudo", 0x7fdc45af98, 0) = -1 ENOENT (No such file or directory)
newfstatat(AT_FDCWD, "/bin/sudo", {st_mode=S_IFREG|S_ISUID|0755, st_size=269320, ...}, 0) = 0
rt_sigprocmask(SIG_SETMASK, ~[RTMIN RT_1], NULL, 8) = 0
clone(child_stack=0x7fdc45af40, flags=CLONE_VM|CLONE_VFORK|SIGCHLD) = 15829
rt_sigprocmask(SIG_SETMASK, [], ~[KILL STOP RTMIN RT_1], 8) = 0
wait4(-1, [{WIFEXITED(s) && WEXITSTATUS(s) == 0}], 0, NULL) = 15829
--- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=15829, si_uid=10316, si_status=0, si_utime=0, si_stime=11 /* 0.11 s */} ---
rt_sigreturn({mask=[]})                 = 15829
wait4(-1, 0x7fdc45aee4, WNOHANG, NULL)  = -1 ECHILD (No child processes)
newfstatat(AT_FDCWD, "/usr/local/sbin/startxfce4", 0x7fdc45af98, 0) = -1 ENOENT (No such file or directory)
newfstatat(AT_FDCWD, "/usr/local/bin/startxfce4", 0x7fdc45af98, 0) = -1 ENOENT (No such file or directory)
newfstatat(AT_FDCWD, "/bin/startxfce4", {st_mode=S_IFREG|0755, st_size=3304, ...}, 0) = 0
rt_sigprocmask(SIG_SETMASK, ~[RTMIN RT_1], NULL, 8) = 0
clone(child_stack=0x7fdc45af40, flags=CLONE_VM|CLONE_VFORK|SIGCHLD) = 15841
rt_sigprocmask(SIG_SETMASK, [], ~[KILL STOP RTMIN RT_1], 8) = 0
wait4(-1, 0x7fdc45aee4, 0, NULL)        = ? ERESTARTSYS (To be restarted if SA_RESTART is set)
--- SIGWINCH {si_signo=SIGWINCH, si_code=SI_KERNEL} ---
wait4(-1, 0x7fdc45aee4, 0, NULL)        = ? ERESTARTSYS (To be restarted if SA_RESTART is set)
--- SIGWINCH {si_signo=SIGWINCH, si_code=SI_KERNEL} ---
wait4(-1, 0x7fdc45aee4, 0, NULL)        = ? ERESTARTSYS (To be restarted if SA_RESTART is set)
--- SIGWINCH {si_signo=SIGWINCH, si_code=SI_KERNEL} ---
wait4(-1, 0x7fdc45aee4, 0, NULL)        = ? ERESTARTSYS (To be restarted if SA_RESTART is set)
--- SIGWINCH {si_signo=SIGWINCH, si_code=SI_KERNEL} ---
wait4(-1, 0x7fdc45aee4, 0, NULL)        = ? ERESTARTSYS (To be restarted if SA_RESTART is set)
--- SIGWINCH {si_signo=SIGWINCH, si_code=SI_KERNEL} ---
wait4(-1, 0x7fdc45aee4, 0, NULL)        = ? ERESTARTSYS (To be restarted if SA_RESTART is set)
--- SIGWINCH {si_signo=SIGWINCH, si_code=SI_KERNEL} ---
wait4(-1, 0x7fdc45aee4, 0, NULL)        = ? ERESTARTSYS (To be restarted if SA_RESTART is set)
--- SIGINT {si_signo=SIGINT, si_code=SI_KERNEL} ---
rt_sigreturn({mask=[]})                 = -1 EINTR (Interrupted system call)
wait4(-1, [{WIFSIGNALED(s) && WTERMSIG(s) == SIGINT}], 0, NULL) = 15841
--- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_KILLED, si_pid=15841, si_uid=10316, si_status=SIGINT, si_utime=21 /* 0.21 s */, si_stime=55 /* 0.55 s */} ---
rt_sigreturn({mask=[]})                 = 15841
wait4(-1, 0x7fdc45aee4, WNOHANG, NULL)  = -1 ECHILD (No child processes)
rt_sigprocmask(SIG_SETMASK, [], [], 8)  = 0
rt_sigaction(SIGINT, {sa_handler=SIG_DFL, sa_mask=[INT], sa_flags=SA_RESTART}, {sa_handler=0x30000127c0, sa_mask=~[KILL STOP RTMIN RT_1], sa_flags=0}, 8) = 0
gettid()                                = 15828
getpid()                                = 15828
tgkill(15828, 15828, SIGINT)            = 0
--- SIGINT {si_signo=SIGINT, si_code=SI_TKILL, si_pid=15828, si_uid=10316} ---
+++ killed by SIGINT +++
Saikatsaha1996 commented 8 months ago

Any solution available? Or i should close? Mey be all people not having this issue that's why solution not available.. so I think I have to close this issue..

No problem thanks..

Note :- all devices with 5.4 kernel have this issue..

VaMPIRESqq commented 8 months ago
Android version 13
Proot version 5.1.0

Problem description I am trying to launch Ubuntu desktop environment but unable to launch.. Debian, Ubuntu 18.04 working fine.. but unable to launch Ubuntu jammy, Ubuntu 23

Everytime getting error unable to launch

Failed to close file descriptor for child process (Invalid argument) With black screen

Screenshot_2023-06-08-04-59-57-86_e789fac88d2036294cc94e5cbb2dc180

First i thought it is termux-x11 issue but i checked same issue with vnc server..

Then i checked with debian, Ubuntu 18.04 but all are working fine..

Screenshot_2023-06-08-21-48-31-04_e789fac88d2036294cc94e5cbb2dc180

But Ubuntu jammy not working

Thu Jun  8 00:14:28 2023
 vncext:      VNC extension running!
 vncext:      Listening for VNC connections on local interface(s), port 5901
 vncext:      created VNC server for screen 0
3NI3X0 New Xtigervnc server 'localhost:1 (root)' on port 5901 for display :1.
3NI3X0 Use xtigervncviewer -SecurityTypes VncAuth -passwd /tmp/tigervnc.l58vOe/passwd :1 to connect to the VNC server.
[mi] mieq: warning: overriding existing handler (nil) with 0x3000154df0 for event 2
[mi] mieq: warning: overriding existing handler (nil) with 0x3000154df0 for event 3

(xfce4-session:28943): xfce4-session-WARNING **: 00:14:29.828: Failed to spawn ssh-agent: Failed to close file descriptor for child process (Invalid argument)

(xfce4-session:28943): xfce4-session-WARNING **: 00:14:29.835: failed to call dbus-update-activation-environment. Output was (null), error was Failed to close file descriptor for child process (Invalid argument)

(xfce4-session:28943): xfce4-session-WARNING **: 00:14:29.851: Failed to spawn gpg-agent: Failed to close file descriptor for child process (Invalid argument)

(xfce4-session:28943): xfce4-session-WARNING **: 00:14:29.880: Unable to launch "xfwm4": Failed to close file descriptor for child process (Invalid argument)

(xfce4-session:28943): xfce4-session-WARNING **: 00:14:29.888: Unable to launch "xfsettingsd": Failed to close file descriptor for child process (Invalid argument)

(xfce4-session:28943): xfce4-session-WARNING **: 00:14:29.896: Unable to launch "xfce4-panel": Failed to close file descriptor for child process (Invalid argument)

(xfce4-session:28943): xfce4-session-WARNING **: 00:14:29.905: Unable to launch "Thunar": Failed to close file descriptor for child process (Invalid argument)

(xfce4-session:28943): xfce4-session-WARNING **: 00:14:29.915: Unable to launch "xfdesktop": Failed to close file descriptor for child process (Invalid argument)

(xfce4-session:28943): xfce4-session-WARNING **: 00:14:29.947: Unable to launch "/usr/bin/snap userd --autostart" (specified by autostart/snap-userd-autostart.desktop): Failed to close file descriptor for child process (Invalid argument)

(xfce4-session:28943): xfce4-session-WARNING **: 00:14:29.965: Unable to launch "xdg-user-dirs-update" (specified by autostart/xdg-user-dirs.desktop): Failed to close file descriptor for child process (Invalid argument)

(xfce4-session:28943): xfce4-session-WARNING **: 00:14:29.977: Unable to launch "/usr/lib/aarch64-linux-gnu/xfce4/notifyd/xfce4-notifyd" (specified by autostart/xfce4-notifyd.desktop): Failed to close file descriptor for child process (Invalid argument)

(xfce4-session:28943): xfce4-session-WARNING **: 00:14:29.990: Unable to launch "xfce4-power-manager" (specified by autostart/xfce4-power-manager.desktop): Failed to close file descriptor for child process (Invalid argument)

(xfce4-session:28943): xfce4-session-WARNING **: 00:14:30.008: Unable to launch "xfsettingsd" (specified by autostart/xfsettingsd.desktop): Failed to close file descriptor for child process (Invalid argument)

(xfce4-session:28943): xfce4-session-WARNING **: 00:14:30.030: Unable to launch "xiccd" (specified by autostart/xiccd.desktop): Failed to close file descriptor for child process (Invalid argument)

(xfce4-session:28943): xfce4-session-WARNING **: 00:14:30.064: Unable to launch "xfce4-screensaver" (specified by autostart/xfce4-screensaver.desktop): Failed to close file descriptor for child process (Invalid argument)

(xfce4-session:28943): xfce4-session-WARNING **: 00:14:30.113: Unable to launch "/usr/lib/policykit-1-gnome/polkit-gnome-authentication-agent-1" (specified by autostart/polkit-gnome-authentication-agent-1.desktop): Failed to close file descriptor for child process (Invalid argument)

(xfce4-session:28943): xfce4-session-WARNING **: 00:14:30.135: Unable to launch "start-pulseaudio-x11" (specified by autostart/pulseaudio.desktop): Failed to close file descriptor for child process (Invalid argument)

(xfce4-session:28943): xfce4-session-WARNING **: 00:14:30.168: Unable to launch "/usr/libexec/ayatana-indicator-application/ayatana-indicator-application-service" (specified by autostart/ayatana-indicator-application.desktop): Failed to close file descriptor for child process (Invalid argument)

I already created issue here but need to synchronise problem with termux..

proot-me/proot#357

I have the same thing 😭

m-r-s commented 6 months ago

Same here

Vikasg7 commented 4 months ago

+1 I got the same issue on My phone. Kernel 5.4

Termux:Boot is not able to launch stuff at boot either. Any solutions?