execve() from a homebrew app hangs up the system
Opened this issue · 1 comments
sleirsgoevy commented
Here is an extract from Mira's log after doing execve("/app0/eboot.bin", &{"/app0/eboot.bin", 0}, 0)
:
W:\Build\J02541110\sys\freebsd\sys\kern\kern_exec.c(534) do_execve
[Debug] AuthSelfHeader:176 : fixing unsigned
[Debug] OnSceSblAuthMgrIsLoadable2:136 : building fake self information
[Debug] SceSblAuthMgrGetElfHeader:314 : self format
[Error] SceSblAuthMgrGetSelfAuthInfoFake:425 : ealready (no valid authinfo)
[Warn] OnMiraProcessExec:495 : Process Executing:
err: (1), retval: (0)
[Error] OnProcessExec:129 : unable to apply devfs rule add request (-1).
After this the application process hangs, any attempts to terminate it hang too, including rebooting the system. I'm not entirely sure though that this is a Mira issue and not a vanilla PS4 issue. We can see that the system does load the file (so this is not a permission issue), but then some error occurs.
sleirsgoevy commented
sceSystemServiceLoadExec seems to bypass the normal execve() call and instead spawn a new process from SceSysCore, so that works.