Loading debuggerd/libdebuggerd/tombstone_proto.cpp +3 −0 Original line number Diff line number Diff line Loading @@ -356,6 +356,9 @@ static void dump_probable_cause(Tombstone* tombstone, unwindstack::AndroidUnwind auto map_info = maps->Find(fault_addr); if (map_info != nullptr && map_info->flags() == PROT_EXEC) { cause = "execute-only (no-read) memory access error; likely due to data in .text."; } else if (fault_addr == target_thread.registers->pc() && map_info != nullptr && (map_info->flags() & PROT_EXEC) == 0) { cause = "trying to execute non-executable memory."; } else { cause = get_stack_overflow_cause(fault_addr, target_thread.registers->sp(), maps); } Loading Loading
debuggerd/libdebuggerd/tombstone_proto.cpp +3 −0 Original line number Diff line number Diff line Loading @@ -356,6 +356,9 @@ static void dump_probable_cause(Tombstone* tombstone, unwindstack::AndroidUnwind auto map_info = maps->Find(fault_addr); if (map_info != nullptr && map_info->flags() == PROT_EXEC) { cause = "execute-only (no-read) memory access error; likely due to data in .text."; } else if (fault_addr == target_thread.registers->pc() && map_info != nullptr && (map_info->flags() & PROT_EXEC) == 0) { cause = "trying to execute non-executable memory."; } else { cause = get_stack_overflow_cause(fault_addr, target_thread.registers->sp(), maps); } Loading