Closed nonlin-lin-chaos-order-etc-etal closed 5 months ago
<universalpunk_> о, я бинарник executable под андроидом из апк запустил
<universalpunk_> i2pd
<universalpunk_> jni теперь не будет
<universalpunk_> и должен жить вечно, как в InviZ Pro
<universalpunk_> и не убиваться системой
<universalpunk_> умаялся ковырять gradle
<universalpunk_> как обычно
<universalpunk_> теперь базовый UnixDaemon с обычным юниксовым main() запускается
<universalpunk_> на андроиде
<universalpunk_> готовлю PR
CI надо мне подправить
strip i2pd надо везде сделать
<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_> чтоб в андроиде тоже вылетало на локе
TBD и фантазии на тему ps|grep
тоже вычистить, андроид так не умеет
<un> ты проверь на ведре пашет ли lockf
<un> если да - то убери ifndef
/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.
android test failed - i2pd process gets spontaneously closed, with no relevant info in i2pd.log (with debug loglevel)
lockf via flock https://stackoverflow.com/a/24170314/529442
андроид утомил
<universalpunk_> андроид заебал
<universalpunk_> стопает и2пд for no reason
<universalpunk_> и2пд причём никаких матюков в дебаг лог не плюет
<orignal> я не понимаю как должно работать под ведро
<universalpunk_> я тож не понимаю как быть
<universalpunk_> orignal, крч InviZible Pro пашет, пусть юзают.
Почему пашет - хз, автор не знает толком мы разговаривали
<orignal> а что это такое?
<universalpunk_> под андройд враппер для i2pd, dnscrypt и tor
<universalpunk_> он месяцами аптайм держит
strip: Невозможно определить формат входного файла «arm64-v8a/i2pd»
strip: Невозможно определить формат входного файла «armeabi-v7a/i2pd»
Need to use the correct strip
from ndk toolchain
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
"ты можешь запустить процесс а stdout/stderr в файл перенаправить - и прочитать что пишет."
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)
investigate gdb_server stuff
щас сначала доделаю, а потом заберите реп https://github.com/nonlin-lin-chaos-order-etc-etal/i2pd-android-libs в PurpleI2P org - этот коммент будет в pr62 @r4sas
выношу либы в соседний реп чтоб андроид студия бусты всякие не индексила по 2 часа
чёт разжирел мой пулл реквест, надо всё заново делать, будет ветка feat50take2
to be redone as feat50take4
A link: #50