Closed piojost closed 1 year ago
Thanks a lot for the report. I recall a similar bug from Ktor. Are you using coroutines? If yes, which version of coroutines are you using?
If you have a build scan with the error that would be awesome, but if you don't it's ok, I'll use the reproducer you provided (I just don't have a Mac so I cannot test this locally, and going through CI cycles is quite slow)
Thanks for the quick reply. Coroutines are used in the code, but the same error happens, if you try to assemble an empty project with the shown gradle config. As you can see from the dependencies block, I didn't bring in an explicit dependency on coroutines, so I'm just using, what comes transitively with Krossbow or Ktor - seems to be 1.7.1.
I just tried to explicitly add coroutines to commonMain like this:
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.3")
But it does not have an impact on the error.
This is the scan output (I hope that's what you meant):
I don't know if that info helps, but assembleMyLibraryKMPDebugXCFramework runs without error in all cases, the error only occurs on release builds.
Thanks a lot for the extra information. This is useful. From what I could see, there was a similar error report for Ktor on YouTrack: https://youtrack.jetbrains.com/issue/KTOR-5890
Which is actually a duplicate of this one: https://youtrack.jetbrains.com/issue/KTOR-5728
It was due to the interaction of Ktor with coroutines >= 1.7, and it was fixed in Ktor 2.3.2. I see that you explicitly depend on Ktor 2.3.1 in the build file at the moment, so that might be it. I'm sorry to ask you again to do things (I wish I had a mac at hand), but would you be so kind as to check with Ktor 2.3.3 if you can reproduce this?
(in any case, I will soon publish a new version of Krossbow with updated dependencies, which might fix the problem altogether)
About the build scan, I was rather asking for the link to the actual published build scan that should appear at the end of the build when you pass the --scan
argument (e.g. what you can see there, which is this link: https://gradle.com/s/w36ydu75kxvo2
). If you don't feel comfortable publishing a scan, or if your company policy prevents you from doing so, it's perfectly fine.
FYI I released version 5.4.0 of Krossbow which upgrades Ktor and coroutines (among others), so you could also directly test with this in your project.
Please let me know if you still reproduce
I'm happy to report that it works with Krossbow 5.3.0 and Ktor 2.3.3 as well as Krossbow 5.4.0. Also, thanks for clarifying about build scans. That's totally new to me.
Cool, good to hear!
Describe the bug
The gradle task assembleReleaseXCFramework fails with Krossbow versions greater than 5.1.0, using Kotlinx Serialization and Ktor. The following error is thrown with 5.3.0:
Reproduction and additional details
Here is a complete working gradle config with Krossbow 5.1.0. The gradle task runs without errors. If you upgrade krossbowVersion to 5.3.0, the before mentioned error is thrown. (Because a custom XCFramework name is set in the kotlin block, the task is actually called assembleMyLibraryKMPReleaseXCFramework.)
Context