diff options
Diffstat (limited to 'results/classifier/deepseek-2-tmp/output/mistranslation/1926246')
| -rw-r--r-- | results/classifier/deepseek-2-tmp/output/mistranslation/1926246 | 51 |
1 files changed, 0 insertions, 51 deletions
diff --git a/results/classifier/deepseek-2-tmp/output/mistranslation/1926246 b/results/classifier/deepseek-2-tmp/output/mistranslation/1926246 deleted file mode 100644 index 0edb5e96..00000000 --- a/results/classifier/deepseek-2-tmp/output/mistranslation/1926246 +++ /dev/null @@ -1,51 +0,0 @@ - -chrome based apps can not be run under qemu user mode - -chrome uses /proc/self/exe to fork render process. -Here a simple code to reproduce the issue. It's output parent then child but failed with qemu: unknown option 'type=renderer'. - -Maybe we can modify exec syscall to replace /proc/self/exe to the real path. - -//gcc -o self self.c -#include <stdio.h> -#include <sys/types.h> -#include <unistd.h> -int main(int argc, char** argv) { - if(argc==1){ - printf ("parent\n"); - if ( fork() == 0 ) - { - return execl("/proc/self/exe","/proc/self/exe", "--type=renderer",NULL); - } - } else { - printf ("child\n"); - } - return 0; -} - -similar reports: -https://github.com/AppImage/AppImageKit/issues/965 -https://github.com/golang/go/issues/42080 - -Workardound: -compile chrome or your chrome based app with a patch to content/common/child_process_host_impl.cc:GetChildPath, get the realpath of /proc/self/exe: - -diff --git a/content/common/child_process_host_impl.cc b/content/common/child_process_host_impl.cc -index bc78aba80ac8..9fab74d3bae8 100644 ---- a/content/common/child_process_host_impl.cc -+++ b/content/common/child_process_host_impl.cc -@@ -60,8 +60,12 @@ base::FilePath ChildProcessHost::GetChildPath(int flags) { - #if defined(OS_LINUX) - // Use /proc/self/exe rather than our known binary path so updates - // can't swap out the binary from underneath us. -- if (child_path.empty() && flags & CHILD_ALLOW_SELF) -- child_path = base::FilePath(base::kProcSelfExe); -+ if (child_path.empty() && flags & CHILD_ALLOW_SELF) { -+ if (!ReadSymbolicLink(base::FilePath(base::kProcSelfExe), &child_path)) { -+ NOTREACHED() << "Unable to resolve " << base::kProcSelfExe << "."; -+ child_path = base::FilePath(base::kProcSelfExe); -+ } -+ } - #endif - - // On most platforms, the child executable is the same as the current \ No newline at end of file |
