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

Fix for #50 (very large change) #62

Draft
wants to merge 15 commits into
base: master
Choose a base branch
from

Conversation

nonlin-lin-chaos-order-etc-etal
Copy link
Member

A link: #50

@nonlin-lin-chaos-order-etc-etal
Copy link
Member Author

<universalpunk_> о, я бинарник executable под андроидом из апк запустил
<universalpunk_> i2pd
<universalpunk_> jni теперь не будет
<universalpunk_> и должен жить вечно, как в InviZ Pro
<universalpunk_> и не убиваться системой
<universalpunk_> умаялся ковырять gradle
<universalpunk_> как обычно
<universalpunk_> теперь базовый UnixDaemon с обычным юниксовым main() запускается
<universalpunk_> на андроиде
<universalpunk_> готовлю PR

@nonlin-lin-chaos-order-etc-etal
Copy link
Member Author

CI надо мне подправить

@nonlin-lin-chaos-order-etc-etal
Copy link
Member Author

strip i2pd надо везде сделать

@nonlin-lin-chaos-order-etc-etal nonlin-lin-chaos-order-etc-etal marked this pull request as ready for review April 4, 2024 07:16
@nonlin-lin-chaos-order-etc-etal nonlin-lin-chaos-order-etc-etal marked this pull request as draft April 5, 2024 18:30
@nonlin-lin-chaos-order-etc-etal
Copy link
Member Author

<universalpunk_> <universalpunk_> сука в андройде ps кривой
<universalpunk_> <universalpunk_> пиздец а не ps
<universalpunk_> <universalpunk_> и /proc/ анально ограниченный
<universalpunk_> <universalpunk_> как вычислить по pid i2pd запущен он щас или нет - хз
<universalpunk_> <universalpunk_> orignal, если второй процесс и2пд будет локать этот же пидфайл, у него исключение выскочит и процесс завершится?
<orignal> завершится
<orignal> потому что не сможет открыть этот файл
<universalpunk_> #ifndef ANDROID
<universalpunk_>     if (lockf(pidFH, F_TLOCK, 0) != 0)
<universalpunk_>     {
<universalpunk_>      LogPrint(eLogError, "Daemon: Could not lock pid file ", pidfile, ": ", strerror(errno));
<universalpunk_>      std::cerr << "i2pd: Could not lock pid file " << pidfile << ": " << strerror(errno) << std::endl;
<universalpunk_>      return false;
<universalpunk_>     }
<universalpunk_> #endif
<universalpunk_> orignal, нахуя там ифндев этот?
<universalpunk_> ифндеф
<universalpunk_> https://github.com/PurpleI2P/i2pd/blob/4f1cb74f755cbc3b880e5e9547a74215afaa3077/daemon/UnixDaemon.cpp#L163C1-L170C7
<orignal> думаю это ты его поставил
<universalpunk_> ща блейм гляну
<universalpunk_> unlnown542a committed on Apr 22, 2018 
<universalpunk_> un, ты напакостил?
<orignal> наверное там такой функции нет
<universalpunk_> да собиралось же с ней
<universalpunk_> un, ты помнишь нах этот ифндеф?
<universalpunk_> вот мне хочется его удалить
<universalpunk_> чтоб в андроиде тоже вылетало на локе

@nonlin-lin-chaos-order-etc-etal
Copy link
Member Author

TBD и фантазии на тему ps|grep тоже вычистить, андроид так не умеет

@nonlin-lin-chaos-order-etc-etal
Copy link
Member Author

<un> ты проверь на ведре пашет ли lockf
<un> если да - то убери ifndef

@nonlin-lin-chaos-order-etc-etal
Copy link
Member Author

/ssd1/vcs_ssd1/i2pd-android/binary/jni/i2pd/daemon/i2pd.cpp:68:9: error: use of undeclared identifier 'lockf'
    if (lockf(pidFH, F_TLOCK, 0) != 0)
        ^
1 error generated.

@nonlin-lin-chaos-order-etc-etal
Copy link
Member Author

android test failed - i2pd process gets spontaneously closed, with no relevant info in i2pd.log (with debug loglevel)

@nonlin-lin-chaos-order-etc-etal
Copy link
Member Author

lockf via flock https://stackoverflow.com/a/24170314/529442

@nonlin-lin-chaos-order-etc-etal
Copy link
Member Author

андроид утомил

@nonlin-lin-chaos-order-etc-etal
Copy link
Member Author

<universalpunk_> андроид заебал
<universalpunk_> стопает и2пд for no reason
<universalpunk_> и2пд причём никаких матюков в дебаг лог не плюет
<orignal>  я не понимаю как должно работать под ведро
<universalpunk_> я тож не понимаю как быть
<universalpunk_> orignal, крч InviZible Pro пашет, пусть юзают. 
Почему пашет - хз, автор не знает толком мы разговаривали
<orignal> а что это такое?
<universalpunk_> под андройд враппер для i2pd, dnscrypt и tor
<universalpunk_> он месяцами аптайм держит

@nonlin-lin-chaos-order-etc-etal
Copy link
Member Author

strip: Невозможно определить формат входного файла «arm64-v8a/i2pd»
strip: Невозможно определить формат входного файла «armeabi-v7a/i2pd»

Need to use the correct strip from ndk toolchain

@nonlin-lin-chaos-order-etc-etal
Copy link
Member Author

crash when used dmesg for diagnostics:

--------- beginning of crash
04-13 15:41:30.234 13322 13322 F libc    : Fatal signal 31 (SIGSYS), code 1 (SYS_SECCOMP) in tid 13322 (dmesg), pid 13322 (dmesg)
04-13 15:41:30.376 13326 13326 F DEBUG   : *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
04-13 15:41:30.376 13326 13326 F DEBUG   : Build fingerprint: 'Sony/H4213/H4213:9/50.2.A.3.77/357852492:user/release-keys'
04-13 15:41:30.376 13326 13326 F DEBUG   : Revision: '0'
04-13 15:41:30.376 13326 13326 F DEBUG   : ABI: 'arm64'
04-13 15:41:30.376 13326 13326 F DEBUG   : pid: 13322, tid: 13322, name: dmesg  >>> dmesg <<<
04-13 15:41:30.377 13326 13326 F DEBUG   : signal 31 (SIGSYS), code 1 (SYS_SECCOMP), fault addr --------
04-13 15:41:30.377 13326 13326 F DEBUG   : Cause: seccomp prevented call to disallowed arm64 system call 116
04-13 15:41:30.377 13326 13326 F DEBUG   :     x0  000000000000000a  x1  0000000000000000  x2  0000000000000000  x3  0000000000000000
04-13 15:41:30.377 13326 13326 F DEBUG   :     x4  0000000040100401  x5  80802000a8a8a080  x6  4523ff79241f5324  x7  7f7f7f7f7f7f7f7f
04-13 15:41:30.377 13326 13326 F DEBUG   :     x8  0000000000000074  x9  00000055750b5406  x10 0000007fc9f61068  x11 dc5425a8074948a1
04-13 15:41:30.377 13326 13326 F DEBUG   :     x12 0000007fc9f610b0  x13 000000740182d010  x14 0000000000000000  x15 aaaaaaaaaaaaaaab
04-13 15:41:30.377 13326 13326 F DEBUG   :     x16 00000055750f1af8  x17 00000074020890bc  x18 0000000000000001  x19 00000000ffffffff
04-13 15:41:30.377 13326 13326 F DEBUG   :     x20 0000000000000000  x21 000000740261a5e0  x22 00000055750f3888  x23 00000055750f7930
04-13 15:41:30.377 13326 13326 F DEBUG   :     x24 0000000000000000  x25 0000000000000000  x26 0000000000000000  x27 0000000000000000
04-13 15:41:30.377 13326 13326 F DEBUG   :     x28 0000000000000000  x29 0000007fc9f610f0
04-13 15:41:30.377 13326 13326 F DEBUG   :     sp  0000007fc9f610f0  lr  0000005575087484  pc  00000074020890c4
04-13 15:41:30.380 13326 13326 F DEBUG   : 
04-13 15:41:30.380 13326 13326 F DEBUG   : backtrace:
04-13 15:41:30.380 13326 13326 F DEBUG   :     #00 pc 000000000007d0c4  /system/lib64/libc.so (klogctl+8)
04-13 15:41:30.380 13326 13326 F DEBUG   :     #01 pc 0000000000015480  /system/bin/toybox (xklogctl+8)
04-13 15:41:30.380 13326 13326 F DEBUG   :     #02 pc 0000000000015184  /system/bin/toybox (dmesg_main+400)
04-13 15:41:30.381 13326 13326 F DEBUG   :     #03 pc 0000000000014798  /system/bin/toybox (toy_exec+104)
04-13 15:41:30.381 13326 13326 F DEBUG   :     #04 pc 00000000000143e4  /system/bin/toybox (toybox_main+48)
04-13 15:41:30.381 13326 13326 F DEBUG   :     #05 pc 0000000000014850  /system/bin/toybox (main+120)
04-13 15:41:30.381 13326 13326 F DEBUG   :     #06 pc 00000000000ca3fc  /system/lib64/libc.so (__libc_init+88)

говорят это от юзера не зависит - сискаллы в черном списке вопще могут быть

seccomp сорцы тут https://github.com/aosp-mirror/platform_bionic/tree/master/libc

@nonlin-lin-chaos-order-etc-etal
Copy link
Member Author

"ты можешь запустить процесс а stdout/stderr в файл перенаправить - и прочитать что пишет."

@nonlin-lin-chaos-order-etc-etal
Copy link
Member Author

04-16 05:17:03.992 18502 18527 F libc    : Fatal signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x0 in tid 18527 (Transports), pid 18502 (libi2pd.so)
04-16 05:17:04.148  2074  2074 F DEBUG   : *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
04-16 05:17:04.149  2074  2074 F DEBUG   : Build fingerprint: 'Sony/H4213/H4213:9/50.2.A.3.77/357852492:user/release-keys'
04-16 05:17:04.149  2074  2074 F DEBUG   : Revision: '0'
04-16 05:17:04.149  2074  2074 F DEBUG   : ABI: 'arm64'
04-16 05:17:04.149  2074  2074 F DEBUG   : pid: 18502, tid: 18527, name: Transports  >>> /data/app/org.purplei2p.i2pd-6Kla4bAQQcmeacpwoSbVJA==/lib/arm64/libi2pd.so <<<
04-16 05:17:04.149  2074  2074 F DEBUG   : signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x0
04-16 05:17:04.149  2074  2074 F DEBUG   : Cause: null pointer dereference
04-16 05:17:04.149  2074  2074 F DEBUG   :     x0  0000007742f49180  x1  0000007743338f80  x2  0000007742c2c208  x3  00000061c84988c0
04-16 05:17:04.149  2074  2074 F DEBUG   :     x4  0000007742a02d40  x5  0000007742a02d0b  x6  00000000000000e3  x7  00000000000000ad
04-16 05:17:04.149  2074  2074 F DEBUG   :     x8  0000007742f49080  x9  0000007742e17100  x10 0000000000000000  x11 0000000000000000
04-16 05:17:04.149  2074  2074 F DEBUG   :     x12 0000000000000018  x13 00000000661d994f  x14 003a5e5151d2fe15  x15 0000b4cbc5d42d1e
04-16 05:17:04.149  2074  2074 F DEBUG   :     x16 0000007743c1cbd0  x17 0000007743b9f798  x18 0000000000000010  x19 00000077414a2a08
04-16 05:17:04.149  2074  2074 F DEBUG   :     x20 0000007742c2c208  x21 0000007743338f80  x22 0000007742e17100  x23 0000007742e17100
04-16 05:17:04.149  2074  2074 F DEBUG   :     x24 00000077436bb218  x25 0000007742a03588  x26 00000077416be0b8  x27 00000061c7f063ac
04-16 05:17:04.149  2074  2074 F DEBUG   :     x28 00000061c7ee5be9  x29 0000007742a02e00
04-16 05:17:04.149  2074  2074 F DEBUG   :     sp  0000007742a02e00  lr  00000061c8030604  pc  00000061c7ff6cfc
04-16 05:17:04.182  2074  2074 F DEBUG   : 
04-16 05:17:04.182  2074  2074 F DEBUG   : backtrace:
04-16 05:17:04.182  2074  2074 F DEBUG   :     #00 pc 0000000000202cfc  /data/app/org.purplei2p.i2pd-6Kla4bAQQcmeacpwoSbVJA==/lib/arm64/libi2pd.so
04-16 05:17:04.182  2074  2074 F DEBUG   :     #01 pc 000000000023c600  /data/app/org.purplei2p.i2pd-6Kla4bAQQcmeacpwoSbVJA==/lib/arm64/libi2pd.so
04-16 05:17:04.182  2074  2074 F DEBUG   :     #02 pc 00000000002a0c98  /data/app/org.purplei2p.i2pd-6Kla4bAQQcmeacpwoSbVJA==/lib/arm64/libi2pd.so
04-16 05:17:04.182  2074  2074 F DEBUG   :     #03 pc 00000000002a1cfc  /data/app/org.purplei2p.i2pd-6Kla4bAQQcmeacpwoSbVJA==/lib/arm64/libi2pd.so
04-16 05:17:04.182  2074  2074 F DEBUG   :     #04 pc 00000000002a487c  /data/app/org.purplei2p.i2pd-6Kla4bAQQcmeacpwoSbVJA==/lib/arm64/libi2pd.so
04-16 05:17:04.183  2074  2074 F DEBUG   :     #05 pc 0000000000375038  /data/app/org.purplei2p.i2pd-6Kla4bAQQcmeacpwoSbVJA==/lib/arm64/libi2pd.so
04-16 05:17:04.183  2074  2074 F DEBUG   :     #06 pc 000000000037e6b4  /data/app/org.purplei2p.i2pd-6Kla4bAQQcmeacpwoSbVJA==/lib/arm64/libi2pd.so
04-16 05:17:04.183  2074  2074 F DEBUG   :     #07 pc 0000000000236a6c  /data/app/org.purplei2p.i2pd-6Kla4bAQQcmeacpwoSbVJA==/lib/arm64/libi2pd.so
04-16 05:17:04.183  2074  2074 F DEBUG   :     #08 pc 00000000002365e8  /data/app/org.purplei2p.i2pd-6Kla4bAQQcmeacpwoSbVJA==/lib/arm64/libi2pd.so
04-16 05:17:04.183  2074  2074 F DEBUG   :     #09 pc 0000000000371b3c  /data/app/org.purplei2p.i2pd-6Kla4bAQQcmeacpwoSbVJA==/lib/arm64/libi2pd.so
04-16 05:17:04.183  2074  2074 F DEBUG   :     #10 pc 000000000038008c  /data/app/org.purplei2p.i2pd-6Kla4bAQQcmeacpwoSbVJA==/lib/arm64/libi2pd.so
04-16 05:17:04.183  2074  2074 F DEBUG   :     #11 pc 0000000000091fac  /system/lib64/libc.so (__pthread_start(void*)+36)
04-16 05:17:04.183  2074  2074 F DEBUG   :     #12 pc 0000000000023968  /system/lib64/libc.so (__start_thread+68)

@nonlin-lin-chaos-order-etc-etal
Copy link
Member Author

investigate gdb_server stuff

@nonlin-lin-chaos-order-etc-etal
Copy link
Member Author

щас сначала доделаю, а потом заберите реп https://github.com/nonlin-lin-chaos-order-etc-etal/i2pd-android-libs в PurpleI2P org - этот коммент будет в pr62 @r4sas

выношу либы в соседний реп чтоб андроид студия бусты всякие не индексила по 2 часа

@nonlin-lin-chaos-order-etc-etal
Copy link
Member Author

чёт разжирел мой пулл реквест, надо всё заново делать, будет ветка feat50take2

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant