Skip to content
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

StreetComplete v57 closes on startup on Nothing Phone 2 #5522

Closed
swaldman3 opened this issue Mar 5, 2024 · 11 comments
Closed

StreetComplete v57 closes on startup on Nothing Phone 2 #5522

swaldman3 opened this issue Mar 5, 2024 · 11 comments
Assignees
Labels

Comments

@swaldman3
Copy link

swaldman3 commented Mar 5, 2024

How to Reproduce
Launch Streetcomplete.
Observe that it immediately closes.

Expected Behavior
Should not immediately close.

Versions affected
Android 14, Jan 24 update, overlaid with Nothing OS 2.5.2
Running on Nothing Phone 2.
StreetComplete v57.

The last version of Streetcomplete that I used - which I think, but am not certain, was v55 - worked fine.

@swaldman3 swaldman3 added the bug label Mar 5, 2024
@matkoniecz
Copy link
Member

matkoniecz commented Mar 5, 2024

Thanks for the report!

overlaid with Nothing OS 2.5.2

Is it possible for you to provide logs/debug info produced before SC closed/crashed/was exited?

EDIT: direct link to video below - for some reason embedding is not working right now

@swaldman3
Copy link
Author

swaldman3 commented Mar 5, 2024

The screen recording attached shows some attempts to open the app by tapping it in the launcher, followed by some attempts to switch to it through the "recent apps" view.
You can just see that in the first attempt there is a glimpse of a Android "app keeps stopping" box.

screen-20240305-094413.mp4

@swaldman3
Copy link
Author

Thanks for the report!

overlaid with Nothing OS 2.5.2

Is it possible for you to provide logs/debug info produced before SC closed/crashed/was exited?

Thought I already responded to this - apoloiges if you get it twice.
THere's no opportunity to use any of the app's functions. If there is info that is automatically written, that I can retrieve, then I'm happy to look.

@riQQ
Copy link
Collaborator

riQQ commented Mar 5, 2024

You can get the logs using Logcat.

@FloEdelmann
Copy link
Member

Pure speculation: it might be related to #5508. Maybe something in the database is not properly migrated?

@Helium314
Copy link
Collaborator

@swaldman3 did you use the shops overlay recently?

@westnordost
Copy link
Member

On Google Play Console, I see a lot of crashes with a stack trace like this:

Exception java.lang.NullPointerException:
  at de.westnordost.streetcomplete.data.osm.edits.ElementEditsDao.toElementEdit (ElementEditsDao.kt)
  at de.westnordost.streetcomplete.data.osm.edits.ElementEditsDao.access$toElementEdit (ElementEditsDao.kt)
  at de.westnordost.streetcomplete.data.osm.edits.ElementEditsDao$getAll$1.invoke (ElementEditsDao.kt)
  at de.westnordost.streetcomplete.data.osm.edits.ElementEditsDao$getAll$1.invoke (ElementEditsDao.kt)
  at de.westnordost.streetcomplete.data.osm.edits.ElementEditsDao$getAll$1.invoke (ElementEditsDao.kt)
  at de.westnordost.streetcomplete.data.osm.edits.ElementEditsDao$getAll$1.invoke (ElementEditsDao.kt)
  at de.westnordost.streetcomplete.data.AndroidDatabase.query (AndroidDatabase.kt)
  at de.westnordost.streetcomplete.data.Database$DefaultImpls.query$default (Database.kt)
  at de.westnordost.streetcomplete.data.osm.edits.ElementEditsDao.getAll (ElementEditsDao.kt)
  at de.westnordost.streetcomplete.data.osm.edits.ElementEditsController.getAll (ElementEditsController.kt)
  at de.westnordost.streetcomplete.data.edithistory.EditHistoryController.getAll (EditHistoryController.kt)
  at de.westnordost.streetcomplete.data.edithistory.EditHistoryController.getMostRecentUndoable (EditHistoryController.kt)
  at de.westnordost.streetcomplete.screens.main.controls.UndoButtonFragment$getMostRecentUndoable$2.invokeSuspend (UndoButtonFragment.kt)
  at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith (ContinuationImpl.kt)
  at kotlinx.coroutines.DispatchedTask.run (DispatchedTask.kt)
  at kotlinx.coroutines.internal.LimitedDispatcher$Worker.run (LimitedDispatcher.kt)
  at kotlinx.coroutines.scheduling.TaskImpl.run (Tasks.kt)
  at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely (CoroutineScheduler.kt)
  at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask (CoroutineScheduler.kt)
  at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker (CoroutineScheduler.kt)
  at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run (CoroutineScheduler.kt)

and

Exception java.lang.NullPointerException:
  at de.westnordost.streetcomplete.data.osm.edits.ElementEditsDao.toElementEdit (ElementEditsDao.kt)
  at de.westnordost.streetcomplete.data.osm.edits.ElementEditsDao.access$toElementEdit (ElementEditsDao.kt)
  at de.westnordost.streetcomplete.data.osm.edits.ElementEditsDao$getSyncedOlderThan$1.invoke (ElementEditsDao.kt)
  at de.westnordost.streetcomplete.data.osm.edits.ElementEditsDao$getSyncedOlderThan$1.invoke (ElementEditsDao.kt)
  at de.westnordost.streetcomplete.data.osm.edits.ElementEditsDao$getSyncedOlderThan$1.invoke (ElementEditsDao.kt)
  at de.westnordost.streetcomplete.data.osm.edits.ElementEditsDao$getSyncedOlderThan$1.invoke (ElementEditsDao.kt)
  at de.westnordost.streetcomplete.data.AndroidDatabase.query (AndroidDatabase.kt)
  at de.westnordost.streetcomplete.data.Database$DefaultImpls.query$default (Database.kt)
  at de.westnordost.streetcomplete.data.osm.edits.ElementEditsDao.getSyncedOlderThan (ElementEditsDao.kt)
  at de.westnordost.streetcomplete.data.osm.edits.ElementEditsController.deleteSyncedOlderThan (ElementEditsController.kt)
  at de.westnordost.streetcomplete.data.edithistory.EditHistoryController.deleteSyncedOlderThan (EditHistoryController.kt)
  at de.westnordost.streetcomplete.StreetCompleteApplication$onCreate$2.invokeSuspend (StreetCompleteApplication.kt)
  at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith (ContinuationImpl.kt)
  at kotlinx.coroutines.DispatchedTask.run (DispatchedTask.kt)
  at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely (CoroutineScheduler.kt)
  at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask (CoroutineScheduler.kt)
  at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker (CoroutineScheduler.kt)
  at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run (CoroutineScheduler.kt)

@swaldman3
Copy link
Author

swaldman3 commented Mar 5, 2024

@riQQ Re logcat: It's a decade since I've had adb installed. I'm not averse to getting it going again if needed, but I won't get a chance to spend time until the weekend.

@Helium314 Re shops overlay: I don't normally use it (don't like using overlays), but I might have checked it out as I think it was added recently.

@westnordost it was installed from Google Play.

@westnordost
Copy link
Member

I have a hunch... Did you answer any crossing quests ("What kind of crossing is this?") recently?

@swaldman3
Copy link
Author

I have a hunch... Did you answer any crossing quests ("What kind of crossing is this?") recently?

Yes.

@westnordost
Copy link
Member

Right, I think #5471 is the cause. I deleted some quests, but if you made an edit with that quest type recently, it still shows in your undo history. When retrieving the edits shown in your undo history (or even just checking whether old history items should be deleted), the quest type is retrieved, but... it's gone.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

6 participants