PurpleI2P / i2pd-android

i2pd for Android
BSD 3-Clause "New" or "Revised" License
196 stars 23 forks source link

Feature #40 for testing. #44

Closed nonlin-lin-chaos-order-etc-etal closed 2 years ago

nonlin-lin-chaos-order-etc-etal commented 2 years ago

This is a fix for #40.

Instructions:

nonlin-lin-chaos-order-etc-etal commented 2 years ago

1 Test session 1

1.1 Device 1 Phases:

1.2 Device 2 Phases:

nonlin-lin-chaos-order-etc-etal commented 2 years ago

2 Test session 2

2.1 Device 1 Phases

2.2 Device 2 Phases

nonlin-lin-chaos-order-etc-etal commented 2 years ago
--------- beginning of system
2022-10-09 07:05:49.694  7128-7128  ActivityThread          org.purplei2p.i2pd                   W  Application org.purplei2p.i2pd is waiting for the debugger on port 8100...
--------- beginning of crash
2022-10-09 11:01:53.197 27226-27226 AndroidRuntime          org.purplei2p.i2pd                   E  FATAL EXCEPTION: main

java.lang.NullPointerException: Attempt to invoke virtual method
    'void org.purplei2p.i2pd.DaemonWrapper.addStateChangeListener(
        org.purplei2p.i2pd.DaemonWrapper$StateUpdateListener)'
    on a null object reference

    at org.purplei2p.i2pd.MyJobService.onStartJob(MyJobService.java:29)
    at android.app.job.JobService$1.onStartJob(JobService.java:62)
    at android.app.job.JobServiceEngine$JobHandler.handleMessage(JobServiceEngine.java:108)
    at android.os.Handler.dispatchMessage(Handler.java:106) 
    at android.os.Looper.loop(Looper.java:280) 
    at android.app.ActivityThread.main(ActivityThread.java:6706) 
    at java.lang.reflect.Method.invoke(Native Method) 
    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493) 
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858) 
nonlin-lin-chaos-order-etc-etal commented 2 years ago

3 Test session 3, device 1

nonlin-lin-chaos-order-etc-etal commented 2 years ago

<postsolarpunk_hypn> R4SAS, результаты уже чуть лучше - I2PDActivity уничтожилась и её скушал сборщик мусора, но i2pd JobService каждую минуту шлёт пинг и после этого <postsolarpunk_hypn> т.е. тред пинговалки живёт после I2PDActivity.onDestroy <postsolarpunk_hypn> правда реф на демон был в этой активити и стал нулл после мусорщика. и джоб ругалсо <postsolarpunk_hypn> ну, похоже, такая ситуация была <postsolarpunk_hypn> очень похоже

nonlin-lin-chaos-order-etc-etal commented 2 years ago

TBD take the fresh i2pd repo at i2pd module

<orignal> так модуль i2pd последний возьми
<postsolarpunk_hypn> можно. если настроение будет
<orignal> нужно
<orignal> ибо там много чего поменялось
nonlin-lin-chaos-order-etc-etal commented 2 years ago

This experiment has failed: Android has closed i2pd-android app after 50 hours of uptime.

nonlin-lin-chaos-order-etc-etal commented 2 years ago

logcat:

10-14 02:25:25.088 1694 1867 W BroadcastQueue: Background execution not allowed: receiving Intent { act=org.purplei2p.i2pd.MAKEMEAJOB_ACTION flg=0x10 } to org.purplei2p.i2pd/.receivers.MakeMeAJobReceiver

https://commonsware.com/blog/2017/04/11/android-o-implicit-broadcast-ban.html

https://www.google.com/search?channel=fs&client=ubuntu&q=BroadcastQueue%3A+Background+execution+not+allowed%3A+receiving+Intent

nonlin-lin-chaos-order-etc-etal commented 2 years ago

This experiment ( https://github.com/PurpleI2P/i2pd-android/pull/44/commits/0d116a0ec518435b824972449ae01bd59988bc18 ) has failed: Android has closed i2pd-android app after 10 hours of uptime.