MarcusWolschon / osmeditor4android

Vespucci is a OpenStreetMap editor for Android

Home Page:http://vespucci.io

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Crash with the new disambiguation menu

vespucci-reporter opened this issue · comments

Description:

Vespucci crashes EVERY TIME when the new disambiguation menu appears (with the arrows).

I can see it for approx. 1 second, then Vespucci is quit (without error reporting after restart! and it is turned on in the prefs).

Please fix this ASAP!!! Thank you!!!

Device info:

App version19.3.0.0
App version code2701
Android build versionA336BXXS7CWJ1
Android release version13
Android SDK version33
Android build IDTP1A.220624.014.A336BXXS7CWJ1
Device brandsamsung
Device manufacturersamsung
Device namea33x
Device modelSM-A336B
Device product namea33xnseea
Device hardware names5e8825
ABIs[arm64-v8a, armeabi-v7a, armeabi]
ABIs (32bit)[armeabi-v7a, armeabi]
ABIs (64bit)[arm64-v8a]

Extra info:

OSM display namegoodidea

Did you have the beta installed before (and I'm assuming this is the version from the play store?)?

No, I used v19.2.4 from GooglePlay Store.

Another problem: I cannot change the language (from system language = German to English) anymore. It's always german.

Is there a way to downgrade? I tried the apk of 19.2.4, but it didn't work. Is it neccessary to deinstall 19.3.0 first (loosing all settings?).

Android doesn't support downgrades. In any case the problem is that your issue isn't reproducible here (the app has been intensively tested on Android 13 including Samsung devices). Please do not deinstall yet as that will make it impossible to determine what the issue is.

It could be related to the language issue, so lets try to debug that first, how are you trying to change the language? Is the app running when you do that?

Small information: if I tap very quickly on one of the lines in the disambiguation menu, it does not crash. But it's only one second (maximum).

Normal working with the app is quite impossible. E.g. to select a street with several bus routes is a problem (because the disambiguation menu even appears in high zoom levels).

It could be related to the language issue, so lets try to debug that first, how are you trying to change the language? Is the app running when you do that?

I can at least partially recreate this issue, seems as if changing the app language in the app stopped working, but it continues to work via the system app settings. Not sure why this is happening as that code hasn't changed, but it doesn't cause any issues here except that the language doesn't change. So likely separate issue.

Can you copy the output on the debug page (main menu) and paste it here?

The other thing that would be helpful is a link to the location / object where this is happening.

I also noticed that I can change the language in the app settings. Thank you.

Location: it really happens everwhere. I tried out different locations, new data downloads and so on ...

Here is the debug info:

Vespucci 19.3.0
Flavor: current
Target SDK: 33
Maximum avaliable memory 536870912
Total memory used (non-native) 188907336
Native memory usage 209101600
In memory Tile Cache MAPNIK type tms tiles BITMAP usage Size 0 of maximum 67108864 #entries 0
In memory Tile Cache ESRIWORLDIMAGERYCLARITY type tms tiles BITMAP usage Size 0 of maximum 67108864 #entries 0
In memory Tile Cache ESRIWORLDIMAGERY type tms tiles BITMAP usage Size 0 of maximum 67108864 #entries 0
In memory Tile Cache FR.IGN.BDORTHO type tms tiles BITMAP usage Size 0 of maximum 67108864 #entries 0
In memory Tile Cache BING type bing tiles BITMAP usage Size 17825792 of maximum 67108864 #entries 68
Selection stack
Selection 0 0 nodes 0 ways 0 relations
Current used file system net tile cache size: 100631321B
State file size 239477 last changed 2023-11-09 15:05:52
Bug state file size 92565 last changed 2023-11-09 15:05:52
Relations (current/API): 10/0
Ways (current/API): 390/0
Nodes (current/Waynodes/API): 2347/2221/0
Available location providers
passive enabled true
network enabled true
fused enabled true
gps enabled true
Configured layers
IMAGERY 0 IMAGERY false MAPNIK
IMAGERY 1 IMAGERY false ESRIWORLDIMAGERYCLARITY
IMAGERY 2 IMAGERY false ESRIWORLDIMAGERY
IMAGERY 3 IMAGERY false FR.IGN.BDORTHO
IMAGERY 4 IMAGERY true BING
OSMDATA 5 OSMDATA true null
SCALE 6 SCALE true null
TASKS 7 TASKS true null
PHOTO 8 PHOTO false null
GPX 9 GPX true content://com.android.providers.downloads.documents/document/msf%3A1000011300

To the language settings:
I tried to switch the language in the Vespucci settings. It did not work or only partitially. It worked when switching in the app settings.

Since some time I noticed that after every update, the language is reset to the system language, so I am used to change it again (and did it always in the Vespucci settings). It always worked, but not this time.

To the language settings: I tried to switch the language in the Vespucci settings. It did not work or only partitially. It worked when switching in the app settings.

Since some time I noticed that after every update, the language is reset to the system language, so I am used to change it again (and did it always in the Vespucci settings). It always worked, but not this time.

See #2434 wrt language switching.

Can you systematically disable the layers you have enabled and see if the issue is caused by a specific one? I would start with the GPX layer (the image layers don't really matter, so no need to test those).

Ps: you can start in safe mode to turn all the layers off btw.

I also had this idea and switched off all layers except the data layer. No change.

I also set the language to system language (app settings) – no change.

Also started in Safe Mode. No change.

Weird, I assume you've reset the data layer? Because right now my only guess would be calculating an object centroid of an element with a degenerate geometry causing the crash.

I just tested a new install from the play store just to be sure, again no issue. Just to rule out your device playing up, could you restart it? And perhaps disable any custom presets.

How bad that you cannot reproduce it...

Yes, I reset the data layer (clear and download new area, several times), also choosed “prune“ from the layer menu.

I also restartet my phone ...

I disabled all custom presets (tried that at the very beginning, now again), and also choosed the minimal data styling ...

It does not change anything.

Now I also got several system messages about the crashes. They look like this:

20231109_225614
Screenshot_20231109_211828_Device care

(Also emptied the cache ... and tapped „Alles klar“ of course ...)

Really no idea?

There was an Android System Update just yesterday (a security update Oct. 2023), only to mention also this (but no other problems with the phone).

I just was outside to make some mappings, it was horrible ... had to restart Vespucci permanently, often lost the last edits (And I wish there would be a button with “save state now”).

And I also experienced another problem ... a custom preset with some not uncomplex Javascript did not work anymore (coded by myself). I will have to open another issue for that perhaps and check it again. But I never had problems with that preset before. And other presets with simpler Javascript did work ... Only want to say that there is more than only one strange thing. Was there any change with the Jacascript engine?

Another small information: the crash also occurs if there is is only a Vespucci todo and a node in the disambiguation menu.

I hope you find a cause of this problem. Can I do something else for diagnosis?

This is really not my most loved Vespucci update ...

I likely found the issue, it is particularly convoluted google issue and not clear why it only turns up in some situations.

19.3.1 should be available from the play store now.

The problem lies in that if you have an Android Span https://developer.android.com/develop/ui/views/text-and-emoji/spans and implement ParceableSpan the Android framework will try to access an internal and undocumented method and ... crash. Why this is only an issue on some devices and not others is unclear, but it is what it is.

Hello! Great!!!! It works again after the update from the PlayStore. This makes my day!

When it comes to software problems that may occur rarely, I have been able to call “here” very often in the past. Maybe I should get involved in beta testing new versions...

Now I only have the problem with the crash with a custom preset with complex Javascript (complex for me, I'm not a Javascript crack, but it's certainly more extensive than the example Javascripts that are included with Vespucci). But I should create a new issue for it. But can you say anything about whether anything has changed with the JavaScript engine? Unfortunately, just like this problem with the disambiguation menu, the crash happens without any error notification from Vespucci (like other smaller Javascript errors), so it must be something serious. And it always worked fine with previous versions of Vespucci and I had tested it thoroughly when I coded it.

The thing with complex JS is that it is likely going to be reproducible. Just open an issue and include an example.