-
Notifications
You must be signed in to change notification settings - Fork 609
RuntimeException: Internal error in Firestore (20.1.0). #596
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
I found a few problems with this issue:
|
@TomislavMladenov I have the exact same problem, here is what i noticed while trying to debug it:
|
@h-amg Could you please provide some additional information?
It is surprising that you would experience the exception described in the original post while also have logs that show successful data retrieval. The original exception occurs in a part of code that runs before any other Firestore operation can run, so it would appear no data retrieval should be possible. |
@TomislavMladenov Thanks for the repro case, I will try it out locally and see if I can reproduce the issue. |
@var-const seems like i got it all wrong.
DebugLogs:
Note:
|
@var-const I can send you the source code or upload it to github if neeeded, to see if it will help reproduce it. I just started the app so there's basically there is nothing just basic things. |
@TomislavMladenov It would be super-helpful! You can upload it to Github or send it to my email, |
@h-amg It looks like a different issue. I will take a look; in the meantime, can you please open a new issue in this repo and just copy all the info you provided there? |
@TomislavMladenov Update: I couldn't reproduce the issue. I created a new app from scratch and used the code/Gradle snippets you provided. I had to add a tiny bit of logic to add a document to the collection, but after that, the document is read successfully. So I would need a repro case to continue with the issue. |
i am also facing the same issue. i dont have any duplicate classes and no build time conflicts |
At this point, where we are with this issue is that we're not clear on what could be causing the problem but can't reproduce it so we have no way to investigate. If you're also facing this issue, then the best way to help us track it down is to help us reproduce the problem, as @var-const requested above. There are a few ways you can do this:
As it stands there's not a whole lot we can do to help. |
from what i have investigated, this seems to be only reproduced in android 5.x and 6.x devices. so it maybe because these android versions dont support java lamdas oe something like that. i am using firestore version 17.1.2 and im getting the same error , just that the name of the generated lamda class is different. at first i thought maybe it was proguard error due to obfuscation. but even after removing proguard, the error persists |
No , I am having the same issue on android Q version 9+ |
Hey @TomislavMladenov. We need more information to resolve this issue but there hasn't been an update in 7 days. I'm marking the issue as stale and if there are no new updates in the next 3 days I will close it automatically. If you have more information that will help us get to the bottom of this, just add a comment! |
Since there haven't been any recent updates here, I am going to close this issue. @TomislavMladenov if you're still experiencing this problem and want to continue the discussion just leave a comment here and we are happy to re-open this. |
Some users of my app are facing same issue. Here's the data I got:
Devices showing this issue Brand: LENOVO Brand: Sony Brand: samsung Brand: Meizu Brand: samsung Brand: LENOVO None of these devices are rooted. Is there a way you can reopen this issue? Currently, this is # 1 issue on my Crashlytics report and it's affecting a lot of users. I'll be happy to provide more details if you need. Regards! |
@rylexr - Is there a chance you are pulling in two different version of the Firestore SDK? Early releases of our SDK were proguarded, which causes long class names to be rewritten to much shorter names. It looks like part of your stacktrace is Proguarded ("com/google/firebase/firestore/L/Ga"), but other places are not ("com.google.firebase.firestore.local.SQLiteSchema.ensureSequenceNumbers"). Can you verify the dependency resolution of your build? |
I have a multi-module app and Firestore SDK was included (same version) in both modules. I've refactored code to include Firestore SDK just in one module. I'll report back if issue persist. |
Unfortunately, issue still persist. Here's stacktrace:
Same devices and OSs (Android 5 and Android 6). Dependency tree shows only one place for Firestore SDK 20.2.0 and Proguard rules don't include it. I appreciate any help because this issue is affecting users of my app and is still # 1 in Crashlytics. Regards! |
Sure. This is how it looks like:
I believe you're not seeing version 20.2.0. I checked library directly and code is the same as above. I can't reproduce it at all. |
BTW, line 364 (the one from stacktrace) is this:
|
Did you resolve the source dependencies in Android Studio? I am more interested in seeing what the decompiled code looks like (which would not have any comments). From your stacktrace it looks like |
What do you mean? I fired Gradle dependencies task and checked Firestore SDK if that's what you are asking for. First time it was imported by 2 modules but now just by 1. Feel free to tell me what you require specifically and I'll gladly share it. |
I was trying to get to the bottom of the binary dependencies that your app is pulling in. It is however extremely unlikely that your Maven dependencies differ from what we published officially, so it is probably not worth exploring this route any further. I'll see if I can come up with any other theories, but for now I am unfortunately drawing a blank. |
Not sure if this is relevant but I have jetifier enabled on my project:
I'm telling you this because Firestore SDK is under jetified-firebase-20.2.0 folder in my setup. |
Hi. Any news on this issue? |
Sorry - I have not been able to reproduce this. Are you able to provide us with a small sample project? Does this also occur if you use our quickstart (https://github.com/firebase/quickstart-android/tree/master/firestore)? Thanks! |
I'm not able to reproduce it unfortunately. All I can give you is information mentioned above (OS / devices). I was able to talk to one of the users facing it and he mentioned issue disappeared after doing a factory reset of his phone. Is this helpful? |
Hey @TomislavMladenov. We need more information to resolve this issue but there hasn't been an update in 7 days. I'm marking the issue as stale and if there are no new updates in the next 3 days I will close it automatically. If you have more information that will help us get to the bottom of this, just add a comment! |
Hello, I quit trying to figure it out. I just went to other database. Have no idea how can this happen on empty project as was mine. Maybe the problem was in me, don't know |
While I appreciate the help from you guys I don't understand this behavior of closing tickets automatically because "there are no new updates". There's a lot of information here provided by different users. Please help us fix it. I managed to reproduce it on a HTC One M8 with Android 6. I still don't know why is happening but I believe it's related to AAB and Firebase on Android 5/6. If I install my application using Android Studio it works correctly. If however, I install the app through Play Store it fails with same error. |
@rylexr I am having pretty much the exact same issue in my app. https://stackoverflow.com/questions/57790871/how-to-fix-internal-error-in-firestore-crash. I am using AAB as well. |
We will not be closing this issue as long as there is activity. We, however, still don't have a lead on what is causing these issues and have not been able to see this locally in our testing. I will see if I can track down someone internally that knows if AAB's packaging could explain this issue. |
Hey @schmidt-sebastian, I created a test app that reproduces this issue. https://github.com/cameronhenige/Reproduce-Crash. I ran the app on a Nexus 4 API 23 emulator to reproduce the crash. Android Studio 3.5. Please let me know if you need any more information from me. :) |
@cameronhenige Thanks so much! It reproduces for me as well on the specified device (but not on others). I will try to see what is going on. We should not need more information. |
@cameronhenige @rylexr @TomislavMladenov The minimum set of dependencies that reproduces this issue is:
You should be able to remove your implementation dependency on To apply Furthermore, https://stackoverflow.com/questions/37360126/getting-exception-java-lang-noclassdeffounderror-com-google-firebase-firebaseop mentions that updating to Play Services Version 30 fixes this issue. Please do let us know if this helps resolve your issue, in which case we can probably close this. We are sorry for the long time that it took us to find a fix/workaround. |
@schmidt-sebastian unfortunately that's the exact same configuration I have and still the problem is there. Here is how my config looks like: root level build.gradle
app level build.gradle
Any ideas? |
@rylexr Sorry to hear you are still having issues. @schmidt-sebastian Thank you so much! You fixed the issue for me! |
@rylexr Can you please share your app level dependencies?
|
Sure. Here they are:
debugImplementation "com.amitshekhar.android:debug-db:$debugDatabase"
debugImplementation "com.squareup.leakcanary:leakcanary-android:$leakCanary"
testImplementation
"com.squareup.leakcanary:leakcanary-android-no-op:$leakCanary"
releaseImplementation
"com.squareup.leakcanary:leakcanary-android-no-op:$leakCanary"
// *************
// ** Testing **
// *************
// JUnit
testImplementation "org.junit.jupiter:junit-jupiter-api:$junit"
// Core library
testImplementation "androidx.test:core-ktx:$androidTest"
// ************
// ** Google **
// ************
// Google Play Services
implementation "com.google.android.play:core:$playCore"
// Google Base Client (Proguard Exceptions are here)
implementation "com.google.android.gms:play-services-base:$playServicesBase"
// Google Sign-In
implementation "com.google.android.gms:play-services-auth:$playServicesAuth"
// Google Places
implementation "com.google.android.libraries.places:places:$places"
// Google Play Billing
implementation "com.android.billingclient:billing:$billing"
// *****************************
// ** Architecture Components **
// *****************************
// Lifecycles
implementation "androidx.lifecycle:lifecycle-extensions:$lifecycle"
// Test helpers for LiveData
testImplementation "androidx.arch.core:core-testing:$coreTesting"
// Room
implementation "androidx.room:room-runtime:$room"
kapt "androidx.room:room-compiler:$room"
// Room optional - Kotlin Extensions and Coroutines support for Room
implementation "androidx.room:room-ktx:$room"
// Test helpers for Room
testImplementation "androidx.room:room-testing:$room"
// * Paging *
implementation "androidx.paging:paging-runtime:$paging"
// Test helpers for Paging
testImplementation "androidx.paging:paging-common:$paging"
// * Navigation *
implementation "android.arch.navigation:navigation-fragment:$navigation"
implementation "android.arch.navigation:navigation-ui:$navigation"
// **************
// ** Firebase **
// **************
// Firebase Analytics
implementation "com.google.firebase:firebase-core:$firebaseAnalytics"
// Firebase Crash
implementation
"com.crashlytics.sdk.android:crashlytics:$firebaseCrashlytics"
// Firebase Auth
implementation "com.google.firebase:firebase-auth:$firebaseAuth"
// Firebase Database
implementation "com.google.firebase:firebase-database:$firebaseDatabase"
// Firebase Firestore
implementation "com.google.firebase:firebase-firestore:$firebaseFirestore"
// Firebase Functions
implementation "com.google.firebase:firebase-functions:$firebaseFunctions"
// Firebase: FCM
implementation "com.google.firebase:firebase-messaging:$firebaseMessaging"
// Firebase: Storage
implementation "com.google.firebase:firebase-storage:$firebaseStorage"
// Firebase: Performance
implementation "com.google.firebase:firebase-perf:$firebasePerformance"
// **************
// ** Facebook **
// **************
// Facebook Login SDK
implementation "com.facebook.android:facebook-login:$facebookLogin"
// *************
// ** Twitter **
// *************
// Twitter Login SDK
implementation "com.twitter.sdk.android:twitter-core:$twitterLogin"
implementation "com.twitter.sdk.android:twitter:$twitterLogin"
// **********
// ** Core **
// **********
// Guava
api "com.google.guava:guava:$guava"
// Google GSON
implementation "com.google.code.gson:gson:$gson"
// Kotlin
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version"
// Kotlin Coroutines
implementation
"org.jetbrains.kotlinx:kotlinx-coroutines-core:$kotlinCoroutines"
implementation
"org.jetbrains.kotlinx:kotlinx-coroutines-android:$kotlinCoroutines"
// Kotlin KTX Core
implementation "androidx.core:core-ktx:$ktx"
// EventBus
implementation "org.greenrobot:eventbus:$eventbus"
// Retrofit (REST client)
implementation "com.squareup.retrofit2:retrofit:$retrofit"
implementation "com.squareup.retrofit2:converter-gson:$retrofit"
// Backport of JSR-310
implementation "com.jakewharton.threetenabp:threetenabp:$threeTenABP"
// Dagger
implementation "com.google.dagger:dagger:$dagger"
kapt "com.google.dagger:dagger-compiler:$dagger"
// dagger.android
implementation "com.google.dagger:dagger-android:$dagger"
// if you use the support libraries
implementation "com.google.dagger:dagger-android-support:$dagger"
kapt "com.google.dagger:dagger-android-processor:$dagger"
// Process Phoenix
implementation "com.jakewharton:process-phoenix:$phoenix"
// ********
// ** UI **
// ********
// Fragment
implementation "androidx.fragment:fragment-ktx:$fragment"
// RecyclerView
implementation "androidx.recyclerview:recyclerview:$recyclerview"
// ConstraintLayout
implementation
"androidx.constraintlayout:constraintlayout:$constraintLayout"
// Material
implementation "com.google.android.material:material:$material"
// FlexBox Layout
implementation "com.google.android:flexbox:$flexbox"
// FastScroller
implementation 'com.simplecityapps:recyclerview-fastscroll:2.0.0'
// Glide
implementation "com.github.bumptech.glide:glide:$glide"
kapt "com.github.bumptech.glide:compiler:$glide"
// Glide Transformations
implementation "jp.wasabeef:glide-transformations:$glideTransformations"
// ViewPager Indicator
implementation
"fr.avianey.com.viewpagerindicator:library:$viewpagerIndicator"
…----
fabric = '1.29.0'
firebase_performance = '1.2.0'
google_services = '4.3.0'
gradle_tools = '3.6.0-alpha03'
kotlin_version = '1.3.50'
androidTest = '1.2.1-alpha02'
annotation = '1.1.0'
arch = '1.1.1'
billing = '2.0.0'
cardstackview = '2.2.5'
circleImageView = '3.0.0'
circularReveal = '2.1.0'
constraintLayout = '2.0.0-beta1'
colorpicker = '0.0.13'
coreTesting = '2.1.0-rc01'
crashlytics = '2.10.1'
dagger = '2.24'
debugDatabase = '1.0.6'
eventbus = '3.1.1'
facebookLogin = '[5,6)'
firebaseAnalytics = '17.2.0'
firebaseAuth = '19.0.0'
firebaseCrashlytics = '2.10.1'
firebaseDatabase = '19.0.0'
firebaseFirestore = '21.0.0'
firebaseFunctions = '19.0.1'
firebaseMessaging = '20.0.0'
firebaseStorage = '19.0.0'
firebasePerformance = '19.0.0'
flexbox = '1.1.0'
fragment = '1.2.0-alpha02'
glide = '4.9.0'
glideTransformations = '4.0.1'
gson = '2.8.5'
guava = '28.0-jre'
junit = '5.5.1'
kotlinCoroutines = '1.3.0'
ktx = '1.2.0-alpha03'
leakCanary = '1.6.3'
lifecycle = '2.2.0-alpha03'
material = '1.1.0-alpha09'
mockito = '2.+'
navigation = '1.0.0'
pagerSlidingTabStrip = '1.1.1'
paging = '2.1.0'
places = '2.0.0'
playCore = '1.6.1'
playServicesAuth = '17.0.0'
playServicesBase = '17.1.0'
playServicesLocation = '16.0.0'
phoenix = '2.0.0'
recyclerview = '1.1.0-beta03'
retrofit = '2.6.1'
robolectric = '4.3'
room = '2.2.0-beta01'
threeTenABP = '1.2.1'
twitterLogin = '3.3.0'
viewpagerIndicator = '2.4.1.1@aar'
On Thu, Sep 5, 2019 at 11:31 AM Sebastian Schmidt ***@***.***> wrote:
@rylexr <https://github.com/rylexr> Can you please share your app level
dependencies?
dependencies {
...
}
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#596?email_source=notifications&email_token=AALBTD6GY2JOB2MFSJLV3N3QIE66BA5CNFSM4H7SQIWKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD6ABRGI#issuecomment-528488601>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AALBTD232VQXXUDT72X6JS3QIE66BANCNFSM4H7SQIWA>
.
|
@rylexr Your crash is because of your dependency on Guava. Note that if you change your guava version from '28.0-jre' to '28.0-android' this crash goes away. For anyone else that is experiencing this issue: These NoClassDefFound errors seems to be introduced by pulling in dependencies that somehow conflict with Firestore. The way I debugged this is by disabling dependencies until the crash went away. I am not sure what the root source of these problems is, but it is likely not a problem with the Firestore SDK itself. For @rylexr the crash manifested as:
Note that in the final APK, classes4.dex has the following: So the class is in fact included (as you can hopefully see despite my bad cropping). |
Describe your environment
Describe the problem
Just started implementing FireStore and while I was trying to get the dummy data from my firestore I got this error. Every time I try to start the app it crashes. If I remove the firestore dependency everything is working fine. So after 2 days trying to solve it searching about it, I simple wasn't able to do so. If you can help in any way will be appreciated
Steps to reproduce:
Start the app.
** Relevant Code:**
Gradle app
Gradle project
MainActivity (test run on the fireStore)
Error
The text was updated successfully, but these errors were encountered: