Skip to content
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

__futex_syscall3 #13

Open
heimashi opened this issue Nov 24, 2020 · 0 comments
Open

__futex_syscall3 #13

heimashi opened this issue Nov 24, 2020 · 0 comments

Comments

@heimashi
Copy link

heimashi commented Nov 24, 2020

  #00  pc 0000000000021b48  /system/lib/libc.so (__futex_syscall3+8)
  #00  pc 000000000000e8b4  /system/lib/libc.so
  #00  pc 0000000000052715  /system/lib/libdvm.so (dvmLinearAlloc(Object*, unsigned int)+24)
  #00  pc 000000000006f47f  /system/lib/libdvm.so
  #00  pc 0000000000068f55  /system/lib/libdvm.so
  #00  pc 0000000000000214  /dev/ashmem/dalvik-jit-code-cache (deleted)

接入后GP后台Android4.4版本开始出现较多__futex_syscall3异常,本地也偶尔能在首次启动的时候复现,怀疑是在系统资源(cpu/内存)紧缺下,可能会被系统杀死的情况

查看BoostMultiDex的文章是有介绍使用到libdvm.so,怀疑是4.4这个LinearAlloc上限比较低,分配失败导致的crash

using func = int (*)(constchar* fileName, constchar* odexOutputName, void* ppRawDexFile, bool isBootstrap);

void* handler = dlopen("libdvm.so", RTLD_NOW);
dvmRawDexFileOpen = (func) dlsym(handler, "_Z17dvmRawDexFileOpenPKcS0_PP10RawDexFileb");
dvmRawDexFileOpen(file_path, opt_file_path, &arg, false);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant