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

Crash in settings #16727

Open
moving-bits opened this issue Mar 9, 2025 · 12 comments
Open

Crash in settings #16727

moving-bits opened this issue Mar 9, 2025 · 12 comments
Labels
Bug Issues classified as a bug Prio - High A significant malfunction of a feature/function. High user impact. Support Issue related to one or more Support Tickets

Comments

@moving-bits
Copy link
Member

User report (ticket 479688) on support:

Current nightly (2025.03.09-NB) crashes for logging settings:

03-09 15:41:45.975 23499 23499 E AndroidRuntime: FATAL EXCEPTION: main
03-09 15:41:45.975 23499 23499 E AndroidRuntime: Process: cgeo.geocaching, PID: 23499
03-09 15:41:45.975 23499 23499 E AndroidRuntime: java.lang.IllegalArgumentException: Internal error: TypeReference constructed without actual type information
03-09 15:41:45.975 23499 23499 E AndroidRuntime: 	at com.fasterxml.jackson.core.type.TypeReference.<init>(Unknown Source:31)
03-09 15:41:45.975 23499 23499 E AndroidRuntime: 	at cgeo.geocaching.settings.Settings$1.<init>(Unknown Source:0)
03-09 15:41:45.975 23499 23499 E AndroidRuntime: 	at cgeo.geocaching.settings.Settings.getLogTemplates(Unknown Source:13)
03-09 15:41:45.975 23499 23499 E AndroidRuntime: 	at cgeo.geocaching.log.LoggingUI.showOfflineMenu(Unknown Source:105)
03-09 15:41:45.975 23499 23499 E AndroidRuntime: 	at cgeo.geocaching.log.LoggingUI.onMenuItemSelected(Unknown Source:18)
03-09 15:41:45.975 23499 23499 E AndroidRuntime: 	at cgeo.geocaching.CacheDetailActivity.onOptionsItemSelected(Unknown Source:415)
03-09 15:41:45.975 23499 23499 E AndroidRuntime: 	at android.app.Activity.onMenuItemSelected(Activity.java:4719)
03-09 15:41:45.975 23499 23499 E AndroidRuntime: 	at androidx.activity.ComponentActivity.onMenuItemSelected(Unknown Source:0)
03-09 15:41:45.975 23499 23499 E AndroidRuntime: 	at androidx.fragment.app.FragmentActivity.onMenuItemSelected(Unknown Source:0)
03-09 15:41:45.975 23499 23499 E AndroidRuntime: 	at androidx.appcompat.app.AppCompatActivity.onMenuItemSelected(Unknown Source:0)
03-09 15:41:45.975 23499 23499 E AndroidRuntime: 	at androidx.appcompat.view.WindowCallbackWrapper.onMenuItemSelected(Unknown Source:2)
03-09 15:41:45.975 23499 23499 E AndroidRuntime: 	at androidx.appcompat.app.AppCompatDelegateImpl.onMenuItemSelected(Unknown Source:22)
03-09 15:41:45.975 23499 23499 E AndroidRuntime: 	at androidx.appcompat.view.menu.MenuBuilder.dispatchMenuItemSelected(Unknown Source:4)
03-09 15:41:45.975 23499 23499 E AndroidRuntime: 	at androidx.appcompat.view.menu.MenuItemImpl.invoke(Unknown Source:14)
03-09 15:41:45.975 23499 23499 E AndroidRuntime: 	at androidx.appcompat.view.menu.MenuBuilder.performItemAction(SourceFile:0)
03-09 15:41:45.975 23499 23499 E AndroidRuntime: 	at androidx.appcompat.view.menu.MenuPopup.onItemClick(Unknown Source:27)
03-09 15:41:45.975 23499 23499 E AndroidRuntime: 	at android.widget.AdapterView.performItemClick(AdapterView.java:376)
03-09 15:41:45.975 23499 23499 E AndroidRuntime: 	at android.widget.AbsListView.performItemClick(AbsListView.java:1362)
03-09 15:41:45.975 23499 23499 E AndroidRuntime: 	at android.widget.AbsListView$PerformClick.run(AbsListView.java:3658)
03-09 15:41:45.975 23499 23499 E AndroidRuntime: 	at android.widget.AbsListView$3.run(AbsListView.java:4844)
03-09 15:41:45.975 23499 23499 E AndroidRuntime: 	at android.os.Handler.handleCallback(Handler.java:958)
03-09 15:41:45.975 23499 23499 E AndroidRuntime: 	at android.os.Handler.dispatchMessage(Handler.java:99)
03-09 15:41:45.975 23499 23499 E AndroidRuntime: 	at android.os.Looper.loopOnce(Looper.java:230)
03-09 15:41:45.975 23499 23499 E AndroidRuntime: 	at android.os.Looper.loop(Looper.java:319)
03-09 15:41:45.975 23499 23499 E AndroidRuntime: 	at android.app.ActivityThread.main(ActivityThread.java:9063)
03-09 15:41:45.975 23499 23499 E AndroidRuntime: 	at java.lang.reflect.Method.invoke(Native Method)
03-09 15:41:45.975 23499 23499 E AndroidRuntime: 	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:588)
03-09 15:41:45.975 23499 23499 E AndroidRuntime: 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1103)
03-09 15:41:45.975 23499 23499 W cgeo    : [main] UncaughtException
03-09 15:41:45.975 23499 23499 W cgeo    : java.lang.IllegalArgumentException: Internal error: TypeReference constructed without actual type information
03-09 15:41:45.975 23499 23499 W cgeo    : 	at com.fasterxml.jackson.core.type.TypeReference.<init>(Unknown Source:31)
03-09 15:41:45.975 23499 23499 W cgeo    : 	at cgeo.geocaching.settings.Settings$1.<init>(Unknown Source:0)
03-09 15:41:45.975 23499 23499 W cgeo    : 	at cgeo.geocaching.settings.Settings.getLogTemplates(Unknown Source:13)
03-09 15:41:45.975 23499 23499 W cgeo    : 	at cgeo.geocaching.log.LoggingUI.showOfflineMenu(Unknown Source:105)
03-09 15:41:45.975 23499 23499 W cgeo    : 	at cgeo.geocaching.log.LoggingUI.onMenuItemSelected(Unknown Source:18)
03-09 15:41:45.975 23499 23499 W cgeo    : 	at cgeo.geocaching.CacheDetailActivity.onOptionsItemSelected(Unknown Source:415)
03-09 15:41:45.975 23499 23499 W cgeo    : 	at android.app.Activity.onMenuItemSelected(Activity.java:4719)
03-09 15:41:45.975 23499 23499 W cgeo    : 	at androidx.activity.ComponentActivity.onMenuItemSelected(Unknown Source:0)
03-09 15:41:45.975 23499 23499 W cgeo    : 	at androidx.fragment.app.FragmentActivity.onMenuItemSelected(Unknown Source:0)
03-09 15:41:45.975 23499 23499 W cgeo    : 	at androidx.appcompat.app.AppCompatActivity.onMenuItemSelected(Unknown Source:0)
03-09 15:41:45.975 23499 23499 W cgeo    : 	at androidx.appcompat.view.WindowCallbackWrapper.onMenuItemSelected(Unknown Source:2)
03-09 15:41:45.975 23499 23499 W cgeo    : 	at androidx.appcompat.app.AppCompatDelegateImpl.onMenuItemSelected(Unknown Source:22)
03-09 15:41:45.975 23499 23499 W cgeo    : 	at androidx.appcompat.view.menu.MenuBuilder.dispatchMenuItemSelected(Unknown Source:4)
03-09 15:41:45.975 23499 23499 W cgeo    : 	at androidx.appcompat.view.menu.MenuItemImpl.invoke(Unknown Source:14)
03-09 15:41:45.975 23499 23499 W cgeo    : 	at androidx.appcompat.view.menu.MenuBuilder.performItemAction(SourceFile:0)
03-09 15:41:45.975 23499 23499 W cgeo    : 	at androidx.appcompat.view.menu.MenuPopup.onItemClick(Unknown Source:27)
03-09 15:41:45.975 23499 23499 W cgeo    : 	at android.widget.AdapterView.performItemClick(AdapterView.java:376)
03-09 15:41:45.975 23499 23499 W cgeo    : 	at android.widget.AbsListView.performItemClick(AbsListView.java:1362)
03-09 15:41:45.975 23499 23499 W cgeo    : 	at android.widget.AbsListView$PerformClick.run(AbsListView.java:3658)
03-09 15:41:45.975 23499 23499 W cgeo    : 	at android.widget.AbsListView$3.run(AbsListView.java:4844)
03-09 15:41:45.975 23499 23499 W cgeo    : 	at android.os.Handler.handleCallback(Handler.java:958)
03-09 15:41:45.975 23499 23499 W cgeo    : 	at android.os.Handler.dispatchMessage(Handler.java:99)
03-09 15:41:45.975 23499 23499 W cgeo    : 	at android.os.Looper.loopOnce(Looper.java:230)
03-09 15:41:45.975 23499 23499 W cgeo    : 	at android.os.Looper.loop(Looper.java:319)
03-09 15:41:45.975 23499 23499 W cgeo    : 	at android.app.ActivityThread.main(ActivityThread.java:9063)
03-09 15:41:45.975 23499 23499 W cgeo    : 	at java.lang.reflect.Method.invoke(Native Method)
03-09 15:41:45.975 23499 23499 W cgeo    : 	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:588)
03-09 15:41:45.975 23499 23499 W cgeo    : 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1103)
@moving-bits moving-bits added Bug Issues classified as a bug Support Issue related to one or more Support Tickets labels Mar 9, 2025
@novw
Copy link

novw commented Mar 9, 2025

NOT the same as offline logging. This is choosing the setting - Logging - (Configure your signature and set logging options)!

I was there to check if removing signature would "cure" the offline logging crash. I can not remove signature thru settings.

@moving-bits moving-bits added the Prio - High A significant malfunction of a feature/function. High user impact. label Mar 9, 2025
@moving-bits
Copy link
Member Author

setting prio to "high", as several reports are coming in for this

@MagpieFourtyTwo
Copy link

MagpieFourtyTwo commented Mar 9, 2025

Over here I can not even open Settings => Logging - as soon as I click on Logging, c:geo crashes.
All other entries of Settings do work (or, TBH, they at least open, I have not checked all entries in full depth).

But I removed the log templates and the last log via System => View Settings.
In detail I cleared Last_cache_log, logTemplates and signature, but this only changed, how long it takes, until c:geo crashes:
Before clearing, I got nothing than a blank screen (after clicking on Log Visit), while with these variables cleared, c:geo at least shows the logging dialog for half a second or so.

@MagpieFourtyTwo
Copy link

BTW: Is the new market version out already? Cause ironically, we just had a workshop the day before yesterday in which I praised c:geo to the skies - I hope that the guys and gals who are taking their first steps with c:geo for this very reason will not be deterred for life. ;)

If it's out already, then it would perhaps be a good idea to post a maintenance message that logging and settings "may currently be a bit limited" ... so esp. these know, that the crashes are a) not common, and b) not their fault.

@moving-bits
Copy link
Member Author

Market version 2025.03.06 is out, but seems to be unaffected. Either because the change leading to those crashes is not part of that version, or because the crashes may be related to the build instance update - we don't know yet.

Alas I cannot reproduce the error in the emulator, neither the one in settings nor the one while creating offline log. I've created a signature + several templates, can reopen them and can add them to offline logs. Maybe our server is optimizing the build a bit too much?

@MagpieFourtyTwo
Copy link

Feel free to ask if you need additional logs.

@MagpieFourtyTwo
Copy link

As for the market version: Good to know, thx for the info.

@eddiemuc
Copy link
Member

eddiemuc commented Mar 9, 2025

Here is the piece of code where the exception originates:

Image

Probably related to JDK version not compatible to this (a little bit outdated) version of jackson core? (2.13.5 was published in January 2023)

@bekuno
Copy link
Member

bekuno commented Mar 9, 2025

@eddiemuc
Copy link
Member

eddiemuc commented Mar 10, 2025

I noticed a similarity between this case and the metadata case: both are related to classes where instances are only created via reflection:

  • class cgeo.geocaching.settings.Settings$PrefLogTemplate is only instanciated inside jackson via reflection
  • Other error: class com.drew.metadata.exif.ExifIFD0Directory is also instanciated only via reflection when image metadata is read, and this fails too

I wonder if somehow the setup with new AGP falssely filters out or modifies classes not instanciated anywhere using "new" operator such that they can't be found anymore. Does anyone have experience with this? Isn't there some filter mechanism for release builds which removes unnecessary classes? Maybe the culprit lies somewhere there. Could this filter be deactivated for test purposes?

@eddiemuc
Copy link
Member

I suspect that many (if not all) of the other strange errors from yesterday could have a similar cause

@bekuno
Copy link
Member

bekuno commented Mar 10, 2025

The Gradle upgrade information is https://docs.gradle.org/current/userguide/upgrading_version_7.html.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Bug Issues classified as a bug Prio - High A significant malfunction of a feature/function. High user impact. Support Issue related to one or more Support Tickets
Projects
None yet
Development

No branches or pull requests

5 participants