Open CoderzHeaven opened 2 days ago
@CoderzHeaven It seems like your tap to pay dependency is out of date.
Can you try replacing this line:
implementation "com.stripe:stripeterminal-localmobile:3.10.0"
with this line:
implementation "com.stripe:stripeterminal-taptopay:4.0.0"
I am not event using this library. anyway I updated and ran the app. Now the app crashes instantly on Terminal.initialize
These are the updated dependencies: implementation 'com.stripe:stripe-android:21.2.0' implementation "com.stripe:stripeterminal:4.1.0" implementation "com.stripe:stripeterminal-core:4.1.0"
Below is the error log
class=TerminalSdkManager
java.lang.ExceptionInInitializerError
at io.ktor.serialization.kotlinx.ExtensionsKt.extensions(Extensions.kt:17)
at io.ktor.serialization.kotlinx.KotlinxSerializationConverter.
Can some one from Stripe look at this on priority
We at MadinaAPPS are using Multiple Stripe M2 readers at 650+ Locations. All of it uses commercial hardwired Android Tablets version 8.1 and above with M2 readers connected Via USB. These all are unattended in person payments.
We can not afford to have any firmware upgrades during business hours. We are now slowly pushing out builds with com.stripe:stripeterminal:4.1.0
We are seeing crashes. Can you please tell which SDK version is most stable for android 8.1 and above
Our Stripe M2 readers are always connected via USB but looks like that gets disconnected automatically when not in use.
Can we arrange short 1:1 call with your team
Summary
Crash after Terminal Initialization and discovering readers, Ultimately discovery is getting timeout even after finding readers. Then app will crash in few seconds.
Code to reproduce
Simply initialize the terminal and wait to discover the readers
Android version
all versions above 8.1
Impacted devices (Android devices or readers)
STRM26142076758
SDK version
implementation 'com.stripe:stripe-android:21.0.1' implementation "com.stripe:stripeterminal:4.0.0" implementation "com.stripe:stripeterminal-localmobile:3.10.0" implementation "com.stripe:stripeterminal-core:4.0.0"
Other information
Crash Logs
Corrupt proto payload in the queue: terminal_sdk_wire_metrics java.io.EOFException at com.squareup.wire.ProtoReader.internalNextLengthDelimited(ProtoReader.kt:152) at com.squareup.wire.ProtoReader.nextTag(ProtoReader.kt:184) at com.stripe.proto.api.gator.EventResultPb$Companion$ADAPTER$1.decode(EventResultPb.kt:421) at com.stripe.proto.api.gator.EventResultPb$Companion$ADAPTER$1.decode(EventResultPb.kt:286) at com.stripe.proto.api.gator.ProxyEventPb$Companion$ADAPTER$1.decode(ProxyEventPb.kt:210) at com.stripe.proto.api.gator.ProxyEventPb$Companion$ADAPTER$1.decode(ProxyEventPb.kt:164) at com.squareup.wire.ProtoAdapter.decode(ProtoAdapter.kt:457) at com.squareup.wire.ProtoAdapter.decode(ProtoAdapter.kt:455) at com.stripe.jvmcore.batchdispatcher.collectors.QueueFileProtoSerializer.fromBytes(QueueFileProtoSerializer.kt:27) at com.stripe.jvmcore.batchdispatcher.collectors.QueueFileProtoSerializer.fromBytes(QueueFileProtoSerializer.kt:11) at com.stripe.jvmcore.batchdispatcher.collectors.QueueFileCollector.populateBatch(QueueFileCollector.kt:245) at com.stripe.jvmcore.batchdispatcher.collectors.QueueFileCollector.access$populateBatch(QueueFileCollector.kt:26) at com.stripe.jvmcore.batchdispatcher.collectors.QueueFileCollector$peek$2.invokeSuspend(QueueFileCollector.kt:180) at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33) at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:104) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644) at java.lang.Thread.run(Thread.java:1012) terminal_sdk_wire_events batch of size 12 generated. terminal_sdk_wire_traces_2 batch of size 32 generated. Background concurrent copying GC freed 11MB AllocSpace bytes, 158(7964KB) LOS objects, 49% free, 18MB/37MB, paused 785us,73us total 108.951ms Input channel destroyed: 'ClientS', fd=199 FATAL EXCEPTION: main
java.lang.NegativeArraySizeException: -1592786944 at com.squareup.tape2.QueueFile$ElementIterator.next(QueueFile.java:549) at com.squareup.tape2.QueueFile$ElementIterator.next(QueueFile.java:514) at com.stripe.jvmcore.batchdispatcher.collectors.QueueFileCollector.populateBatch(QueueFileCollector.kt:425) at com.stripe.jvmcore.batchdispatcher.collectors.QueueFileCollector.access$populateBatch(QueueFileCollector.kt:26) at com.stripe.jvmcore.batchdispatcher.collectors.QueueFileCollector$peek$2.invokeSuspend(QueueFileCollector.kt:180) at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33) at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:104) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644) at java.lang.Thread.run(Thread.java:1012) Suppressed: kotlinx.coroutines.internal.DiagnosticCoroutineContextException: [CoroutineName(AppScope), StandaloneCoroutine{Cancelling}@a60cbbe, Dispatchers.Main.immediate] Sending signal. PID: 13758 SIG: 9
Also the reader is not connecting the the app after it is sitting connected overnight. Its not even proceeding to initialize the Terminal.