Hi All, I'm getting a native crash SIGNAL 11 (SIGE...
# koin
s
Hi All, I'm getting a native crash SIGNAL 11 (SIGESV) CODE 1 (SEGV_MAPERR) somewhere inside Koin (BeanDefinition.indexKey()). Any pointers to what could be causing it? Koin version: 3.2.0. It is only happening on Android 14 devices.
👀 1
a
old version 🙂 Do you have full stracktrace?
w
Many are stuck on old version due to upgrade problems like us. We are still on 3.1.6 for instance
a
any help needed to upgrade?
w
Yes. I’ve reported the issue a few times now that different versions of Koin, even within the same major, are not compatible at runtime due to method signature changes
So anyone working with a poly-repo application must upgrade all of their libraries simultaneously or the app will crash. Right now my company has about 35 libraries so it’s nearly impossible to deal with
a
if you are in SDK/Shared lib part, we can imagine shadow jar as part of your project even, i.e. embedding Koin in your project to help you unlock other parts and avoid conflicts
w
How would that work when needed to fetch dependencies from outside the library? My hunch is this, because compilation works fine: Changing API’s that seem compatible from Kotlin end up producing incompatible API’s. Similar to how adding a default argument would break the consumed API because the signature under the hood has changed unless using
@JvmOverloads
. Does that seem like something that could be happening?
a
@JvmOverloads is used for Java compat function overload usage over default arguments
w
I’m not saying that is the solution, I’m saying that the problem reminds me of what happens when you change a kotlin API in a way that isn’t actually api compatible even though kotlin handles it OK at compile time