Status Update
Comments
bl...@google.com <bl...@google.com> #2
To rule the options out:
- Are you using desugared library in your project (
- What is the minSdk of your project? If it's strictly below 24, and you change it to 24, and let us know if the issue happens.
If you want us to help you further, for example by helping you build a work-around, or fix the compiler, we need you to either provide us a reproduction project (github or zip) or a compilation dump of your application (See how to generate dumps here
Thanks for the report.
ka...@gmail.com <ka...@gmail.com> #3
In my project minSdk is 24.
Unfortunately I can't provide you the source code or dump as this is a confidential project, but I can provide a list of dependencies, build.gradle files and a class that works with LocalDate if that helps, or maybe smth else, but not a whole project(
qu...@getalma.com <qu...@getalma.com> #5
Retracing from Stack overflow gives:
Caused by: com.android.tools.r8.errors.Unreachable: Attempt to enqueue an action in a non pushable enqueuer work list.
at com.android.tools.r8.shaking.EnqueuerWorklist$NonPushableEnqueuerWorklist.attemptToEnqueue(EnqueuerWorklist.java:800)
at com.android.tools.r8.shaking.EnqueuerWorklist$NonPushableEnqueuerWorklist.enqueueMarkMethodLiveAction(EnqueuerWorklist.java:856)
at com.android.tools.r8.shaking.Enqueuer.markMethodAsLiveWithCompatRule(Enqueuer.java:4882)
at com.android.tools.r8.shaking.Enqueuer.markMethodAsTargeted(Enqueuer.java:4773)
at com.android.tools.r8.shaking.Enqueuer.lambda$markVirtualMethodAsReachable$88(Enqueuer.java:3387)
at com.android.tools.r8.graph.MethodResolutionResult$SingleProgramResolutionResult.visitMethodResolutionResults(MethodResolutionResult.java:897)
at com.android.tools.r8.graph.MethodResolutionResult.forEachMethodResolutionResult(MethodResolutionResult.java:103)
at com.android.tools.r8.shaking.Enqueuer.markVirtualMethodAsReachable(Enqueuer.java:3340)
at com.android.tools.r8.shaking.Enqueuer.traceInvokeInterface(Enqueuer.java:1463)
at com.android.tools.r8.shaking.Enqueuer.traceInvokeInterface(Enqueuer.java:1447)
at com.android.tools.r8.shaking.DefaultEnqueuerUseRegistry.registerInvokeInterface(DefaultEnqueuerUseRegistry.java:86)
at com.android.tools.r8.cf.code.CfInvoke.internalRegisterUse(CfInvoke.java:153)
at com.android.tools.r8.cf.code.CfInstruction.registerUse(CfInstruction.java:104)
at com.android.tools.r8.graph.CfCode.registerCodeReferences(CfCode.java:683)
at com.android.tools.r8.graph.ProgramMethod.registerCodeReferences(ProgramMethod.java:127)
at com.android.tools.r8.shaking.Enqueuer.traceCode(Enqueuer.java:4809)
at com.android.tools.r8.shaking.Enqueuer.traceNonDesugaredCode(Enqueuer.java:4803)
at com.android.tools.r8.shaking.Enqueuer.markMethodAsLive(Enqueuer.java:4742)
at com.android.tools.r8.shaking.EnqueuerWorklist$MarkMethodLiveAction.run(EnqueuerWorklist.java:166)
at com.android.tools.r8.shaking.Enqueuer.postProcessingDesugaring(Enqueuer.java:4540)
at com.android.tools.r8.shaking.Enqueuer.trace(Enqueuer.java:4477)
at com.android.tools.r8.shaking.Enqueuer.traceApplication(Enqueuer.java:3622)
at com.android.tools.r8.R8.runEnqueuer(R8.java:1012)
at com.android.tools.r8.R8.run(R8.java:369)
at com.android.tools.r8.R8.run(R8.java:252)
at com.android.tools.r8.R8.lambda$runForTesting$1(R8.java:243)
at com.android.tools.r8.utils.ExceptionUtils.withCompilationHandler(ExceptionUtils.java:80)
... 34 more
ma...@google.com <ma...@google.com> #6
This comes from the desugaring post processing. It could be:
- desugared library retargeting
interface method desugaring(not in 1.2 with 24)- api callback
record(not generating methods)disable desugarer(not generating method)
What's going on is that R8 is verifying that code generated in the post processor is targeting already traced code.
Is there in the app any override of the following 3 methods: [java.time.ZoneId java.util.TimeZone.toZoneId(), java.time.ZonedDateTime java.util.GregorianCalendar.toZonedDateTime(), java.time.Instant java.util.Date.toInstant()] ?
Alternatively, it could be that something not traced as a library override is now traced with the callback? @mkroghj wasn't there a change on library override computation and tracing?
vm...@hemetusd.org <vm...@hemetusd.org> #7
Here is how I use the method java.time.Instant java.util.Date.toInstant():
Date.from(value.atStartOfDay(ZoneId.systemDefault()).toInstant())
and in another place
value?.let { Date.from(it.atStartOfDay(ZoneId.systemDefault())?.toInstant()) } ?: Date()
both variable 'value' is the LocalDate
fi...@gymkk.cz <fi...@gymkk.cz> #8
34...@gmail.com <34...@gmail.com> #9
Well I cannot reproduce the issue.
After deep thinking I'm trying to improve the error message in
Not sure if there is much more I can do unless someone reports a similar issue but can provide a dump.
34...@gmail.com <34...@gmail.com> #10
Branch: main
commit 6dc561aa43a09737a114a0b233d9476b4ec902e5
Author: Clément Béra <clementbera@google.com>
Date: Tue Jan 31 14:29:20 2023
Improve error messages in postprocessing desugaring
Bug:
Change-Id: Ib10b3e747610443d932d4359727db2bdfc2455f3
M src/main/java/com/android/tools/r8/shaking/EnqueuerWorklist.java
Description
Before opening a new issue, please search for other related issues , click the ★ to subscribe to updates, and click
+1
to vote.Description
The Submission History field is a logical place to look for this information, but it does not have an EXCUSED type. Upon excusing a submission, the corresponding
gradeChangeType
isDRAFT_GRADE_POINTS_EARNED_CHANGE
, which is also impossible to distinguish from real draft grade changes.Impact
Any programs that use this API to get a snapshot of a students' grades will be unable to determine if a submission is excused or if it's a grade of 0.