On my “subscribed” page, if I scroll down, the app crashes. Not sure of anything more than that. But it’s definitely repeatable for me.

Device information

Sync version: v23.11.29-22:27    
Sync flavor: googlePlay    

View type: Smaller cards    

Device: ASUS_AI2302    
Model: asus ASUS_AI2302    
Android: 14
  • Skull giver@popplesburger.hilciferous.nl
    link
    fedilink
    English
    arrow-up
    3
    ·
    8 months ago

    I don’t think this has anything to do with malicious images. From my crash logs, it looks like a simple database inconsistency issue:

     E AndroidRuntime: FATAL EXCEPTION: main
     E AndroidRuntime: Process: io.syncapps.lemmy_sync, PID: 6602
     E AndroidRuntime: java.lang.ArrayIndexOutOfBoundsException: length=4; index=4
     E AndroidRuntime:        at uc.a.d(Unknown Source:49)
    L E AndroidRuntime:        at a9.a.containsKey(Unknown Source:2)
     E AndroidRuntime:        at z8.p.k(Unknown Source:2)
    L E AndroidRuntime:        at wc.e.x0(Unknown Source:8)
     E AndroidRuntime:        at wc.e.E(Unknown Source:7)
     E AndroidRuntime:        at xc.d$g$a.a(Unknown Source:3)
     E AndroidRuntime:        at xc.d$g$a.onLoadComplete(Unknown Source:2)
     E AndroidRuntime:        at android.content.Loader.deliverResult(Loader.java:157)
     E AndroidRuntime:        at android.content.CursorLoader.deliverResult(CursorLoader.java:117)
     E AndroidRuntime:        at android.content.CursorLoader.deliverResult(CursorLoader.java:47)                 03-04  E AndroidRuntime:        at android.content.AsyncTaskLoader.dispatchOnLoadComplete(AsyncTaskLoader.java:274)
     E AndroidRuntime:        at android.content.AsyncTaskLoader$LoadTask.onPostExecute(AsyncTaskLoader.java:97) 
     E AndroidRuntime:        at android.os.AsyncTask.finish(AsyncTask.java:771)
     E AndroidRuntime:        at android.os.AsyncTask.-$$Nest$mfinish(Unknown Source:0)
     E AndroidRuntime:        at android.os.AsyncTask$InternalHandler.handleMessage(AsyncTask.java:788)
     E AndroidRuntime:        at android.os.Handler.dispatchMessage(Handler.java:106)
     E AndroidRuntime:        at android.os.Looper.loopOnce(Looper.java:201)
     E AndroidRuntime:        at android.os.Looper.loop(Looper.java:288)
     E AndroidRuntime:        at android.app.ActivityThread.main(ActivityThread.java:7937)
     E AndroidRuntime:        at java.lang.reflect.Method.invoke(Native Method)
     E AndroidRuntime:        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548)
     E AndroidRuntime:        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:854)
    
      • Skull giver@popplesburger.hilciferous.nl
        link
        fedilink
        English
        arrow-up
        3
        ·
        8 months ago

        I’m guessing that a non-Lemmy server doesn’t provide some optional fields that Lemmy servers always provide, or that it provides some unexpected but valid data points in the API. The API docs aren’t exactly very detailed, so I wouldn’t be surprised if LJD assumed some optional field to always be present (because on every post on Lemmy that has been the case).

        I took a look at the JSON Lemmy generates and it seems perfectly fine. Unfortunately, Sync is obfuscated so I can’t get a clue at what object is malformed in the database to see what could be causing this.