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

App crashes devices with an Adreno 330 GPU -> use v58.2 #5954

Closed
IzzySoft opened this issue Oct 8, 2024 · 15 comments
Closed

App crashes devices with an Adreno 330 GPU -> use v58.2 #5954

IzzySoft opened this issue Oct 8, 2024 · 15 comments
Labels
blocked blocked by another issue bug upstream result from an upstream issue

Comments

@IzzySoft
Copy link

IzzySoft commented Oct 8, 2024

I'm using SC for years now and am happy with it. However, having returned from a 3-week vacation this weekend and applying the latest update, the app crashes on start. Today a new release popped in and I was hopeful – however, same situation: app crashes on start. Performed a backup (using root powers) transferring app and data to a different device: no issues there.

Device where it crashes: Fairphone 2 running Android 11 (LineageOS)

Device without problems: SHIFT6mq running Android 10 (ShiftOS).

Took a logcat and grepped for streetcomplete, the relevant line seems to be:

F libc    : Fatal signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x8 in tid 27163 (RenderThread 69), pid 27085 (.streetcomplete)
More from the logcat
I ActivityTaskManager: START u0 {act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10200000 cmp=de.westnordost.streetcomplete/.screens.MainActivity bnds=[794,1191][1048,1467]} from uid 10142
I ActivityManager: Start proc 27085:de.westnordost.streetcomplete/u0a166 for pre-top-activity {de.westnordost.streetcomplete/de.westnordost.streetcomplete.screens.MainActivity}
I EdXposed: Loading modules for de.westnordost.streetcomplete
I TetheringManager: registerTetheringEventCallback:de.westnordost.streetcomplete
V LocationProvider: onSetRequest: ProviderRequest[interval=+5s0ms] by WorkSource{10166 de.westnordost.streetcomplete}
V LocationProvider: onSetRequest: ProviderRequest[interval=0] by WorkSource{10166 de.westnordost.streetcomplete}
V LocationProvider: onSetRequest: ProviderRequest[interval=0] by WorkSource{10166 de.westnordost.streetcomplete}
V LocationProvider: onSetRequest: ProviderRequest[interval=0] by WorkSource{10166 de.westnordost.streetcomplete}
V LocationProvider: onSetRequest: ProviderRequest[interval=+5s0ms] by WorkSource{10166 de.westnordost.streetcomplete}
I ActivityTaskManager: Displayed de.westnordost.streetcomplete/.screens.MainActivity: +3s853ms
E Mbgl    : {.streetcomplete}[JNI]: Error setting property: symbol-sort-key layer doesn't support this property
E Mbgl    : {.streetcomplete}[JNI]: Error setting property: icon-allow-overlap layer doesn't support this property
E Mbgl    : {.streetcomplete}[JNI]: Error setting property: icon-ignore-placement layer doesn't support this property
I WM-WorkerWrapper: Worker result SUCCESS for Work [ id=aeed6ea8-c551-427a-a79d-ffe79e1d5778, tags={ de.westnordost.streetcomplete.data.upload.UploadWorker } ]
D Mbgl-HttpRequest: [HTTP] This request was cancelled (https://tile.jawg.io/streets-v2+hillshade-v1/0/0/0.pbf?access-token=mL9X4SwxfsAGfojvGiion9hPKuGLKxPbogLyMbtakA2gJ3X88gcVlTSQ7OD6OfbZ). This is expected for tiles that were being prefetched but are no longer needed for the map to render.
D Mbgl-HttpRequest: [HTTP] This request was cancelled (https://tile.jawg.io/streets-v2+hillshade-v1/3/4/2.pbf?access-token=mL9X4SwxfsAGfojvGiion9hPKuGLKxPbogLyMbtakA2gJ3X88gcVlTSQ7OD6OfbZ). This is expected for tiles that were being prefetched but are no longer needed for the map to render.
D Mbgl-HttpRequest: [HTTP] This request was cancelled (https://tile.jawg.io/streets-v2+hillshade-v1/7/68/44.pbf?access-token=mL9X4SwxfsAGfojvGiion9hPKuGLKxPbogLyMbtakA2gJ3X88gcVlTSQ7OD6OfbZ). This is expected for tiles that were being prefetched but are no longer needed for the map to render.
D Mbgl-HttpRequest: [HTTP] This request was cancelled (https://tile.jawg.io/streets-v2+hillshade-v1/7/67/43.pbf?access-token=mL9X4SwxfsAGfojvGiion9hPKuGLKxPbogLyMbtakA2gJ3X88gcVlTSQ7OD6OfbZ). This is expected for tiles that were being prefetched but are no longer needed for the map to render.
D Mbgl-HttpRequest: [HTTP] This request was cancelled (https://tile.jawg.io/streets-v2+hillshade-v1/7/67/44.pbf?access-token=mL9X4SwxfsAGfojvGiion9hPKuGLKxPbogLyMbtakA2gJ3X88gcVlTSQ7OD6OfbZ). This is expected for tiles that were being prefetched but are no longer needed for the map to render.
D Mbgl-HttpRequest: [HTTP] This request was cancelled (https://tile.jawg.io/streets-v2+hillshade-v1/7/68/43.pbf?access-token=mL9X4SwxfsAGfojvGiion9hPKuGLKxPbogLyMbtakA2gJ3X88gcVlTSQ7OD6OfbZ). This is expected for tiles that were being prefetched but are no longer needed for the map to render.
D Mbgl-HttpRequest: [HTTP] This request was cancelled (https://tile.jawg.io/streets-v2+hillshade-v1/10/544/354.pbf?access-token=mL9X4SwxfsAGfojvGiion9hPKuGLKxPbogLyMbtakA2gJ3X88gcVlTSQ7OD6OfbZ). This is expected for tiles that were being prefetched but are no longer needed for the map to render.
D Mbgl-HttpRequest: [HTTP] This request was cancelled (https://tile.jawg.io/streets-v2+hillshade-v1/10/545/354.pbf?access-token=mL9X4SwxfsAGfojvGiion9hPKuGLKxPbogLyMbtakA2gJ3X88gcVlTSQ7OD6OfbZ). This is expected for tiles that were being prefetched but are no longer needed for the map to render.
D Mbgl-HttpRequest: [HTTP] This request was cancelled (https://tile.jawg.io/streets-v2+hillshade-v1/10/545/355.pbf?access-token=mL9X4SwxfsAGfojvGiion9hPKuGLKxPbogLyMbtakA2gJ3X88gcVlTSQ7OD6OfbZ). This is expected for tiles that were being prefetched but are no longer needed for the map to render.
D Mbgl-HttpRequest: [HTTP] This request was cancelled (https://tile.jawg.io/streets-v2+hillshade-v1/9/272/177.pbf?access-token=mL9X4SwxfsAGfojvGiion9hPKuGLKxPbogLyMbtakA2gJ3X88gcVlTSQ7OD6OfbZ). This is expected for tiles that were being prefetched but are no longer needed for the map to render.
I .streetcomplet: Background young concurrent copying GC freed 90477(3841KB) AllocSpace objects, 12(744KB) LOS objects, 28% free, 25MB/35MB, paused 186us total 637.012ms
F libc    : Fatal signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x8 in tid 27163 (RenderThread 69), pid 27085 (.streetcomplete)
F DEBUG   : pid: 27085, tid: 27163, name: RenderThread 69  >>> de.westnordost.streetcomplete <<<
D Mbgl-HttpRequest: [HTTP] This request was cancelled (https://tile.jawg.io/streets-v2+hillshade-v1/13/4359/2841.pbf?access-token=mL9X4SwxfsAGfojvGiion9hPKuGLKxPbogLyMbtakA2gJ3X88gcVlTSQ7OD6OfbZ). This is expected for tiles that were being prefetched but are no longer needed for the map to render.
D Mbgl-HttpRequest: [HTTP] This request was cancelled (https://tile.jawg.io/streets-v2+hillshade-v1/13/4359/2842.pbf?access-token=mL9X4SwxfsAGfojvGiion9hPKuGLKxPbogLyMbtakA2gJ3X88gcVlTSQ7OD6OfbZ). This is expected for tiles that were being prefetched but are no longer needed for the map to render.
F DEBUG   :       #21 pc 0065041d  /data/app/~~eqhqeG_kQbX39vwOPpyeGA==/de.westnordost.streetcomplete-nozXJw3hRwU6-CxsQEFyJw==/lib/arm/libmaplibre.so (BuildId: ad46bf561eaf18a02401e298d4bc0bf3e07c74cd)
F DEBUG   :       #22 pc 00666f0b  /data/app/~~eqhqeG_kQbX39vwOPpyeGA==/de.westnordost.streetcomplete-nozXJw3hRwU6-CxsQEFyJw==/lib/arm/libmaplibre.so (BuildId: ad46bf561eaf18a02401e298d4bc0bf3e07c74cd)
F DEBUG   :       #23 pc 006603d9  /data/app/~~eqhqeG_kQbX39vwOPpyeGA==/de.westnordost.streetcomplete-nozXJw3hRwU6-CxsQEFyJw==/lib/arm/libmaplibre.so (BuildId: ad46bf561eaf18a02401e298d4bc0bf3e07c74cd)
F DEBUG   :       #24 pc 004d9b71  /data/app/~~eqhqeG_kQbX39vwOPpyeGA==/de.westnordost.streetcomplete-nozXJw3hRwU6-CxsQEFyJw==/lib/arm/libmaplibre.so (BuildId: ad46bf561eaf18a02401e298d4bc0bf3e07c74cd)
F DEBUG   :       #25 pc 004d89ef  /data/app/~~eqhqeG_kQbX39vwOPpyeGA==/de.westnordost.streetcomplete-nozXJw3hRwU6-CxsQEFyJw==/lib/arm/libmaplibre.so (BuildId: ad46bf561eaf18a02401e298d4bc0bf3e07c74cd)
F DEBUG   :       #26 pc 004edb5d  /data/app/~~eqhqeG_kQbX39vwOPpyeGA==/de.westnordost.streetcomplete-nozXJw3hRwU6-CxsQEFyJw==/lib/arm/libmaplibre.so (BuildId: ad46bf561eaf18a02401e298d4bc0bf3e07c74cd)
F DEBUG   :       #27 pc 004fcc99  /data/app/~~eqhqeG_kQbX39vwOPpyeGA==/de.westnordost.streetcomplete-nozXJw3hRwU6-CxsQEFyJw==/lib/arm/libmaplibre.so (BuildId: ad46bf561eaf18a02401e298d4bc0bf3e07c74cd)
F DEBUG   :       #28 pc 004fc08b  /data/app/~~eqhqeG_kQbX39vwOPpyeGA==/de.westnordost.streetcomplete-nozXJw3hRwU6-CxsQEFyJw==/lib/arm/libmaplibre.so (BuildId: ad46bf561eaf18a02401e298d4bc0bf3e07c74cd)
F DEBUG   :       #29 pc 0038433b  /data/app/~~eqhqeG_kQbX39vwOPpyeGA==/de.westnordost.streetcomplete-nozXJw3hRwU6-CxsQEFyJw==/lib/arm/libmaplibre.so (mbgl::android::MapRenderer::render(_JNIEnv&)+170) (BuildId: ad46bf561eaf18a02401e298d4bc0bf3e07c74cd)
F DEBUG   :       #30 pc 00386741  /data/app/~~eqhqeG_kQbX39vwOPpyeGA==/de.westnordost.streetcomplete-nozXJw3hRwU6-CxsQEFyJw==/lib/arm/libmaplibre.so (auto auto jni::MakeNativeMethod::operator()(jni::Field const&)::'lambda'(_JNIEnv&, jni::Object&)::*)(_JNIEnv&, jni::Object&) const>::operator()::operator()(jni::Field const&)::'lambda'(_JNIEnv&, jni::Object&)>(char const*, auto jni::NativePeerMemberFunctionMethod::operator()(jni::Field const&)::'lambda'(_JNIEnv&, jni::Object&) const&)::'lambda'(_JNIEnv*, jni::jobject*)>(char const*, char const*, auto jni::NativePeerMemberFunctionMethod::operator()(jni::Field const&)::'lambda'(_JNIEnv&, jni::Object&) const&, std::__ndk1::enable_if::operator()(jni::Field const&)::'lambda'(_JNIEnv&, jni::Object&)>::value, void>::type*)::'lambda'(_JNIEnv*, auto...)::__invoke (_JNIEnv*, auto...)+28) (BuildId: ad46bf561eaf18a02401e298d4bc0bf3e07c74cd)
F DEBUG   :       #31 pc 000673a3  /data/app/~~eqhqeG_kQbX39vwOPpyeGA==/de.westnordost.streetcomplete-nozXJw3hRwU6-CxsQEFyJw==/oat/arm/base.odex (art_jni_trampoline+74)
F DEBUG   :       #39 pc 00b7a9cc  /data/app/~~eqhqeG_kQbX39vwOPpyeGA==/de.westnordost.streetcomplete-nozXJw3hRwU6-CxsQEFyJw==/oat/arm/base.vdex (org.maplibre.android.maps.renderer.MapRenderer.onDrawFrame+12)
F DEBUG   :       #42 pc 00b7ccd0  /data/app/~~eqhqeG_kQbX39vwOPpyeGA==/de.westnordost.streetcomplete-nozXJw3hRwU6-CxsQEFyJw==/oat/arm/base.vdex (org.maplibre.android.maps.renderer.surfaceview.SurfaceViewMapRenderer.onDrawFrame)
F DEBUG   :       #45 pc 00b7bf20  /data/app/~~eqhqeG_kQbX39vwOPpyeGA==/de.westnordost.streetcomplete-nozXJw3hRwU6-CxsQEFyJw==/oat/arm/base.vdex (org.maplibre.android.maps.renderer.surfaceview.MapLibreGLSurfaceView$GLThread.guardedRun+872)
F DEBUG   :       #48 pc 00b7c788  /data/app/~~eqhqeG_kQbX39vwOPpyeGA==/de.westnordost.streetcomplete-nozXJw3hRwU6-CxsQEFyJw==/oat/arm/base.vdex (org.maplibre.android.maps.renderer.surfaceview.MapLibreSurfaceView$RenderThread.run+48)
W ActivityTaskManager:   Force finishing activity de.westnordost.streetcomplete/.screens.MainActivity
V LocationProvider: onSetRequest: ProviderRequest[interval=+5s0ms] by WorkSource{10166 de.westnordost.streetcomplete}
V LocationProvider: onSetRequest: ProviderRequest[interval=+30m0s0ms] by WorkSource{10166 de.westnordost.streetcomplete}
I WindowManager: WIN DEATH: Window{b4ef6fe u0 de.westnordost.streetcomplete/de.westnordost.streetcomplete.screens.MainActivity}
I ActivityManager: Process de.westnordost.streetcomplete (pid 27085) has died

How to Reproduce
Just start the app. It opens, shows the initial screen, a spinner (updating details), and crashes.

Expected Behavior
Does not crash

Versions affected
SC 59.1 and 59.2 (maybe 59.0 as well, I had skipped that as I was abroad). IIRC I last used 58.2 successfully.

Android 11/LOS only. As the device acts up already for a while, I cannot entirely rule out some issues with the device itself, though other apps still work fine. Could probably be some edge case, but if someone has a clue that would be nice.

@IzzySoft IzzySoft added the bug label Oct 8, 2024
@mnalis
Copy link
Member

mnalis commented Oct 8, 2024

There was a big change to different rendering library (from Tangram-ES in StreetComplete 58.2 to Maplibre in 59.*)

While full trace is not exactly the same, that org.maplibre.android.maps.renderer.MapRenderer.onDrawFrame+12 might indicate it is this issue: maplibre/maplibre-native#2206
Especially since that Fairphone 2 seem to be using Qualcomm Adreno 330 GPU which is exactly the one which is susceptible to that OpenGL ES 3.0 issue.

(There was also a different global crash in 59.0 and 59.1, but that one hopefully should've be fixed - see #5850)

@matkoniecz
Copy link
Member

Given that maplibre/maplibre-native#2206 is open for some time you may want to switch to older version such as StreetComplete 58.2 which still used Tangram as a workaround.

@erAck
Copy link

erAck commented Oct 9, 2024

Fwiw, for me if GPS location is off the world map is displayed, then tapping the + button makes the app crash. If GPS location is on then the app crashes immediately apparently when it tries to zoom in to location, same as #5920
Device with Qualcomm Adreno 306 GPU.

Seeing the devices list from maplibre/maplibre-native#2206 (comment) the number of possibly affected devices is quite large; specifically because SC is also targeted at OSM new contributors and now with the latest update and F-Droid displaying only the last three versions the 58.2 version isn't even easily available from the repo to install, this and how to install v58.2 (enabling Archive once and after disable again) needs to be mentioned in the app description or some prominent place.

@mnalis
Copy link
Member

mnalis commented Oct 9, 2024

now with the latest update and F-Droid displaying only the last three versions the 58.2 version isn't even easily available from the repo to install, this and how to install v58.2 needs to be mentioned in the app description.

Makes sense. Although of course it would be ideal if the Maplibre issue maplibre/maplibre-native#2206 would get fixed in recent future. Give it a like 👍 there if you're affected / would like to see that fixed - currently it seems only two people are interested in solving that, so it's probably not deemed too urgent. Also, if you can provide more information that might help it fix it, please do mention it there (like that info that it only seems crashes when zooming, not when image is static - if I understood that correctly @erAck ? Also, can you manually zoom/pan the image with GPS off, or does it also crash?)

@mnalis
Copy link
Member

mnalis commented Oct 9, 2024

For those making it here: Old StreetComplete 58.2 (pre-MapLibre, i.e. last version without crashes on Adreno 3xx GPUs) can be downloaded from:

I don't know if downgrades are possible; or if one has to uninstall old version (which would lose all the unsolved quests / settings / quest presets!) and install new one 🤷‍♂️

If one can still ocassionally open the app (e.g. with GPS disabled or via activity launcher to open Settings directly) they might be able to share each of the Presets in the "broken" 59.x version (and just copy/paste that link to some notepad or e-mail client or whatever, so they can restore them in other version / device)

@matkoniecz
Copy link
Member

which would lose all the unsolved quests

and more importantly, solved not uploaded ones

@erAck
Copy link

erAck commented Oct 9, 2024

Uploading pending changes that I did with 58.2 (I was in a similar situation as Izzy) still worked for me if GPS location was off and thus the map needn't update. And no, downgrading is not supported (in F-Droid), one has to deinstall and install new from the Archive repo (or directly downloaded as mentioned by mnails).

@westnordost
Copy link
Member

My policy is to close issues caused by upstream issues that are not actionable for us. However, I'll pin this issue so users that encounter the same issue know what to do:

Indeed, if your smartphone has an Adreno 3xx GPU (issue maplibre/maplibre-native#2206 only occurs for that GPU as far as we know), your only option as a user is at the moment to keep using v58.2.

@westnordost westnordost closed this as not planned Won't fix, can't repro, duplicate, stale Oct 9, 2024
@westnordost westnordost pinned this issue Oct 9, 2024
@westnordost westnordost changed the title App crashes on start with the last 2 releases App crashes devices with an Adreno 330 GPU Oct 9, 2024
@westnordost westnordost changed the title App crashes devices with an Adreno 330 GPU App crashes devices with an Adreno 330 GPU -> use v58.2 Oct 9, 2024
@riQQ riQQ added the blocked blocked by another issue label Oct 9, 2024
@IzzySoft
Copy link
Author

IzzySoft commented Oct 9, 2024

Thanks to all of you! Good to know it's not only a known issue, but even the culprit is clear. Will probably try my luck with backup/restore (as described with location off, or via the root-based backup/restore scripts of Adebar – hoping I can restore UserData from the current version to the older one.

@IzzySoft
Copy link
Author

IzzySoft commented Oct 9, 2024

Indeed, if your smartphone has an Adreno 3xx GPU (issue maplibre/maplibre-native#2206 only occurs for that GPU as far as we know), your only option as a user is at the moment to keep using v58.2.

@westnordost and that's where I'd wish for Fastlane per-release changelogs. Not necessarily for each single release and each single change, but for (potentially) "breaking changes", as "early warnings". Had I known before there might be problems with Adreno 220 CPU, I probably first had tried to figure it I'm affected – and set the app to "never update" on the FP2 then.

No complaints, just a thought. And that changelog would only be needed for en-US (which all other locales use as fallback), so folks are "warned".

Luckily, I was able to transfer app+data to a device not affected (if someone needs details / a step-by-step guide, I happily provide it; it will require both devices to be rooted, though). My FP2 is long EOL (I had planned to replace it last year, but my new device is only to arrive in a couple of weeks from now), so I can then transfer SC again to the new device once it's set up.

@westnordost
Copy link
Member

You had to backup/restore your data because you had local changes you didn't upload yet, I presume? Everything else would just be downloaded again after login, FYI. So, no need to backup anything. Oh right, actually, the quest presets and quest enablements/disablements/order would also be lost on a complete new install.

(A Fairphone end of life? How, though?)

@HolgerJeromin
Copy link
Contributor

(A Fairphone end of life? How, though?)

https://www.fairphone.com/en/2023/01/09/an-update-on-fairphone-2/
after seven years. Shipping with Android 5.1 and then upgraded till Android 10.

@IzzySoft
Copy link
Author

You had to backup/restore your data because you had local changes you didn't upload yet, I presume?

No, I've kept the auto-upload active. It's rather the configuration and presets. And, in my case, the transfer to another device for verification 😉

@HolgerJeromin your link gives me a 404 (not available in Dutch, but English works) – but yes, that too.

The linked page says "the device will start lagging behind in terms of security updates" (I'm using LineageOS, so that's a different issue) – but for me it's lagging in general meanwhile, especially when it comes to larger Flutter apps (Flutter, React, Expo all are quite heavy as they have to bring their entire environment (native libs) along). The FP2 is 32bit only, and the hardware would be considered "low end" today – something not considered by all development teams. SC was still running fine on it, though. OsmAnd takes ages to even start up. Installing new apps often fails, sometimes the device is acting up (WiFi dropping, or suddenly the battery lasting for max 5h as it did the past few days here but seems to have resolved itself, now saying "2d left" again – 1.5d was the average)…

Almost 10 years is a good time. Once having moved to a new device, the FP2 won't be thrown away though, it will instead become a third life (this was already its second life, being assembled from 4 different sources thanks to its modularity – the replacement will be even more modular, a SHIFTphone8); test device or "smart display", or something entirely else, not sure yet but I will find something.

@raphj
Copy link

raphj commented Oct 13, 2024

Will probably try my luck with backup/restore (as described with location off, or via the root-based backup/restore scripts of Adebar – hoping I can restore UserData from the current version to the older one.

I just tried backing up the data of the new version on an affected device with oandbackup and restoring the data after installing the old version.

It doesn't work out of the box, I got:

10-13 20:28:20.809  9530  9530 E AndroidRuntime: FATAL EXCEPTION: main
10-13 20:28:20.809  9530  9530 E AndroidRuntime: Process: de.westnordost.streetcomplete, PID: 9530
10-13 20:28:20.809  9530  9530 E AndroidRuntime: java.lang.RuntimeException: Unable to create application de.westnordost.streetcomplete.StreetCompleteApplication: org.koin.core.error.InstanceCreationException: Could not create instance for '[Singleton:'de.westnordost.streetcomplete.util.logs.DatabaseLogger']'
10-13 20:28:20.809  9530  9530 E AndroidRuntime:        at android.app.ActivityThread.handleBindApplication(ActivityThread.java:5451)
10-13 20:28:20.809  9530  9530 E AndroidRuntime:        at android.app.ActivityThread.-wrap2(ActivityThread.java)
10-13 20:28:20.809  9530  9530 E AndroidRuntime:        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1564)
10-13 20:28:20.809  9530  9530 E AndroidRuntime:        at android.os.Handler.dispatchMessage(Handler.java:102)
10-13 20:28:20.809  9530  9530 E AndroidRuntime:        at android.os.Looper.loop(Looper.java:154)
10-13 20:28:20.809  9530  9530 E AndroidRuntime:        at android.app.ActivityThread.main(ActivityThread.java:6186)
10-13 20:28:20.809  9530  9530 E AndroidRuntime:        at java.lang.reflect.Method.invoke(Native Method)
10-13 20:28:20.809  9530  9530 E AndroidRuntime:        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:889)
10-13 20:28:20.809  9530  9530 E AndroidRuntime:        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:779)
10-13 20:28:20.809  9530  9530 E AndroidRuntime: Caused by: org.koin.core.error.InstanceCreationException: Could not create instance for '[Singleton:'de.westnordost.streetcomplete.util.logs.DatabaseLogger']'
10-13 20:28:20.809  9530  9530 E AndroidRuntime:        at org.koin.core.instance.InstanceFactory.create(SourceFile)
10-13 20:28:20.809  9530  9530 E AndroidRuntime:        at org.koin.core.instance.SingleInstanceFactory.create(SourceFile)
10-13 20:28:20.809  9530  9530 E AndroidRuntime:        at org.koin.core.instance.SingleInstanceFactory$get$1.invoke(SourceFile:0)
10-13 20:28:20.809  9530  9530 E AndroidRuntime:        at org.koin.core.instance.SingleInstanceFactory$get$1.invoke(SourceFile:0)
10-13 20:28:20.809  9530  9530 E AndroidRuntime:        at org.koin.mp.KoinPlatformTools.synchronized(SourceFile)
10-13 20:28:20.809  9530  9530 E AndroidRuntime:        at org.koin.core.instance.SingleInstanceFactory.get(SourceFile)
10-13 20:28:20.809  9530  9530 E AndroidRuntime:        at org.koin.core.registry.InstanceRegistry.resolveInstance$koin_core(SourceFile)
10-13 20:28:20.809  9530  9530 E AndroidRuntime:        at org.koin.core.scope.Scope.resolveValue(SourceFile)
10-13 20:28:20.809  9530  9530 E AndroidRuntime:        at org.koin.core.scope.Scope.resolveInstance(SourceFile)
10-13 20:28:20.809  9530  9530 E AndroidRuntime:        at org.koin.core.scope.Scope.get(SourceFile)
10-13 20:28:20.809  9530  9530 E AndroidRuntime:        at de.westnordost.streetcomplete.StreetCompleteApplication$special$$inlined$inject$default$2.invoke(SourceFile)
10-13 20:28:20.809  9530  9530 E AndroidRuntime:        at kotlin.SynchronizedLazyImpl.getValue(SourceFile)
10-13 20:28:20.809  9530  9530 E AndroidRuntime:        at de.westnordost.streetcomplete.StreetCompleteApplication.getDatabaseLogger(SourceFile)
10-13 20:28:20.809  9530  9530 E AndroidRuntime:        at de.westnordost.streetcomplete.StreetCompleteApplication.setLoggerInstances(SourceFile)
10-13 20:28:20.809  9530  9530 E AndroidRuntime:        at de.westnordost.streetcomplete.StreetCompleteApplication.onCreate(SourceFile)
10-13 20:28:20.809  9530  9530 E AndroidRuntime:        at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1025)
10-13 20:28:20.809  9530  9530 E AndroidRuntime:        at android.app.ActivityThread.handleBindApplication(ActivityThread.java:5448)
10-13 20:28:20.809  9530  9530 E AndroidRuntime:        ... 8 more
10-13 20:28:20.809  9530  9530 E AndroidRuntime: Caused by: org.koin.core.error.InstanceCreationException: Could not create instance for '[Singleton:'de.westnordost.streetcomplete.data.logs.LogsController']'
10-13 20:28:20.809  9530  9530 E AndroidRuntime:        at org.koin.core.instance.InstanceFactory.create(SourceFile)
10-13 20:28:20.809  9530  9530 E AndroidRuntime:        at org.koin.core.instance.SingleInstanceFactory.create(SourceFile)
10-13 20:28:20.809  9530  9530 E AndroidRuntime:        at org.koin.core.instance.SingleInstanceFactory$get$1.invoke(SourceFile:0)
10-13 20:28:20.809  9530  9530 E AndroidRuntime:        at org.koin.core.instance.SingleInstanceFactory$get$1.invoke(SourceFile:0)
10-13 20:28:20.809  9530  9530 E AndroidRuntime:        at org.koin.mp.KoinPlatformTools.synchronized(SourceFile)
10-13 20:28:20.809  9530  9530 E AndroidRuntime:        at org.koin.core.instance.SingleInstanceFactory.get(SourceFile)
10-13 20:28:20.809  9530  9530 E AndroidRuntime:        at org.koin.core.registry.InstanceRegistry.resolveInstance$koin_core(SourceFile)
10-13 20:28:20.809  9530  9530 E AndroidRuntime:        at org.koin.core.scope.Scope.resolveValue(SourceFile)
10-13 20:28:20.809  9530  9530 E AndroidRuntime:        at org.koin.core.scope.Scope.resolveInstance(SourceFile)
10-13 20:28:20.809  9530  9530 E AndroidRuntime:        at org.koin.core.scope.Scope.get(SourceFile)
10-13 20:28:20.809  9530  9530 E AndroidRuntime:        at de.westnordost.streetcomplete.ApplicationModuleKt.appModule$lambda$8$lambda$3(SourceFile)
10-13 20:28:20.809  9530  9530 E AndroidRuntime:        at de.westnordost.streetcomplete.ApplicationModuleKt.$r8$lambda$3-TyuVXRL1xv-ahvDgr6BgsTHHE(SourceFile:0)
10-13 20:28:20.809  9530  9530 E AndroidRuntime:        at de.westnordost.streetcomplete.ApplicationModuleKt$$ExternalSyntheticLambda5.invoke(SourceFile:0)
10-13 20:28:20.809  9530  9530 E AndroidRuntime:        ... 25 more
10-13 20:28:20.809  9530  9530 E AndroidRuntime: Caused by: org.koin.core.error.InstanceCreationException: Could not create instance for '[Factory:'de.westnordost.streetcomplete.data.logs.LogsDao']'
10-13 20:28:20.809  9530  9530 E AndroidRuntime:        at org.koin.core.instance.InstanceFactory.create(SourceFile)
10-13 20:28:20.809  9530  9530 E AndroidRuntime:        at org.koin.core.instance.FactoryInstanceFactory.get(SourceFile)
10-13 20:28:20.809  9530  9530 E AndroidRuntime:        at org.koin.core.registry.InstanceRegistry.resolveInstance$koin_core(SourceFile)
10-13 20:28:20.809  9530  9530 E AndroidRuntime:        at org.koin.core.scope.Scope.resolveValue(SourceFile)
10-13 20:28:20.809  9530  9530 E AndroidRuntime:        at org.koin.core.scope.Scope.resolveInstance(SourceFile)
10-13 20:28:20.809  9530  9530 E AndroidRuntime:        at org.koin.core.scope.Scope.get(SourceFile)
10-13 20:28:20.809  9530  9530 E AndroidRuntime:        at de.westnordost.streetcomplete.data.logs.LogsModuleKt.logsModule$lambda$2$lambda$1(SourceFile)
10-13 20:28:20.809  9530  9530 E AndroidRuntime:        at de.westnordost.streetcomplete.data.logs.LogsModuleKt.$r8$lambda$kyS79NN-INclZLCZGB8PYd6ph10(SourceFile:0)
10-13 20:28:20.809  9530  9530 E AndroidRuntime:        at de.westnordost.streetcomplete.data.logs.LogsModuleKt$$ExternalSyntheticLambda2.invoke(SourceFile:0)
10-13 20:28:20.809  9530  9530 E AndroidRuntime:        ... 38 more
10-13 20:28:20.809  9530  9530 E AndroidRuntime: Caused by: org.koin.core.error.InstanceCreationException: Could not create instance for '[Singleton:'de.westnordost.streetcomplete.data.Database']'
10-13 20:28:20.809  9530  9530 E AndroidRuntime:        at org.koin.core.instance.InstanceFactory.create(SourceFile)
10-13 20:28:20.809  9530  9530 E AndroidRuntime:        at org.koin.core.instance.SingleInstanceFactory.create(SourceFile)
10-13 20:28:20.809  9530  9530 E AndroidRuntime:        at org.koin.core.instance.SingleInstanceFactory$get$1.invoke(SourceFile:0)
10-13 20:28:20.809  9530  9530 E AndroidRuntime:        at org.koin.core.instance.SingleInstanceFactory$get$1.invoke(SourceFile:0)
10-13 20:28:20.809  9530  9530 E AndroidRuntime:        at org.koin.mp.KoinPlatformTools.synchronized(SourceFile)
10-13 20:28:20.809  9530  9530 E AndroidRuntime:        at org.koin.core.instance.SingleInstanceFactory.get(SourceFile)
10-13 20:28:20.809  9530  9530 E AndroidRuntime:        at org.koin.core.registry.InstanceRegistry.resolveInstance$koin_core(SourceFile)
10-13 20:28:20.809  9530  9530 E AndroidRuntime:        at org.koin.core.scope.Scope.resolveValue(SourceFile)
10-13 20:28:20.809  9530  9530 E AndroidRuntime:        at org.koin.core.scope.Scope.resolveInstance(SourceFile)
10-13 20:28:20.809  9530  9530 E AndroidRuntime:        at org.koin.core.scope.Scope.get(SourceFile)
10-13 20:28:20.809  9530  9530 E AndroidRuntime:        at de.westnordost.streetcomplete.data.logs.LogsModuleKt.logsModule$lambda$2$lambda$0(SourceFile)
10-13 20:28:20.809  9530  9530 E AndroidRuntime:        at de.westnordost.streetcomplete.data.logs.LogsModuleKt.$r8$lambda$i-oS8Q7Mi4HXv9zHfsTHA1uUv00(SourceFile:0)
10-13 20:28:20.809  9530  9530 E AndroidRuntime:        at de.westnordost.streetcomplete.data.logs.LogsModuleKt$$ExternalSyntheticLambda1.invoke(SourceFile:0)
10-13 20:28:20.809  9530  9530 E AndroidRuntime:        ... 47 more
10-13 20:28:20.809  9530  9530 E AndroidRuntime: Caused by: android.database.sqlite.SQLiteException: Can't downgrade database from version 19 to 17
10-13 20:28:20.809  9530  9530 E AndroidRuntime:        at android.database.sqlite.SQLiteOpenHelper.onDowngrade(SQLiteOpenHelper.java:360)
10-13 20:28:20.809  9530  9530 E AndroidRuntime:        at android.database.sqlite.SQLiteOpenHelper.getDatabaseLocked(SQLiteOpenHelper.java:254)
10-13 20:28:20.809  9530  9530 E AndroidRuntime:        at android.database.sqlite.SQLiteOpenHelper.getWritableDatabase(SQLiteOpenHelper.java:163)
10-13 20:28:20.809  9530  9530 E AndroidRuntime:        at de.westnordost.streetcomplete.data.DbModuleKt.dbModule$lambda$1$lambda$0(SourceFile)
10-13 20:28:20.809  9530  9530 E AndroidRuntime:        at de.westnordost.streetcomplete.data.DbModuleKt.$r8$lambda$IGJU7etnWCTnBhldDo5YiS03WyI(SourceFile:0)
10-13 20:28:20.809  9530  9530 E AndroidRuntime:        at de.westnordost.streetcomplete.data.DbModuleKt$$ExternalSyntheticLambda1.invoke(SourceFile:0)
10-13 20:28:20.809  9530  9530 E AndroidRuntime:        ... 60 more
10-13 20:28:20.813  1709 26284 W ActivityManager:   Force finishing activity de.westnordost.streetcomplete/.screens.MainActivity
10-13 20:28:20.819  9530  9530 I Process : Sending signal. PID: 9530 SIG: 9
10-13 20:28:20.829  1709 24087 I ActivityManager: Process de.westnordost.streetcomplete (pid 9530) has died
10-13 20:28:20.830  1709 24087 D ActivityManager: cleanUpApplicationRecord -- 9530

But getting /data/data/de.westnordost.streetcomplete/databases/streetcomplete_v2.db on a computer using adb, changing the version from 19 to 17 using sqlitebrowser, and replacing the file makes the app run. You are not supposed to do this and you are on your own if you do this, this means you are lying to the application about the database migration status, but I tested answering a quest, and it seems to work fine.

@raphj
Copy link

raphj commented Oct 20, 2024

You are not supposed to do this and you are on your own if you do this, this means you are lying to the application about the database migration status, but I tested answering a quest, and it seems to work fine.

The app crashes at start, I ended up wiping app data.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
blocked blocked by another issue bug upstream result from an upstream issue
Projects
None yet
Development

No branches or pull requests

8 participants