microg / GmsCore

Free implementation of Play Services
https://microg.org
Apache License 2.0
8.67k stars 1.73k forks source link

[META] new stable release / patch for current #2551

Open kaduvert opened 2 months ago

kaduvert commented 2 months ago

So there is a bug in the latest stable release, which i will describe later. I suspect it has already been fixed though, but i refuse to try to find out because i do not want to risk having my main phone fucked by some unstable microg release.

I also refuse to be called a pointless issue opener, so there is definitely a problem: There should either be a recent stable version containing a fix, or, probably easier to do, a patch to the current stable version with a fix.

I don't know how impactful it is if microg crashes in the background, but it just doesn't feel right. I get notified via LogFox with root whenever anything on my phone crashes, and i see this crash about every few days when i pick up my phone from standby. it has occured 117 times from February 2024 to today

Now to the actual Bug Report (which may be redundant as outlined above):

FATAL EXCEPTION: main
Process: com.google.android.gms, PID: 30869
java.lang.NullPointerException: Attempt to read from field 'byte[] com.android.volley.NetworkResponse.data' on a null object reference in method 'void org.microg.gms.auth.appcert.AppCertManager$fetchDeviceKey$2$1.deliverError(com.android.volley.VolleyError)'
    at org.microg.gms.auth.appcert.AppCertManager$fetchDeviceKey$2$1.deliverError(AppCertManager.kt:113)
    at com.android.volley.ExecutorDelivery$ResponseDeliveryRunnable.run(ExecutorDelivery.java:104)
    at android.os.Handler.handleCallback(Handler.java:959)
    at android.os.Handler.dispatchMessage(Handler.java:100)
    at android.os.Looper.loopOnce(Looper.java:232)
    at android.os.Looper.loop(Looper.java:317)
    at android.app.ActivityThread.main(ActivityThread.java:8592)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:580)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:878)

this occurs on my sargo phone running lineage-21.0-20240716-microG-sargo from https://lineage.microg.org/ with magisk running microG v0.2.27.223616 (the latest stable release, purposefully NOT unstable or nightly because of reasons outlined above)

it occurs without interaction (while phone is in standby mode) and i theorize it could have to do with internet connectivity, occuring when there is bad / no connection. just guessing though

fynngodau commented 3 weeks ago

Please keep in mind that microG is and remains provided on a best-effort basis.

The line of code that seems responsible has been changed to no longer cause the crash you encountered:

https://github.com/microg/GmsCore/blob/36fedfaf97b6ec7cb4347ce3eb4a3e4dbc95c3f1/play-services-core/src/main/kotlin/org/microg/gms/auth/appcert/AppCertManager.kt#L116-L124

I believe that the bug was therefore already fixed. Since there is nothing actionable in this issue remaining to be done, please close it.

kaduvert commented 3 weeks ago

well yeah, i totally get your point, but keep in mind that this likely still affects the largest percentile of the userbase of this project.

and it could probably be patched requiring not that much effort.

so this is important, actionable and easy.

it seems to be low severity but i concluded its still worthy of an open github issue, so no, i don't think this should be closed.

ale5000-git commented 3 weeks ago

As already said it is probably already fixed. The new version will be v0.3.3.1 or v0.3.4 (it depends from mar-v-in).

If you expect a fix for v0.2.x it will never happens.