Fixed
Status Update
Comments
ze...@google.com <ze...@google.com>
ze...@google.com <ze...@google.com> #2
Thank you for the reproduction project! I have confirmed this locally and will have a fix up shortly.
ap...@google.com <ap...@google.com> #3
Project: r8
Branch: main
commit 50ac58bc0b6ecb41b44e0845a047f1fd47302dcd
Author: Ian Zerny <zerny@google.com>
Date: Mon Aug 14 12:29:25 2023
Bail out of control-flow analysis on error states
This also changes the worklist usage to avoid pushing duplicates.
Bug: b/295349278
Change-Id: I924e91f169a15eaf196647044a183917d2e57a83
M src/main/java/com/android/tools/r8/ir/analysis/framework/intraprocedural/AbstractTransferFunction.java
M src/main/java/com/android/tools/r8/ir/analysis/framework/intraprocedural/IntraProceduralDataflowAnalysisBase.java
M src/main/java/com/android/tools/r8/optimize/interfaces/analysis/CfFrameState.java
M src/main/java/com/android/tools/r8/optimize/interfaces/analysis/CfOpenClosedInterfacesAnalysis.java
https://r8-review.googlesource.com/82369
Branch: main
commit 50ac58bc0b6ecb41b44e0845a047f1fd47302dcd
Author: Ian Zerny <zerny@google.com>
Date: Mon Aug 14 12:29:25 2023
Bail out of control-flow analysis on error states
This also changes the worklist usage to avoid pushing duplicates.
Bug:
Change-Id: I924e91f169a15eaf196647044a183917d2e57a83
M src/main/java/com/android/tools/r8/ir/analysis/framework/intraprocedural/AbstractTransferFunction.java
M src/main/java/com/android/tools/r8/ir/analysis/framework/intraprocedural/IntraProceduralDataflowAnalysisBase.java
M src/main/java/com/android/tools/r8/optimize/interfaces/analysis/CfFrameState.java
M src/main/java/com/android/tools/r8/optimize/interfaces/analysis/CfOpenClosedInterfacesAnalysis.java
ze...@google.com <ze...@google.com> #4
This needs to be cherry-picked back to the 4.0 branch and following release branches.
ap...@google.com <ap...@google.com> #5
Project: r8
Branch: 4.0
commit 14e3c1b75bf543d54e619de56e9f0d94460617ac
Author: Ian Zerny <zerny@google.com>
Date: Tue Aug 15 14:12:51 2023
Version 4.0.67
Bug: b/295349278
Change-Id: I8b171d257285ac77589e7114bc609473f5f426f2
M src/main/java/com/android/tools/r8/Version.java
https://r8-review.googlesource.com/82482
Branch: 4.0
commit 14e3c1b75bf543d54e619de56e9f0d94460617ac
Author: Ian Zerny <zerny@google.com>
Date: Tue Aug 15 14:12:51 2023
Version 4.0.67
Bug:
Change-Id: I8b171d257285ac77589e7114bc609473f5f426f2
M src/main/java/com/android/tools/r8/Version.java
ap...@google.com <ap...@google.com> #6
Project: r8
Branch: 4.0
commit 17f9b2fccad85748f213eaee676891691ed15177
Author: Ian Zerny <zerny@google.com>
Date: Tue Aug 15 14:12:32 2023
Bail out of control-flow analysis on error states
This also changes the worklist usage to avoid pushing duplicates.
Bug: b/295349278
Change-Id: I924e91f169a15eaf196647044a183917d2e57a83
M src/main/java/com/android/tools/r8/ir/analysis/framework/intraprocedural/AbstractTransferFunction.java
M src/main/java/com/android/tools/r8/ir/analysis/framework/intraprocedural/IntraProceduralDataflowAnalysisBase.java
M src/main/java/com/android/tools/r8/optimize/interfaces/analysis/CfFrameState.java
M src/main/java/com/android/tools/r8/optimize/interfaces/analysis/CfOpenClosedInterfacesAnalysis.java
https://r8-review.googlesource.com/82481
Branch: 4.0
commit 17f9b2fccad85748f213eaee676891691ed15177
Author: Ian Zerny <zerny@google.com>
Date: Tue Aug 15 14:12:32 2023
Bail out of control-flow analysis on error states
This also changes the worklist usage to avoid pushing duplicates.
Bug:
Change-Id: I924e91f169a15eaf196647044a183917d2e57a83
M src/main/java/com/android/tools/r8/ir/analysis/framework/intraprocedural/AbstractTransferFunction.java
M src/main/java/com/android/tools/r8/ir/analysis/framework/intraprocedural/IntraProceduralDataflowAnalysisBase.java
M src/main/java/com/android/tools/r8/optimize/interfaces/analysis/CfFrameState.java
M src/main/java/com/android/tools/r8/optimize/interfaces/analysis/CfOpenClosedInterfacesAnalysis.java
ap...@google.com <ap...@google.com> #7
Project: r8
Branch: 8.2
commit 846210cb4d449c86f4ff0bd315846b136be63c0a
Author: Ian Zerny <zerny@google.com>
Date: Tue Aug 15 14:16:49 2023
Version 8.2.24
Bug: b/295349278
Change-Id: I97f53db722b0e7a97a73a15d2497db5431f7ff06
M src/main/java/com/android/tools/r8/Version.java
https://r8-review.googlesource.com/82469
Branch: 8.2
commit 846210cb4d449c86f4ff0bd315846b136be63c0a
Author: Ian Zerny <zerny@google.com>
Date: Tue Aug 15 14:16:49 2023
Version 8.2.24
Bug:
Change-Id: I97f53db722b0e7a97a73a15d2497db5431f7ff06
M src/main/java/com/android/tools/r8/Version.java
ap...@google.com <ap...@google.com> #8
Project: r8
Branch: 8.2
commit 6f05498db081de4a171cb4a025aa8d829c5951cb
Author: Ian Zerny <zerny@google.com>
Date: Tue Aug 15 14:16:38 2023
Bail out of control-flow analysis on error states
This also changes the worklist usage to avoid pushing duplicates.
Bug: b/295349278
Change-Id: I924e91f169a15eaf196647044a183917d2e57a83
M src/main/java/com/android/tools/r8/ir/analysis/framework/intraprocedural/AbstractTransferFunction.java
M src/main/java/com/android/tools/r8/ir/analysis/framework/intraprocedural/IntraProceduralDataflowAnalysisBase.java
M src/main/java/com/android/tools/r8/optimize/interfaces/analysis/CfFrameState.java
M src/main/java/com/android/tools/r8/optimize/interfaces/analysis/CfOpenClosedInterfacesAnalysis.java
https://r8-review.googlesource.com/82468
Branch: 8.2
commit 6f05498db081de4a171cb4a025aa8d829c5951cb
Author: Ian Zerny <zerny@google.com>
Date: Tue Aug 15 14:16:38 2023
Bail out of control-flow analysis on error states
This also changes the worklist usage to avoid pushing duplicates.
Bug:
Change-Id: I924e91f169a15eaf196647044a183917d2e57a83
M src/main/java/com/android/tools/r8/ir/analysis/framework/intraprocedural/AbstractTransferFunction.java
M src/main/java/com/android/tools/r8/ir/analysis/framework/intraprocedural/IntraProceduralDataflowAnalysisBase.java
M src/main/java/com/android/tools/r8/optimize/interfaces/analysis/CfFrameState.java
M src/main/java/com/android/tools/r8/optimize/interfaces/analysis/CfOpenClosedInterfacesAnalysis.java
ap...@google.com <ap...@google.com> #9
Project: r8
Branch: 8.1
commit ee0d1c5926d290e7516dbb5faf857cf393b814c2
Author: Ian Zerny <zerny@google.com>
Date: Tue Aug 15 14:16:05 2023
Version 8.1.64
Bug: b/295349278
Change-Id: I59e57556f59344c8b9ab56bf4d2016fba24dcedf
M src/main/java/com/android/tools/r8/Version.java
https://r8-review.googlesource.com/82484
Branch: 8.1
commit ee0d1c5926d290e7516dbb5faf857cf393b814c2
Author: Ian Zerny <zerny@google.com>
Date: Tue Aug 15 14:16:05 2023
Version 8.1.64
Bug:
Change-Id: I59e57556f59344c8b9ab56bf4d2016fba24dcedf
M src/main/java/com/android/tools/r8/Version.java
ap...@google.com <ap...@google.com> #10
Project: r8
Branch: 8.1
commit 76937f44debe9453fe990ac539b284034c8124b9
Author: Ian Zerny <zerny@google.com>
Date: Tue Aug 15 14:15:53 2023
Bail out of control-flow analysis on error states
This also changes the worklist usage to avoid pushing duplicates.
Bug: b/295349278
Change-Id: I924e91f169a15eaf196647044a183917d2e57a83
M src/main/java/com/android/tools/r8/ir/analysis/framework/intraprocedural/AbstractTransferFunction.java
M src/main/java/com/android/tools/r8/ir/analysis/framework/intraprocedural/IntraProceduralDataflowAnalysisBase.java
M src/main/java/com/android/tools/r8/optimize/interfaces/analysis/CfFrameState.java
M src/main/java/com/android/tools/r8/optimize/interfaces/analysis/CfOpenClosedInterfacesAnalysis.java
https://r8-review.googlesource.com/82467
Branch: 8.1
commit 76937f44debe9453fe990ac539b284034c8124b9
Author: Ian Zerny <zerny@google.com>
Date: Tue Aug 15 14:15:53 2023
Bail out of control-flow analysis on error states
This also changes the worklist usage to avoid pushing duplicates.
Bug:
Change-Id: I924e91f169a15eaf196647044a183917d2e57a83
M src/main/java/com/android/tools/r8/ir/analysis/framework/intraprocedural/AbstractTransferFunction.java
M src/main/java/com/android/tools/r8/ir/analysis/framework/intraprocedural/IntraProceduralDataflowAnalysisBase.java
M src/main/java/com/android/tools/r8/optimize/interfaces/analysis/CfFrameState.java
M src/main/java/com/android/tools/r8/optimize/interfaces/analysis/CfOpenClosedInterfacesAnalysis.java
ap...@google.com <ap...@google.com> #11
Project: r8
Branch: 8.0
commit 5f3b6be71286d1d9e4c86685d4fe1e8b08764e2d
Author: Ian Zerny <zerny@google.com>
Date: Tue Aug 15 14:15:16 2023
Version 8.0.62
Bug: b/295349278
Change-Id: Iba1c411ab51e9c31b3c86102d2c4a2c93baf8872
M src/main/java/com/android/tools/r8/Version.java
https://r8-review.googlesource.com/82466
Branch: 8.0
commit 5f3b6be71286d1d9e4c86685d4fe1e8b08764e2d
Author: Ian Zerny <zerny@google.com>
Date: Tue Aug 15 14:15:16 2023
Version 8.0.62
Bug:
Change-Id: Iba1c411ab51e9c31b3c86102d2c4a2c93baf8872
M src/main/java/com/android/tools/r8/Version.java
ap...@google.com <ap...@google.com> #12
Project: r8
Branch: 8.0
commit 650a62f183e4adeb4589a23646e26299bde21806
Author: Ian Zerny <zerny@google.com>
Date: Tue Aug 15 14:15:04 2023
Bail out of control-flow analysis on error states
This also changes the worklist usage to avoid pushing duplicates.
Bug: b/295349278
Change-Id: I924e91f169a15eaf196647044a183917d2e57a83
M src/main/java/com/android/tools/r8/ir/analysis/framework/intraprocedural/AbstractTransferFunction.java
M src/main/java/com/android/tools/r8/ir/analysis/framework/intraprocedural/IntraProceduralDataflowAnalysisBase.java
M src/main/java/com/android/tools/r8/optimize/interfaces/analysis/CfFrameState.java
M src/main/java/com/android/tools/r8/optimize/interfaces/analysis/CfOpenClosedInterfacesAnalysis.java
https://r8-review.googlesource.com/82483
Branch: 8.0
commit 650a62f183e4adeb4589a23646e26299bde21806
Author: Ian Zerny <zerny@google.com>
Date: Tue Aug 15 14:15:04 2023
Bail out of control-flow analysis on error states
This also changes the worklist usage to avoid pushing duplicates.
Bug:
Change-Id: I924e91f169a15eaf196647044a183917d2e57a83
M src/main/java/com/android/tools/r8/ir/analysis/framework/intraprocedural/AbstractTransferFunction.java
M src/main/java/com/android/tools/r8/ir/analysis/framework/intraprocedural/IntraProceduralDataflowAnalysisBase.java
M src/main/java/com/android/tools/r8/optimize/interfaces/analysis/CfFrameState.java
M src/main/java/com/android/tools/r8/optimize/interfaces/analysis/CfOpenClosedInterfacesAnalysis.java
ze...@google.com <ze...@google.com> #13
Thanks again for the report!
A fix for this has landed on our 4.0 branch targeting AGP 7.4. To enable it for your build you can amend your settings.gradle(.kt) with:
pluginManagement {
buildscript {
repositories {
mavenCentral()
maven {
url = uri("https://storage.googleapis.com/r8-releases/raw")
}
}
dependencies {
classpath("com.android.tools:r8:4.0.67")
}
}
}
Fixes for later branches will land shortly. Let us know if this resolves your issue or if it fails to do so.
ap...@google.com <ap...@google.com> #14
Project: r8
Branch: 8.2
commit 6f05498db081de4a171cb4a025aa8d829c5951cb
Author: Ian Zerny <zerny@google.com>
Date: Tue Aug 15 14:16:38 2023
Bail out of control-flow analysis on error states
This also changes the worklist usage to avoid pushing duplicates.
Bug: b/295349278
Change-Id: I924e91f169a15eaf196647044a183917d2e57a83
M src/main/java/com/android/tools/r8/ir/analysis/framework/intraprocedural/AbstractTransferFunction.java
M src/main/java/com/android/tools/r8/ir/analysis/framework/intraprocedural/IntraProceduralDataflowAnalysisBase.java
M src/main/java/com/android/tools/r8/optimize/interfaces/analysis/CfFrameState.java
M src/main/java/com/android/tools/r8/optimize/interfaces/analysis/CfOpenClosedInterfacesAnalysis.java
https://r8-review.googlesource.com/82468
Branch: 8.2
commit 6f05498db081de4a171cb4a025aa8d829c5951cb
Author: Ian Zerny <zerny@google.com>
Date: Tue Aug 15 14:16:38 2023
Bail out of control-flow analysis on error states
This also changes the worklist usage to avoid pushing duplicates.
Bug:
Change-Id: I924e91f169a15eaf196647044a183917d2e57a83
M src/main/java/com/android/tools/r8/ir/analysis/framework/intraprocedural/AbstractTransferFunction.java
M src/main/java/com/android/tools/r8/ir/analysis/framework/intraprocedural/IntraProceduralDataflowAnalysisBase.java
M src/main/java/com/android/tools/r8/optimize/interfaces/analysis/CfFrameState.java
M src/main/java/com/android/tools/r8/optimize/interfaces/analysis/CfOpenClosedInterfacesAnalysis.java
ap...@google.com <ap...@google.com> #15
Project: r8
Branch: 8.1
commit 76937f44debe9453fe990ac539b284034c8124b9
Author: Ian Zerny <zerny@google.com>
Date: Tue Aug 15 14:15:53 2023
Bail out of control-flow analysis on error states
This also changes the worklist usage to avoid pushing duplicates.
Bug: b/295349278
Change-Id: I924e91f169a15eaf196647044a183917d2e57a83
M src/main/java/com/android/tools/r8/ir/analysis/framework/intraprocedural/AbstractTransferFunction.java
M src/main/java/com/android/tools/r8/ir/analysis/framework/intraprocedural/IntraProceduralDataflowAnalysisBase.java
M src/main/java/com/android/tools/r8/optimize/interfaces/analysis/CfFrameState.java
M src/main/java/com/android/tools/r8/optimize/interfaces/analysis/CfOpenClosedInterfacesAnalysis.java
https://r8-review.googlesource.com/82467
Branch: 8.1
commit 76937f44debe9453fe990ac539b284034c8124b9
Author: Ian Zerny <zerny@google.com>
Date: Tue Aug 15 14:15:53 2023
Bail out of control-flow analysis on error states
This also changes the worklist usage to avoid pushing duplicates.
Bug:
Change-Id: I924e91f169a15eaf196647044a183917d2e57a83
M src/main/java/com/android/tools/r8/ir/analysis/framework/intraprocedural/AbstractTransferFunction.java
M src/main/java/com/android/tools/r8/ir/analysis/framework/intraprocedural/IntraProceduralDataflowAnalysisBase.java
M src/main/java/com/android/tools/r8/optimize/interfaces/analysis/CfFrameState.java
M src/main/java/com/android/tools/r8/optimize/interfaces/analysis/CfOpenClosedInterfacesAnalysis.java
Description
Attached file is a minimal reproducible example. It was created in the latest Android Studio (Hedgehog Canary 15). Template was a Kotlin project with no activity.
Three files were changed:
build.gradle.kts
settings.gradle.kts
proguard-rules.pro (I'm not sure if all rules are necessary to cause the bug)
Steps to reproduce
Expected behaviour
Actual behaviour
:app:minifyReleaseWithR8
and never finishes, even after 14 hoursBuild machine
Additional information