getodk / collect

ODK Collect is an Android app for filling out forms. It's been used to collect billions of data points in challenging environments around the world. Contribute and make the world a better place! ✨📋✨
https://docs.getodk.org/collect-intro
Other
718 stars 1.38k forks source link

SQLite Crash in the application during refreshing list of forms with entities with old spec #6444

Closed srujner closed 3 days ago

srujner commented 1 week ago

ODK Collect version

the older master version 2024.3.0 Beta 0, the newest master version cff7a1e9e2c535099db878ac90798b9425c80e3d

Android version 13

Device used Pixel 6a

Problem description During testing #6311 I spend some time checking different behaviors with resetting the settings after updating Collect from older to newer version and crash occurs to me in two different ways.

Steps to reproduce the first problem

  1. Install the older master version e.g. : OLD Master before 6311.zip
  2. Scan the QR code with project from Central including (Movie entities and Movies update (new spec) forms) Screenshot(210)
  3. Navigate to the Start new form
  4. Refresh the list of forms -> Crash will occur crash1

Steps to reproduce the second problem

  1. Repeat the steps 1-3 from the issue above
  2. Create a draft for Movie Entities form
  3. Update ODK Collect with new master e.g New master.zip
  4. Navigate to the Settings -> Project Management -> Reset
  5. Reset Saved forms and entities and Form load cache
  6. Go to Start new form and click on the refresh -> Crash will occur crash2

Expected behavior

Probably the app should not crash

seadowg commented 1 week ago

@srujner the first problem is a big that's now fixed that would still be present in that version of Collect (https://github.com/getodk/collect/issues/6344) as far as I can tell. For the second issue, is the version you're upgrading from v2024.3.0 Beta 0 or is it a master version from around then?

srujner commented 1 week ago

@seadowg For the second issue, it was a master around that, in the app it is 2024.3.0 Beta 0, 193-gb3383dcd6f, but I couldn't find the exact master version to match with this one

seadowg commented 1 week ago

@seadowg For the second issue, it was a master around that, in the app it is 2024.3.0 Beta 0, 193-gb3383dcd6f, but I couldn't find the exact master version to match with this one

Right! Could you try reproducing with the actual released version? We made a lot of changes that I wouldn't expect to support upgrading between PRs, but we should be able to upgrade from the actual released versions.

srujner commented 3 days ago

@seadowg Sorry I didn't write back sooner, but I didn't notice your reply.

I checked the version 2024.2.x -> The list of forms did not download at all

Then I checked 2024.3.0 Beta 2, 3 and Beta 5 -> And I was not able to reproduce the issue

seadowg commented 3 days ago

I checked the version 2024.2.x -> The list of forms did not download at all

Maybe I'm missing something, but that seems worrying right?

srujner commented 3 days ago

I checked the version 2024.2.x -> The list of forms did not download at all

Maybe I'm missing something, but that seems worrying right?

Forms in that project have the new spec already, probably that's the case. Shouldn't it work like that?

seadowg commented 3 days ago

Ah so they're rejected because Collect doesn't recognise the entity spec version? Just want to check we're definitely on the same page about what's happening here!

srujner commented 3 days ago

Yes, 99% it is that, because there is no similar issue with forms with older spec