Skip to content

Firestore exception caused by "No interface method getBuffer()Lokio/Buffer" due to other google libraries with conflicting okttp dependency #5197

Open
@fanwgwg

Description

@fanwgwg

[READ] Step 1: Are you in the right place?

Issues filed here should be about bugs in the code in this repository.
If you have a general question, need help debugging, or fall into some
other category use one of these other channels:

  • For general technical questions, post a question on StackOverflow
    with the firebase tag.
  • For general Firebase discussion, use the firebase-talk
    google group.
  • For help troubleshooting your application that does not fall under one
    of the above categories, reach out to the personalized
    Firebase support channel.

[REQUIRED] Step 2: Describe your environment

  • Android Studio version: Android Studio Giraffe | 2022.3.1
  • Firebase Component: Firestore
  • Component version: com.google.firebase:firebase-bom:32.2.0

[REQUIRED] Step 3: Describe the problem

Steps to reproduce:

All firestore apis fail with the same exception:

om.google.firebase.firestore.FirebaseFirestoreException: INTERNAL: error in frame handler
                                                                                                    	at com.google.firebase.firestore.util.Util.exceptionFromStatus(Util.java:113)
                                                                                                    	at com.google.firebase.firestore.remote.FirestoreChannel.exceptionFromStatus(FirestoreChannel.java:283)
                                                                                                    	at com.google.firebase.firestore.remote.FirestoreChannel.access$100(FirestoreChannel.java:43)
                                                                                                    	at com.google.firebase.firestore.remote.FirestoreChannel$4.onClose(FirestoreChannel.java:257)
                                                                                                    	at io.grpc.internal.ClientCallImpl.closeObserver(ClientCallImpl.java:576)
                                                                                                    	at io.grpc.internal.ClientCallImpl.access$300(ClientCallImpl.java:70)
                                                                                                    	at io.grpc.internal.ClientCallImpl$ClientStreamListenerImpl$1StreamClosed.runInternal(ClientCallImpl.java:757)
                                                                                                    	at io.grpc.internal.ClientCallImpl$ClientStreamListenerImpl$1StreamClosed.runInContext(ClientCallImpl.java:736)
                                                                                                    	at io.grpc.internal.ContextRunnable.run(ContextRunnable.java:37)
                                                                                                    	at io.grpc.internal.SerializingExecutor.run(SerializingExecutor.java:133)
                                                                                                    	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:462)
                                                                                                    	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
                                                                                                    	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:301)
                                                                                                    	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
                                                                                                    	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
                                                                                                    	at com.google.firebase.firestore.util.AsyncQueue$SynchronizedShutdownAwareExecutor$DelayedStartFactory.run(AsyncQueue.java:235)
                                                                                                    	at java.lang.Thread.run(Thread.java:930)
                                                                                                    Caused by: io.grpc.StatusException: INTERNAL: error in frame handler
                                                                                                    	at io.grpc.Status.asException(Status.java:547)
                                                                                                    	at com.google.firebase.firestore.util.Util.exceptionFromStatus(Util.java:111)
                                                                                                    	at com.google.firebase.firestore.remote.FirestoreChannel.exceptionFromStatus(FirestoreChannel.java:283) 
                                                                                                    	at com.google.firebase.firestore.remote.FirestoreChannel.access$100(FirestoreChannel.java:43) 
                                                                                                    	at com.google.firebase.firestore.remote.FirestoreChannel$4.onClose(FirestoreChannel.java:257) 
                                                                                                    	at io.grpc.internal.ClientCallImpl.closeObserver(ClientCallImpl.java:576) 
                                                                                                    	at io.grpc.internal.ClientCallImpl.access$300(ClientCallImpl.java:70) 
                                                                                                    	at io.grpc.internal.ClientCallImpl$ClientStreamListenerImpl$1StreamClosed.runInternal(ClientCallImpl.java:757) 
                                                                                                    	at io.grpc.internal.ClientCallImpl$ClientStreamListenerImpl$1StreamClosed.runInContext(ClientCallImpl.java:736) 
                                                                                                    	at io.grpc.internal.ContextRunnable.run(ContextRunnable.java:37) 
                                                                                                    	at io.grpc.internal.SerializingExecutor.run(SerializingExecutor.java:133) 
                                                                                                    	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:462) 
                                                                                                    	at java.util.concurrent.FutureTask.run(FutureTask.java:266) 
                                                                                                    	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:301) 
                                                                                                    	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167) 
                                                                                                    	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641) 
                                                                                                    	at com.google.firebase.firestore.util.AsyncQueue$SynchronizedShutdownAwareExecutor$DelayedStartFactory.run(AsyncQueue.java:235) 
                                                                                                    	at java.lang.Thread.run(Thread.java:930) 
                                                                                                    Caused by: java.lang.NoSuchMethodError: No interface method getBuffer()Lokio/Buffer; in class Lokio/BufferedSource; or its super classes (declaration of 'okio.BufferedSource' appears in /data/app/~~FBLMoCxuVEnktdEDnuSYpQ==/com.yygg.note.app.dev-K7nzI_hDVL1y0Cz3sHEDLA==/base.apk!classes9.dex)
                                                                                                    	at io.grpc.okhttp.OkHttpClientTransport$ClientFrameHandler.data(OkHttpClientTransport.java:1146)
                                                                                                    	at io.grpc.okhttp.internal.framed.Http2$Reader.readData(Http2.java:236)
                                                                                                    	at io.grpc.okhttp.internal.framed.Http2$Reader.nextFrame(Http2.java:148)
                                                                                                    	at io.grpc.okhttp.OkHttpClientTransport$ClientFrameHandler.run(OkHttpClientTransport.java:1105)
                                                                                                    	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
                                                                                                    	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
                                                                                                    	at java.lang.Thread.run(Thread.java:930) 

I'm seeing a similar issue at firebase/flutterfire#8501.

This exception doesn't happen on all devices, however, it's often reproducible on certain devices (e.g., some Huawei and Xiaomi devices). I've tried the same on one Samsung device, but it's never been reproducible.

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions