frostwire / frostwire-jlibtorrent

A swig Java interface for libtorrent by the makers of FrostWire. Develop libtorrent based apps with the joy of coding in Java.
http://www.frostwire.com
MIT License
451 stars 138 forks source link

JLibtorrent crashes the app with Process exited due to signal (4) error on some Devices (e.g Oppo a37fw) with Android 5 (and its variants) #246

Closed vickyoo7 closed 3 years ago

vickyoo7 commented 3 years ago

Recently I updated to v1.2.10.0 of the library. But on some Oppo devices (Oppo a37fw) with Android 5 (these devices support 64bit instructions so Play store serves them arm64_v8a libs) my application crashes with Signal 4 (Illegal instruction). If i install the armeabi_v7a version of the apk then it doesn't crash. It was not an issue with v1.2.0.18. Unfortunately the log is very limited, the zygote process itself crashes. This is the only relevant log available in logcat

W/linker ( 8972): /data/app/idm.internet.download.manager-1/lib/arm64/libjlibtorrent-1.2.10.0.so: unused DT entry: type 0x6ffffef5 arg 0xa110 W/linker ( 8972): /data/app/idm.internet.download.manager-1/lib/arm64/libjlibtorrent-1.2.10.0.so: unused DT entry: type 0x6ffffffe arg 0xa2b38 W/linker ( 8972): /data/app/idm.internet.download.manager-1/lib/arm64/libjlibtorrent-1.2.10.0.so: unused DT entry: type 0x6fffffff arg 0x3 D/TelephonyProvider( 3284): simId = 0 D/TelephonyProvider( 3284): simId = 0 I/Zygote ( 554): Process 8972 exited due to signal (4)

gubatron commented 3 years ago

I'd take a look at changes in our build toolset for the 1.2.10.0 update for the Android Matrix. I remember we upgraded the linux distro and at least for ubuntu (x64/desktop) we also were forced to update gcc, perhaps this has something to do with this issue.

I'd try recompiling on your own with the older toolset and testing again.

vickyoo7 commented 3 years ago

I'd take a look at changes in our build toolset for the 1.2.10.0 update for the Android Matrix. I remember we upgraded the linux distro and at least for ubuntu (x64/desktop) we also were forced to update gcc, perhaps this has something to do with this issue.

I'd try recompiling on your own with the older toolset and testing again.

Thanks. Looking forward to a solution

gubatron commented 3 years ago

did this issue go away with 1.2.11?

vickyoo7 commented 3 years ago

did this issue go away with 1.2.11?

I was not able to compile the library myself. Was it fixed in 1.2.11? I'll ask the user to test and report back

gubatron commented 3 years ago

it'd be great if you could test with our build https://github.com/frostwire/frostwire-jlibtorrent/releases/tag/release%2F1.2.11.0

vickyoo7 commented 3 years ago

it'd be great if you could test with our build https://github.com/frostwire/frostwire-jlibtorrent/releases/tag/release%2F1.2.11.0

Sure, will do that and report back

vickyoo7 commented 3 years ago

it'd be great if you could test with our build https://github.com/frostwire/frostwire-jlibtorrent/releases/tag/release%2F1.2.11.0

The user is still facing same issue with 1.2.11.0

gubatron commented 3 years ago

Thank you @vickyoo7 , let's see how it goes with 1.2.12.

In the meantime I think this can help us find the bug https://stackoverflow.com/questions/33206409/unused-dt-entry-type-0x1d-arg

vickyoo7 commented 3 years ago

Thank you @vickyoo7 , let's see how it goes with 1.2.12.

In the meantime I think this can help us find the bug https://stackoverflow.com/questions/33206409/unused-dt-entry-type-0x1d-arg

Thank you for looking into this but I'm not very good with C/C++

gubatron commented 3 years ago

I think it'll be a matter of tweaking our build script and enabling/disabling some flags for the gcc linker when building ARM

gubatron commented 3 years ago

however, these are merely warnings

W/linker ( 8972): /data/app/idm.internet.download.manager-1/lib/arm64/libjlibtorrent-1.2.10.0.so: unused DT entry: type 0x6ffffef5 arg 0xa110
W/linker ( 8972): /data/app/idm.internet.download.manager-1/lib/arm64/libjlibtorrent-1.2.10.0.so: unused DT entry: type 0x6ffffffe arg 0xa2b38
W/linker ( 8972): /data/app/idm.internet.download.manager-1/lib/arm64/libjlibtorrent-1.2.10.0.so: unused DT entry: type 0x6fffffff arg 0x3
D/TelephonyProvider( 3284): simId = 0
D/TelephonyProvider( 3284): simId = 0
I/Zygote ( 554): Process 8972 exited due to signal (4)

We don't know for sure this is the cause of the crash.

More crashlogs would be helpful.

vickyoo7 commented 3 years ago

however, these are merely warnings

W/linker ( 8972): /data/app/idm.internet.download.manager-1/lib/arm64/libjlibtorrent-1.2.10.0.so: unused DT entry: type 0x6ffffef5 arg 0xa110
W/linker ( 8972): /data/app/idm.internet.download.manager-1/lib/arm64/libjlibtorrent-1.2.10.0.so: unused DT entry: type 0x6ffffffe arg 0xa2b38
W/linker ( 8972): /data/app/idm.internet.download.manager-1/lib/arm64/libjlibtorrent-1.2.10.0.so: unused DT entry: type 0x6fffffff arg 0x3
D/TelephonyProvider( 3284): simId = 0
D/TelephonyProvider( 3284): simId = 0
I/Zygote ( 554): Process 8972 exited due to signal (4)

We don't know for sure this is the cause of the crash.

More crashlogs would be helpful.

Unfortunately that's the only relevant log available

gubatron commented 3 years ago

perhaps this bug will be gone too with the new builds (1.2.13.0) re-built and uploaded today March 12, 2021.

vickyoo7 commented 3 years ago

perhaps this bug will be gone too with the new builds (1.2.13.0) re-built and uploaded today March 12, 2021.

Unfortunately the user is still having the same issue with version 1.2.13.0

gubatron commented 3 years ago

Please test with 1.2.14.0

gubatron commented 3 years ago

Closing