Skip to content

[BUG] simpleperf does not run on macOS when installed by Android Studio #1757

Closed
@DanAlbert

Description

@DanAlbert

Description

Mirroring internal bug http://b/241493489.

danalbert-macbookpro2 :: ~ » Library/Android/sdk/ndk/25.0.8775105/simpleperf/bin/darwin/x86_64/simpleperf
[1]    68271 killed     Library/Android/sdk/ndk/25.0.8775105/simpleperf/bin/darwin/x86_64/simpleperf

The logs (via /usr/bin/log show) imply this is an issue with signing:

2022-08-25 12:01:14.425139-0700 0xa24b7    Default     0x0                  0      0    kernel: CODE SIGNING: cs_invalid_page(0x1044dc000): p=68319[simpleperf] final status 0x23020200, denying page sending SIGKILL
2022-08-25 12:01:14.425167-0700 0xa24b7    Default     0x0                  0      0    kernel: CODE SIGNING: process 68319[simpleperf]: rejecting invalid page at address 0x1044dc000 from offset 0xa48000 in file "/Users/danalbert/Library/Android/sdk/ndk/25.0.8775105/simpleperf/bin/darwin/x86_64/simpleperf" (cs_mtime:1659027423.751343174 == mtime:1659027423.751343174) (signed:1 validated:1 tainted:1 nx:0 wpmapped:0 dirty:0 depth:0)

xattr reports that simpleperf is not quarantined. Attributes and signing state appears to match that of clang, which runs fine.

I have the same problem when running simpleperf from the prebuilts directory, so I think it was broken before it reached the NDK:

danalbert-macbookpro2 :: ~ » /Volumes/src/ndk/prebuilts/simpleperf/bin/darwin/x86_64/simpleperf
[1]    68469 killed     /Volumes/src/ndk/prebuilts/simpleperf/bin/darwin/x86_64/simpleperf

Aside from fixing this, we need to investigate why QA didn't catch this.

Affected versions

r25

Canary version

No response

Host OS

Mac

Host OS version

12.5.1

Affected ABIs

armeabi-v7a, arm64-v8a, x86, x86_64

Build system

Other (specify below)

Other build system

n/a

minSdkVersion

n/a

Device API level

n/a

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions