Fixed
Status Update
Updated by @
there is a new version of these library shipped on Mar 24 that works around this issue.
We'll keep the bug open for a better workaround.
corresponding youtrack bug:https://youtrack.jetbrains.com/issue/KT-57531/KotlinNativeLink-StackOverflowError-when-consuming-library-with-dependency-cycles-from-constraints
We'll keep the bug open for a better workaround.
corresponding youtrack bug:
Comments
yb...@gmail.com <yb...@gmail.com> #2
Project: platform/frameworks/support
Branch: androidx-master-dev
commit b90079595f33f58fece04026a97faa0d243acdb1
Author: Yuichi Araki <yaraki@google.com>
Date: Wed Sep 18 16:55:49 2019
Change the way to detect mismatch between POJO and query
This fixes cursor mismatch warnings with expandProjection.
Bug: 140759491
Test: QueryMethodProcessorTest
Change-Id: I7659002e5e0d1ef60fc1af2a625c0c36da0664d8
M room/compiler/src/main/kotlin/androidx/room/processor/QueryMethodProcessor.kt
M room/compiler/src/main/kotlin/androidx/room/solver/TypeAdapterStore.kt
M room/compiler/src/main/kotlin/androidx/room/solver/query/result/PojoRowAdapter.kt
M room/compiler/src/test/kotlin/androidx/room/processor/QueryMethodProcessorTest.kt
M room/compiler/src/test/kotlin/androidx/room/testing/TestProcessor.kt
https://android-review.googlesource.com/1123258
https://goto.google.com/android-sha1/b90079595f33f58fece04026a97faa0d243acdb1
Branch: androidx-master-dev
commit b90079595f33f58fece04026a97faa0d243acdb1
Author: Yuichi Araki <yaraki@google.com>
Date: Wed Sep 18 16:55:49 2019
Change the way to detect mismatch between POJO and query
This fixes cursor mismatch warnings with expandProjection.
Bug: 140759491
Test: QueryMethodProcessorTest
Change-Id: I7659002e5e0d1ef60fc1af2a625c0c36da0664d8
M room/compiler/src/main/kotlin/androidx/room/processor/QueryMethodProcessor.kt
M room/compiler/src/main/kotlin/androidx/room/solver/TypeAdapterStore.kt
M room/compiler/src/main/kotlin/androidx/room/solver/query/result/PojoRowAdapter.kt
M room/compiler/src/test/kotlin/androidx/room/processor/QueryMethodProcessorTest.kt
M room/compiler/src/test/kotlin/androidx/room/testing/TestProcessor.kt
yb...@gmail.com <yb...@gmail.com> #3
yb...@gmail.com <yb...@gmail.com> #4
Project: platform/frameworks/support
Branch: androidx-master-dev
commit bdde5a1a970ddc9007b28de4aa29d60ffa588f08
Author: Yigit Boyar <yboyar@google.com>
Date: Thu Apr 16 16:47:05 2020
Re-factor how errors are dismissed when query is re-written
This CL changes how we handle errors/warnings if query is
re-written.
There was a bug in expandProjection where we would report warnings
for things that Room already fixes automatically ( b/140759491 ).
The solution to that problem (I7659002e5e0d1ef60fc1af2a625c0c36da0664d8)
solved it by deferring validating of columns until after re-write
decision is made. Unfortunately, this required changing PojoRowAdapter
to have a dummy mapping until it is validating, make it hard to use
as it does have a non-null mapping which is not useful.
This CL partially reverts that change and instead rely on the log
deferring logic we have in Context. This way, we don't need to break
the stability of PojoRowAdapter while still having the ability to
drop warnings that room fixes. This will also play nicer when we
have different query re-writing options that can use more information
about the query results.
Bug: 153387066
Bug: 140759491
Test: existing tests pass
Change-Id: I2ec967c763d33d7a3ff02c1a13c6953b460d1e5f
M room/compiler/src/main/kotlin/androidx/room/log/RLog.kt
M room/compiler/src/main/kotlin/androidx/room/processor/QueryMethodProcessor.kt
M room/compiler/src/main/kotlin/androidx/room/solver/TypeAdapterStore.kt
M room/compiler/src/main/kotlin/androidx/room/solver/query/result/PojoRowAdapter.kt
https://android-review.googlesource.com/1288456
Branch: androidx-master-dev
commit bdde5a1a970ddc9007b28de4aa29d60ffa588f08
Author: Yigit Boyar <yboyar@google.com>
Date: Thu Apr 16 16:47:05 2020
Re-factor how errors are dismissed when query is re-written
This CL changes how we handle errors/warnings if query is
re-written.
There was a bug in expandProjection where we would report warnings
for things that Room already fixes automatically (
The solution to that problem (I7659002e5e0d1ef60fc1af2a625c0c36da0664d8)
solved it by deferring validating of columns until after re-write
decision is made. Unfortunately, this required changing PojoRowAdapter
to have a dummy mapping until it is validating, make it hard to use
as it does have a non-null mapping which is not useful.
This CL partially reverts that change and instead rely on the log
deferring logic we have in Context. This way, we don't need to break
the stability of PojoRowAdapter while still having the ability to
drop warnings that room fixes. This will also play nicer when we
have different query re-writing options that can use more information
about the query results.
Bug: 153387066
Bug: 140759491
Test: existing tests pass
Change-Id: I2ec967c763d33d7a3ff02c1a13c6953b460d1e5f
M room/compiler/src/main/kotlin/androidx/room/log/RLog.kt
M room/compiler/src/main/kotlin/androidx/room/processor/QueryMethodProcessor.kt
M room/compiler/src/main/kotlin/androidx/room/solver/TypeAdapterStore.kt
M room/compiler/src/main/kotlin/androidx/room/solver/query/result/PojoRowAdapter.kt
yb...@google.com <yb...@google.com>
ap...@google.com <ap...@google.com> #5
Project: platform/frameworks/support
Branch: androidx-main
commit 79da31eff86e2707eda10af41e6e1f107ba253fe
Author: Yigit Boyar <yboyar@google.com>
Date: Thu Mar 23 11:34:41 2023
disable dependency constraints for KMP projects
This CL disables dependency constraints for KMP projects (including
android targets).
KMP plugin has a bug where it tries to resolve constraints as if
they are regular dependencies, triggering a stack-overflow.
It will be fixed in 1.9, hence we need to disable constraints in
KMP projects until then.
Note that this change DOES NOT change the Project.shouldAddGroupConstraints
property since it is used to validate we don't ship projects w/o
constraints. Instead, it just skips adding them to the KMP projects.
We should do a followup to limit the impact into just native targets.
I couldn't figure out how to do it.
Bug: 274786186
Bug:https://youtrack.jetbrains.com/issue/KT-57531/
Test: local
Change-Id: Ief77146c133fe203bcdf58e065de84cefe6dadf6
M buildSrc/private/src/main/kotlin/androidx/build/AndroidXImplPlugin.kt
M buildSrc/private/src/main/kotlin/androidx/build/AndroidXMultiplatformExtension.kt
https://android-review.googlesource.com/2506544
Branch: androidx-main
commit 79da31eff86e2707eda10af41e6e1f107ba253fe
Author: Yigit Boyar <yboyar@google.com>
Date: Thu Mar 23 11:34:41 2023
disable dependency constraints for KMP projects
This CL disables dependency constraints for KMP projects (including
android targets).
KMP plugin has a bug where it tries to resolve constraints as if
they are regular dependencies, triggering a stack-overflow.
It will be fixed in 1.9, hence we need to disable constraints in
KMP projects until then.
Note that this change DOES NOT change the Project.shouldAddGroupConstraints
property since it is used to validate we don't ship projects w/o
constraints. Instead, it just skips adding them to the KMP projects.
We should do a followup to limit the impact into just native targets.
I couldn't figure out how to do it.
Bug: 274786186
Bug:
Test: local
Change-Id: Ief77146c133fe203bcdf58e065de84cefe6dadf6
M buildSrc/private/src/main/kotlin/androidx/build/AndroidXImplPlugin.kt
M buildSrc/private/src/main/kotlin/androidx/build/AndroidXMultiplatformExtension.kt
yb...@google.com <yb...@google.com>
ap...@google.com <ap...@google.com> #6
Project: platform/frameworks/support
Branch: androidx-main
commit 2193a7657ce74324e34efedd710f493151ffbc13
Author: Aurimas Liutikas <aurimas@google.com>
Date: Wed Jul 19 17:26:56 2023
Remove obsolete workaround for KMP native constraints
Bug: 274786186
Change-Id: I9b43d0585eadd75cc25d71d4b0593924d0832000
M buildSrc/private/src/main/kotlin/androidx/build/AndroidXImplPlugin.kt
https://android-review.googlesource.com/2665317
Branch: androidx-main
commit 2193a7657ce74324e34efedd710f493151ffbc13
Author: Aurimas Liutikas <aurimas@google.com>
Date: Wed Jul 19 17:26:56 2023
Remove obsolete workaround for KMP native constraints
Bug: 274786186
Change-Id: I9b43d0585eadd75cc25d71d4b0593924d0832000
M buildSrc/private/src/main/kotlin/androidx/build/AndroidXImplPlugin.kt
na...@google.com <na...@google.com> #7
The following release(s) address this bug.It is possible this bug has only been partially addressed:
androidx.emoji2:emoji2-emojipicker:1.4.0-rc01
yb...@google.com <yb...@google.com> #9
#7 is an automated message :)
But this bug was caused by a Kotlin Gradle Plugin (KMP) bug which is fixed in 1.9 and we removed the workaround. Clients will need to use kotlin 1.9+ to take advantage of the dependency constraints (which were removed due to this bug)
Description
DataStore Component used: datastore-preferences-core
DataStore Version used: 1.1.0-alpha02
Devices/Android versions reproduced on: Kotlin 1.8.10
I get ahttps://github.com/russhwolf/Datastore-Test-1.1.0-alpha02 . You can see example build output at https://github.com/russhwolf/Datastore-Test-1.1.0-alpha02/actions/runs/4497253758/jobs/7912684754#step:4:124 .
StackOverflowError
when building a project againstdatastore-preferences-core
that includes native targets and test sources. I've uploaded a demo project toThat build shows Linux output, but I've also seen the same behavior for the other Kotlin/Native targets. The issue goes away if the test sources are not included because the native test link step will then be skipped.