bytedance / bytedance/btrace

2.0.3-rc02 版本无法通过构建

Open
#120 4 comments 0 reactions 0 assignees View on GitHub
Dominant language
C++
Stars
2.5k
Forks
335
PR merge metrics
No merged PRs in 30d

Description

运行背景:
jdk 1.8.0
gradle 6.1.1
AGP 4.0

在 `> Task :app:dexBuilderDebug` 阶段会大量有报错,类型信息如下:
```
AGPBI: {"kind":"error","text":"NullPointerException during IR Conversion","sources":[{"file":"/Users/ram/workspace/workDir/xx-android/app/build/intermediates/transforms/rheaTrace/debug/81.jar"}],"tool":"D8"}
```

app目录下的gradle配置如下:
```
rheaTrace {

compilation {
//为减少 APK 体积, 你可以为 App 中需要跟踪的方法设置 id 以此来跟踪此自定义事件, 默认值 false。
// traceWithMethodID = false
//该文件配置决定哪些方法您不希望跟踪, 默认值 null。
traceFilterFilePath = "${project.rootDir}/rhea-trace/traceFilter.txt"
//用特指定方法 id 来设置自定义事件名称, 默认值 null。
// applyMethodMappingFilePath = "${project.rootDir}/rhea-trace/keep-method-id.txt"
needPackageWithMethodMap = true
}

runtime {
//仅在主线程抓取跟踪事件, 默认值 false。
mainThreadOnly true
//在 App 启动之初开始抓取跟踪事件, 默认值 true。
startWhenAppLaunch true
//指定内存存储 atrace 数据 ring buffer 的大小。
atraceBufferSize "500000"
}
}
```

traceFilter.txt 文件内容如下:
```
-blockpackage com/google
-blockpackage android/support
-blockpackage androidx/
```

Contributor guide

Open the contributing guide

Research direction

Reproduce the failure at :app:dexBuilderDebug with JDK 1.8.0, Gradle 6.1.1, and AGP 4.0, using the shown app Gradle configuration and traceFilter.txt. Start by inspecting the generated 81.jar referenced in the D8 error and the rheaTrace compilation path; done means the 2.0.3-rc02 build completes without the IR Conversion NullPointerException.

Written by the indexing model from the issue text.

Assessment

Tech stack
android, java
Domain
build-system, mobile-dev
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.