ShipBook / ShipBookSDK-Android

A logging system for Android
https://shipbook.io
MIT License
28 stars 7 forks source link

App crashing for ChipGroup #8

Open prathamFlobiz opened 1 year ago

prathamFlobiz commented 1 year ago

Facing crashes with the below stack trace for ChipGroup, happening when a Chip is clicked-on/checked. Seems to be stuck in some kind of recursion on method onCheckedChanged.

Ignoring the chip group using ignoreViews does fix the issue but have not been able to locate the root cause.

Fatal Exception: java.lang.StackOverflowError: stack size 8192KB
       at kotlinx.coroutines.intrinsics.CancellableKt.dispatcherFailure(Cancellable.kt:65)
       at kotlinx.coroutines.intrinsics.CancellableKt.runSafely(Cancellable.kt:52)
       at kotlinx.coroutines.intrinsics.CancellableKt.startCoroutineCancellable(Cancellable.kt:29)
       at kotlinx.coroutines.intrinsics.CancellableKt.startCoroutineCancellable$default(Cancellable.kt:25)
       at kotlinx.coroutines.CoroutineStart.invoke(CoroutineStart.kt:110)
       at kotlinx.coroutines.AbstractCoroutine.start(AbstractCoroutine.kt:126)
       at kotlinx.coroutines.BuildersKt__Builders_commonKt.launch(Builders.common.kt:56)
       at kotlinx.coroutines.BuildersKt.launch(BuildersKt.java:1)
       at kotlinx.coroutines.BuildersKt__Builders_commonKt.launch$default(Builders.common.kt:47)
       at kotlinx.coroutines.BuildersKt.launch$default(BuildersKt.java:1)
       at io.shipbook.shipbooksdk.Appenders.SBCloudAppender.push(SBCloudAppender.kt:202)
       at io.shipbook.shipbooksdk.LogManager.push(LogManager.kt:48)
       at io.shipbook.shipbooksdk.Events.ActionEventManager.createActionEvent(ActionEventManager.kt:29)
       at io.shipbook.shipbooksdk.Events.ActionEventManager.access$createActionEvent(ActionEventManager.kt:23)
       at io.shipbook.shipbooksdk.Events.ActionEventManager$registerView$1.onCheckedChanged(ActionEventManager.kt:39)
       at com.google.android.material.chip.Chip$2.onCheckedChanged(Chip.java:265)
       at io.shipbook.shipbooksdk.Events.ActionEventManager$registerView$1.onCheckedChanged(ActionEventManager.kt:40)
       at com.google.android.material.chip.Chip$2.onCheckedChanged(Chip.java:265)
       at io.shipbook.shipbooksdk.Events.ActionEventManager$registerView$1.onCheckedChanged(ActionEventManager.kt:40)
       at com.google.android.material.chip.Chip$2.onCheckedChanged(Chip.java:265)
       at io.shipbook.shipbooksdk.Events.ActionEventManager$registerView$1.onCheckedChanged(ActionEventManager.kt:40)
       at com.google.android.material.chip.Chip$2.onCheckedChanged(Chip.java:265)
       at io.shipbook.shipbooksdk.Events.ActionEventManager$registerView$1.onCheckedChanged(ActionEventManager.kt:40)
       at com.google.android.material.chip.Chip$2.onCheckedChanged(Chip.java:265)
       at io.shipbook.shipbooksdk.Events.ActionEventManager$registerView$1.onCheckedChanged(ActionEventManager.kt:40)
       at com.google.android.material.chip.Chip$2.onCheckedChanged(Chip.java:265)
       at io.shipbook.shipbooksdk.Events.ActionEventManager$registerView$1.onCheckedChanged(ActionEventManager.kt:40)
       at com.google.android.material.chip.Chip$2.onCheckedChanged(Chip.java:265)
       at io.shipbook.shipbooksdk.Events.ActionEventManager$registerView$1.onCheckedChanged(ActionEventManager.kt:40)
       at com.google.android.material.chip.Chip$2.onCheckedChanged(Chip.java:265)
       at io.shipbook.shipbooksdk.Events.ActionEventManager$registerView$1.onCheckedChanged(ActionEventManager.kt:40)
       at com.google.android.material.chip.Chip$2.onCheckedChanged(Chip.java:265)
       at io.shipbook.shipbooksdk.Events.ActionEventManager$registerView$1.onCheckedChanged(ActionEventManager.kt:40)
       at com.google.android.material.chip.Chip$2.onCheckedChanged(Chip.java:265)
       at io.shipbook.shipbooksdk.Events.ActionEventManager$registerView$1.onCheckedChanged(ActionEventManager.kt:40)
       at com.google.android.material.chip.Chip$2.onCheckedChanged(Chip.java:265)
       at android.widget.CompoundButton.setChecked(CompoundButton.java:180)
       at com.google.android.material.chip.Chip.setChecked(Chip.java:725)
       at com.google.android.material.internal.CheckableGroup.uncheckInternal(CheckableGroup.java:177)
       at com.google.android.material.internal.CheckableGroup.checkInternal(CheckableGroup.java:155)
       at com.google.android.material.internal.CheckableGroup.access$000(CheckableGroup.java:43)
       at com.google.android.material.internal.CheckableGroup$1.onCheckedChanged(CheckableGroup.java:82)
       at com.google.android.material.internal.CheckableGroup$1.onCheckedChanged(CheckableGroup.java:79)
       at com.google.android.material.chip.Chip$2.onCheckedChanged(Chip.java:262)
       at android.widget.CompoundButton.setChecked(CompoundButton.java:180)
       at com.google.android.material.chip.Chip.setChecked(Chip.java:725)
       at android.widget.CompoundButton.toggle(CompoundButton.java:135)
       at android.widget.CompoundButton.performClick(CompoundButton.java:140)
       at android.view.View.performClickInternal(View.java:7166)
       at android.view.View.access$3500(View.java:819)
       at android.view.View$PerformClick.run(View.java:27682)
       at android.os.Handler.handleCallback(Handler.java:883)
       at android.os.Handler.dispatchMessage(Handler.java:100)
       at android.os.Looper.loop(Looper.java:224)
       at android.app.ActivityThread.main(ActivityThread.java:7592)
       at java.lang.reflect.Method.invoke(Method.java)
       at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:539)
       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:950)
elishas commented 1 year ago

Seems like that it is a problem with the way that ChipGroup works. Due to the fact that it is google that did this library we will try to check it further.