box64 icon indicating copy to clipboard operation
box64 copied to clipboard

Otohits segfaults

Open ElDavoo opened this issue 4 years ago • 10 comments

Hello, This closed-source app segfaults. otohits-app should launch and control otohits-viewer, which is essentially an headless chromium. However it just crashes. My sistem is a Raspberry Pi 4 with standard RaspiOS arm64.

Box64 with trace with Dynarec v0.1.3 5cc3512 built on Aug 22 2021 23:11:51
Using default BOX64_LD_LIBRARY_PATH: ./:lib/:lib64/:x86_64/:bin64/:libs64/
Using default BOX64_PATH: ./:bin/
Counted 24 Env var
Looking for ./otohits-app
Using native(wrapped) libpthread.so.0
Using native(wrapped) libc.so.6
Using native(wrapped) ld-linux-x86-64.so.2
Using native(wrapped) librt.so.1
0512|SIGSEGV @0x648eb670 (???(/usr/local/bin/box64/0x648eb670)) (x64pc=0xffffffffff600001/???:"???", rsp=0x7fa346f458, stack=0x7fa2c70000:0x7fa3470000 own=(nil) fp=0x7fa346f478), for accessing 0xffffffffff600000 (code=1/prot=0), db=(nil)((nil):(nil)/(nil):(nil)/???:clean, hash:0/0) handler=(nil)
Segmentation fault

nodynarec.txt dynarec.txt

ElDavoo avatar Aug 22 '21 21:08 ElDavoo

After some analysis, I think the crash is due to the lack of vDSO emulation. I'll try to add that later.

ptitSeb avatar Aug 23 '21 15:08 ptitSeb

Lacking vDSO might also cause #97 .

ElDavoo avatar Aug 23 '21 16:08 ElDavoo

lack of vDSO emulation

FEX has some more detail on vDSO and vsyscall (here and here.)

ElDavoo avatar Sep 01 '21 14:09 ElDavoo

Things got further:

$ box64 ./otohits-app
Dynarec for ARM64, with extension: ASIMD CRC32 PageSize:4096
Box64 with Dynarec v0.1.5 e3552be built on Sep 13 2021 13:28:36
Using default BOX64_LD_LIBRARY_PATH: ./:lib/:lib64/:x86_64/:bin64/:libs64/
Using default BOX64_PATH: ./:bin/
Counted 24 Env var
Looking for ./otohits-app
Using native(wrapped) libpthread.so.0
Using native(wrapped) libc.so.6
Using native(wrapped) ld-linux-x86-64.so.2
Using native(wrapped) librt.so.1
Warning, context has been changed in Sigactionhanlder (EIP changed)
$ box64 ./otohits-viewer
...libraries
<GoogleModuleObject> constructing: atomicops_x86
RemoveNewHook(0x7f8c3d5050)
RemovePreMmapHook(0x7f8c3db940)
RemovePreSbrkHook(0x7f8c3e70b8)
Start Browser
[2021-09-13 14:37:59][Info]  => ****************************************************************************************************
[2021-09-13 14:37:59][Info]  => Starting Viewer: 5068
[2021-09-13 14:37:59][Info]  => CEF: 78.3.4+ge17bba6+chromium-78.0.3904.108 -- Chrome: 78.0.3904.108
Error: PltResolver: Symbol MD5(ver 20: MD5@OPENSSL_1.0.0) not found, cannot apply R_X86_64_JUMP_SLOT 0x7f98ae4dd0 (0x7f986b9766) in ./otohits-viewer
<GoogleModuleObject> destroying: atomicops_x86
$ BOX64_LD_PRELOAD=/home/pi/otohits/libcrypto.so.1.0.0 box64 ./otohits-viewer
...libraries
<GoogleModuleObject> constructing: atomicops_x86
RemoveNewHook(0x7f8948a050)
RemovePreMmapHook(0x7f89490940)
RemovePreSbrkHook(0x7f8949c0b8)
Start Browser
[2021-09-13 14:38:22][Info]  => ****************************************************************************************************
[2021-09-13 14:38:22][Info]  => Starting Viewer: 5068
[2021-09-13 14:38:22][Info]  => CEF: 78.3.4+ge17bba6+chromium-78.0.3904.108 -- Chrome: 78.0.3904.108
[2021-09-13 14:38:22][Info]  => No arguments given, will test the browser
Error: Unsupported libc Syscall 0x76 (118)
<GoogleModuleObject> destroying: atomicops_x86
Stop waiting for remaining thread 30639
Annullato

ElDavoo avatar Sep 13 '21 14:09 ElDavoo

Error: Unsupported libc Syscall 0x78 (120) I have a question: why do you wrap syscalls manually, one at a time, when requested? wouldn't it be faster to add all syscalls in one go?

ElDavoo avatar Sep 13 '21 21:09 ElDavoo

{ 120, __NR_getresgid, 3},

ElDavoo avatar Sep 13 '21 21:09 ElDavoo

Error: PltResolver: Symbol clone(ver 2: clone@GLIBC_2.2.5) not found, cannot apply R_X86_64_JUMP_SLOT 0x7f992446a8 (0x7f98c13f56) in libcef.so

The clone syscall strikes again :/

ElDavoo avatar Sep 13 '21 21:09 ElDavoo

Error: Unsupported libc Syscall 0x78 (120) I have a question: why do you wrap syscalls manually, one at a time, when requested? wouldn't it be faster to add all syscalls in one go?

Some syscall needs manual wrapping, and I prefer to rely on wrapped libs than syscall, so not that many syscall are needed in fact.

{ 120, __NR_getresgid, 3},

Thanks, I'll add that later.

Error: PltResolver: Symbol clone(ver 2: clone@GLIBC_2.2.5) not found, cannot apply R_X86_64_JUMP_SLOT 0x7f992446a8 (0x7f98c13f56) in libcef.so

The clone syscall strikes again :/

Probably not a good sign. I guess it crashed and want to just launch gdb for some backtrace?

ptitSeb avatar Sep 14 '21 07:09 ptitSeb

./otohits-viewer went further on build based on last commit

[2022-04-18 15:21:32][Info]  => No arguments given, will test the browser
Dynarec for ARM64, with extension: ASIMD CRC32 PageSize:4096
Box64 with Dynarec v0.1.9 8d9d5f3 built on Apr 18 2022 13:57:07
Using default BOX64_LD_LIBRARY_PATH: ./:lib/:lib64/:x86_64/:bin64/:libs64/
Using default BOX64_PATH: ./:bin/
Counted 27 Env var
Looking for /home/pi/otohits/otohits-viewer
argv[1]="--type=zygote"
argv[2]="--locales-dir-path=/home/pi/otohits/resources/locales"
argv[3]="--log-file=/home/pi/otohits/logs/debug.log"
argv[4]="--log-severity=error"
argv[5]="--resources-dir-path=/home/pi/otohits/resources"
argv[6]="--lang=en-US"
Using emulated libcef.so
Using native(wrapped) libX11.so.6
Using native(wrapped) libgtk-x11-2.0.so.0
Using native(wrapped) libgdk-x11-2.0.so.0
Using native(wrapped) libgobject-2.0.so.0
Using native(wrapped) libglib-2.0.so.0
Using native(wrapped) libgio-2.0.so.0
Using native(wrapped) libgmodule-2.0.so.0
Using native(wrapped) libgdk_pixbuf-2.0.so.0
Using native(wrapped) libpangocairo-1.0.so.0
Using native(wrapped) libpango-1.0.so.0
Using native(wrapped) libGL.so.1
Using emulated libcrypto.so.1.0.0
Using emulated /lib/x86_64-linux-gnu/libstdc++.so.6
Using native(wrapped) libm.so.6
Using emulated /lib/x86_64-linux-gnu/libgcc_s.so.1
Using native(wrapped) libpthread.so.0
Using native(wrapped) libc.so.6
Using native(wrapped) ld-linux-x86-64.so.2
Using native(wrapped) librt.so.1
Using native(wrapped) libdl.so.2
Using native(wrapped) libnss3.so
Using native(wrapped) libnssutil3.so
Using native(wrapped) libsmime3.so
Using native(wrapped) libnspr4.so
Using native(wrapped) libfontconfig.so.1
Using native(wrapped) libexpat.so.1
Using native(wrapped) libX11-xcb.so.1
Using native(wrapped) libxcb.so.1
Using native(wrapped) libXcomposite.so.1
Using native(wrapped) libXcursor.so.1
Using native(wrapped) libXdamage.so.1
Using native(wrapped) libXext.so.6
Using native(wrapped) libXau.so.6
Using native(wrapped) libXdmcp.so.6
Using native(wrapped) libXfixes.so.3
Using native(wrapped) libXi.so.6
Using native(wrapped) libXrender.so.1
Using native(wrapped) libXtst.so.6
Using native(wrapped) libXrandr.so.2
Using native(wrapped) libXss.so.1
Using native(wrapped) libdbus-1.so.3
Using native(wrapped) libasound.so.2
Using native(wrapped) libatk-1.0.so.0
Using native(wrapped) libatk-bridge-2.0.so.0
Using native(wrapped) libSM.so.6
Using native(wrapped) libICE.so.6
Using native(wrapped) libcups.so.2
Using native(wrapped) libatspi.so.0
Start Renderer
Warning: Unsupported libc Syscall 0x13D (317)

./otohits-app did not progress.

ElDavoo avatar Apr 18 '22 15:04 ElDavoo

Thing went further. Test with latest commit:

Dynarec for ARM64, with extension: ASIMD CRC32 PageSize:4096
Box64 with Dynarec v0.1.9 f2a0a1b built on Sep 20 2022 10:28:18
Using default BOX64_LD_LIBRARY_PATH: ./:lib/:lib64/:x86_64/:bin64/:libs64/
Using default BOX64_PATH: ./:bin/
Counted 24 Env var
Looking for ./otohits-app
Rename process to "otohits-app"
Using native(wrapped) libpthread.so.0
Using native(wrapped) libc.so.6
Using native(wrapped) ld-linux-x86-64.so.2
Using native(wrapped) librt.so.1
Error: Unsupported Syscall 0x10Bh (267)
Stop waiting for remaining thread 694959
Stop waiting for remaining thread 694960
Stop waiting for remaining thread 694961
Stop waiting for remaining thread 694962
Stop waiting for remaining thread 694963
Segmentation fault
Dynarec for ARM64, with extension: ASIMD CRC32 PageSize:4096
Box64 with Dynarec v0.1.9 f2a0a1b built on Sep 20 2022 10:28:18
Using default BOX64_LD_LIBRARY_PATH: ./:lib/:lib64/:x86_64/:bin64/:libs64/
Using default BOX64_PATH: ./:bin/
Counted 24 Env var
Looking for ./otohits-viewer
Rename process to "otohits-viewer"
Using emulated libcef.so
Using native(wrapped) libX11.so.6
Using native(wrapped) libgtk-x11-2.0.so.0
Using native(wrapped) libgdk-x11-2.0.so.0
Using native(wrapped) libgobject-2.0.so.0
Using native(wrapped) libglib-2.0.so.0
Using native(wrapped) libgio-2.0.so.0
Using native(wrapped) libgmodule-2.0.so.0
Using native(wrapped) libgdk_pixbuf-2.0.so.0
Using native(wrapped) libpangocairo-1.0.so.0
Using native(wrapped) libpango-1.0.so.0
Using native(wrapped) libGL.so.1
Using emulated libcrypto.so.1.0.0
Using emulated /lib/x86_64-linux-gnu/libstdc++.so.6
Using native(wrapped) libm.so.6
Using emulated /lib/x86_64-linux-gnu/libgcc_s.so.1
Using native(wrapped) libpthread.so.0
Using native(wrapped) libc.so.6
Using native(wrapped) ld-linux-x86-64.so.2
Using native(wrapped) librt.so.1
Using native(wrapped) libdl.so.2
Using native(wrapped) libnss3.so
Using native(wrapped) libnssutil3.so
Using native(wrapped) libsmime3.so
Using native(wrapped) libnspr4.so
Using native(wrapped) libfontconfig.so.1
Using native(wrapped) libexpat.so.1
Using native(wrapped) libX11-xcb.so.1
Using native(wrapped) libxcb.so.1
Using native(wrapped) libXcomposite.so.1
Using native(wrapped) libXcursor.so.1
Using native(wrapped) libXdamage.so.1
Using native(wrapped) libXext.so.6
Using native(wrapped) libXau.so.6
Using native(wrapped) libXdmcp.so.6
Using native(wrapped) libXfixes.so.3
Using native(wrapped) libXi.so.6
Using native(wrapped) libXrender.so.1
Using native(wrapped) libXtst.so.6
Using native(wrapped) libXrandr.so.2
Using native(wrapped) libXss.so.1
Using native(wrapped) libdbus-1.so.3
Using native(wrapped) libasound.so.2
Using native(wrapped) libatk-1.0.so.0
Using native(wrapped) libatk-bridge-2.0.so.0
Using native(wrapped) libSM.so.6
Using native(wrapped) libICE.so.6
Using native(wrapped) libcups.so.2
Using native(wrapped) libatspi.so.0
Start Browser
[2022-09-20 08:41:17][Info]  => ****************************************************************************************************
[2022-09-20 08:41:17][Info]  => Starting Viewer: 5068
[2022-09-20 08:41:17][Info]  => CEF: 78.3.4+ge17bba6+chromium-78.0.3904.108 -- Chrome: 78.0.3904.108
[2022-09-20 08:41:17][Info]  => No arguments given, will test the browser
Dynarec for ARM64, with extension: ASIMD CRC32 PageSize:4096
Box64 with Dynarec v0.1.9 f2a0a1b built on Sep 20 2022 10:28:18
BOX64_LD_LIBRARY_PATH: ./:lib/:lib64/
BOX64_PATH: ./:bin/
Counted 27 Env var
Looking for /home/pi/otohits/otohits-viewer
argv[1]="--type=zygote"
argv[2]="--locales-dir-path=/home/pi/otohits/resources/locales"
argv[3]="--log-file=/home/pi/otohits/logs/debug.log"
argv[4]="--log-severity=error"
argv[5]="--resources-dir-path=/home/pi/otohits/resources"
argv[6]="--lang=en-US"
Rename process to "otohits-viewer"
Using emulated libcef.so
Using native(wrapped) libX11.so.6
Using native(wrapped) libgtk-x11-2.0.so.0
Using native(wrapped) libgdk-x11-2.0.so.0
Using native(wrapped) libgobject-2.0.so.0
Using native(wrapped) libglib-2.0.so.0
Using native(wrapped) libgio-2.0.so.0
Using native(wrapped) libgmodule-2.0.so.0
Using native(wrapped) libgdk_pixbuf-2.0.so.0
Using native(wrapped) libpangocairo-1.0.so.0
Using native(wrapped) libpango-1.0.so.0
Using native(wrapped) libGL.so.1
Using emulated libcrypto.so.1.0.0
Using emulated /lib/x86_64-linux-gnu/libstdc++.so.6
Using native(wrapped) libm.so.6
Using emulated /lib/x86_64-linux-gnu/libgcc_s.so.1
Using native(wrapped) libpthread.so.0
Using native(wrapped) libc.so.6
Using native(wrapped) ld-linux-x86-64.so.2
Using native(wrapped) librt.so.1
Using native(wrapped) libdl.so.2
Using native(wrapped) libnss3.so
Using native(wrapped) libnssutil3.so
Using native(wrapped) libsmime3.so
Using native(wrapped) libnspr4.so
Using native(wrapped) libfontconfig.so.1
Using native(wrapped) libexpat.so.1
Using native(wrapped) libX11-xcb.so.1
Using native(wrapped) libxcb.so.1
Using native(wrapped) libXcomposite.so.1
Using native(wrapped) libXcursor.so.1
Using native(wrapped) libXdamage.so.1
Using native(wrapped) libXext.so.6
Using native(wrapped) libXau.so.6
Using native(wrapped) libXdmcp.so.6
Using native(wrapped) libXfixes.so.3
Using native(wrapped) libXi.so.6
Using native(wrapped) libXrender.so.1
Using native(wrapped) libXtst.so.6
Using native(wrapped) libXrandr.so.2
Using native(wrapped) libXss.so.1
Using native(wrapped) libdbus-1.so.3
Using native(wrapped) libasound.so.2
Using native(wrapped) libatk-1.0.so.0
Using native(wrapped) libatk-bridge-2.0.so.0
Using native(wrapped) libSM.so.6
Using native(wrapped) libICE.so.6
Using native(wrapped) libcups.so.2
Using native(wrapped) libatspi.so.0
Start Renderer
[0920/104121.523362:ERROR:browser_main_loop.cc(1486)] Unable to open X display.
694984|SIGSEGV @0x64b8b130 (???(./otohits-viewer+0x64b8b130)) (x64pc=0x100353/???:"???", rsp=0x7f877fe018, stack=0x7f86fff000:0x7f877ff000 own=0x7f86fff000 fp=0x7f877fe060), for accessing 0x1000c0 (code=1/prot=0), db=(nil)((nil):(nil)/(nil):(nil)/???:clean, hash:0/0) handler=(nil)
RSP-0x20:0x0000007f74042c80 RSP-0x18:0x0000000000000000 RSP-0x10:0x0000007f74042c80 RSP-0x08:0x0000007f877fe038
RSP+0x00:0x0000007f9ff905ec RSP+0x08:0x0000007f877fe060 RSP+0x10:0x0000007fa61a003a RSP+0x18:0x0000007faa668db8
Segmentation fault

otohits-viewer probably crashed because of the lack of an X display, not because of a problem with box64.

ElDavoo avatar Sep 20 '22 08:09 ElDavoo

Dynarec for ARM64, with extension: ASIMD CRC32 PageSize:4096 Cores:4
Params database has 11 entries
Box64 with Dynarec v0.2.1 75083907 built on Dec 27 2022 18:12:43
Using default BOX64_LD_LIBRARY_PATH: ./:lib/:lib64/:x86_64/:bin64/:libs64/
Using default BOX64_PATH: ./:bin/
Counted 24 Env var
Looking for ./otohits-app
Rename process to "otohits-app"
Using native(wrapped) libpthread.so.0
Using native(wrapped) libc.so.6
Using native(wrapped) ld-linux-x86-64.so.2
Using native(wrapped) librt.so.1
Errore di bus
Dynarec for ARM64, with extension: ASIMD CRC32 PageSize:4096 Cores:4
Params database has 11 entries
Box64 with Dynarec v0.2.1 75083907 built on Dec 27 2022 18:12:43
Using default BOX64_LD_LIBRARY_PATH: ./:lib/:lib64/:x86_64/:bin64/:libs64/
Using default BOX64_PATH: ./:bin/
Counted 24 Env var
Looking for ./otohits-viewer
Rename process to "otohits-viewer"
Using emulated libcef.so
Using native(wrapped) libX11.so.6
Using native(wrapped) libgtk-x11-2.0.so.0
Using native(wrapped) libgdk-x11-2.0.so.0
Using native(wrapped) libgobject-2.0.so.0
Using native(wrapped) libglib-2.0.so.0
Using native(wrapped) libgio-2.0.so.0
Using native(wrapped) libgmodule-2.0.so.0
Using native(wrapped) libgdk_pixbuf-2.0.so.0
Using native(wrapped) libpangocairo-1.0.so.0
Using native(wrapped) libpango-1.0.so.0
Using native(wrapped) libGL.so.1
Using emulated libcrypto.so.1.0.0
Using emulated /lib/x86_64-linux-gnu/libstdc++.so.6
Using native(wrapped) libm.so.6
Using emulated /lib/x86_64-linux-gnu/libgcc_s.so.1
Using native(wrapped) libpthread.so.0
Using native(wrapped) libc.so.6
Using native(wrapped) ld-linux-x86-64.so.2
Using native(wrapped) librt.so.1
Using native(wrapped) libdl.so.2
Using native(wrapped) libnss3.so
Using native(wrapped) libnssutil3.so
Using native(wrapped) libsmime3.so
Using native(wrapped) libnspr4.so
Using native(wrapped) libfontconfig.so.1
Using native(wrapped) libexpat.so.1
Using native(wrapped) libX11-xcb.so.1
Using native(wrapped) libxcb.so.1
Using native(wrapped) libXcomposite.so.1
Using native(wrapped) libXcursor.so.1
Using native(wrapped) libXdamage.so.1
Using native(wrapped) libXext.so.6
Using native(wrapped) libXau.so.6
Using native(wrapped) libXdmcp.so.6
Using native(wrapped) libXfixes.so.3
Using native(wrapped) libXi.so.6
Using native(wrapped) libXrender.so.1
Using native(wrapped) libXtst.so.6
Using native(wrapped) libXrandr.so.2
Using native(wrapped) libXss.so.1
Using native(wrapped) libdbus-1.so.3
Using native(wrapped) libasound.so.2
Using native(wrapped) libatk-1.0.so.0
Using native(wrapped) libatk-bridge-2.0.so.0
Using native(wrapped) libSM.so.6
Using native(wrapped) libICE.so.6
Using native(wrapped) libcups.so.2
Using native(wrapped) libatspi.so.0
Redirecting overriden malloc function for libcef.so
170883|SIGBUS @0x34bc122c (???(./otohits-viewer+0x34bc122c)) (x64pc=0x7fa4f0a000//lib/x86_64-linux-gnu/libgcc_s.so.1:"???", rsp=0x7fb4c34560, stack=0x7fb4435000:0x7fb4c35000 own=(nil) fp=0x7fb4c34568), for accessing 0x37 (code=1/prot=0), db=(nil)((nil):(nil)/(nil):(nil)/???:clean, hash:0/0) handler=(nil)
RSP-0x20:0x0000000000000000 RSP-0x18:0x0000000000000000 RSP-0x10:0x0000000000000000 RSP-0x08:0x0000000000000000
RSP+0x00:0x00000000000304a0 RSP+0x08:0x0000000000000000 RSP+0x10:0x0000000000000001 RSP+0x18:0x0000007fb4c3475c x86opcode=48 83 EC 08 48 8B 05 DD
Errore di bus

ElDavoo avatar Dec 27 '22 17:12 ElDavoo

./otohits-app:

Dynarec for ARM64, with extension: ASIMD CRC32 PageSize:4096 Running on Cortex-A72 with 4 Cores
Params database has 22 entries
Box64 with Dynarec v0.2.3 57eae464 built on Apr  4 2023 15:32:09
Using default BOX64_LD_LIBRARY_PATH: ./:lib/:lib64/:x86_64/:bin64/:libs64/
Using default BOX64_PATH: ./:bin/
Counted 24 Env var
Looking for ./otohits-app
Rename process to "otohits-app"
Using native(wrapped) libpthread.so.0
Using native(wrapped) libc.so.6
Using native(wrapped) ld-linux-x86-64.so.2
Using native(wrapped) libutil.so.1
Using native(wrapped) librt.so.1
Error: Unsupported Syscall 0x31h (49)
Segmentation fault

./otohits-viewer now works (but it fails because of missing X display).

ElDavoo avatar Apr 05 '23 09:04 ElDavoo

I have added the missing syscall.

ptitSeb avatar Apr 05 '23 10:04 ptitSeb

After adding also:

{ 50, __NR_listen, 2},
{ 80, __NR_chdir, 1},
{ 288, __NR_accept4, 4},

It almost works!! But it tries doing file operations in /usr/local/bin, which is where box64 is globally installed. How to make the program work in pwd ??


I worked around the path issue by copying the box64 binary in the same dir of the otohits binary and letting it run.
Maybe it's working (I need an X display to test it), only minor issue is it tries to fetch the CPU model and fails (empty string) (on my PC it returns Intel(R) Core(TM) i7-10875H CPU @ 2.30GHz )

ElDavoo avatar Apr 05 '23 10:04 ElDavoo

fetching of cpu info should work, not sure how that program is fetching it. Using CPUID it should just work. If it's greping /proc/cpuinfo it might be buggy, I need to check.

ptitSeb avatar Apr 05 '23 11:04 ptitSeb

But I suspect most the info grabbing are though syscalls, and I'm not sure everything is wrapped correctly to intercept the calls and redirect correctly.

ptitSeb avatar Apr 05 '23 11:04 ptitSeb

Things went forward, but they are now difficult to debug.

BOX64_LOG=0 BOX64_DYNAREC=0 DISPLAY=:51 BOX64_ENV='DISPLAY=:51' ./box64 ./otohits
-app
Box64 with Dynarec v0.2.3 5b5f4217 built on Apr  5 2023 12:45:57
2023/04/08 20:24:04 INFO  => ********************************************************************************
2023/04/08 20:24:04 INFO  => Starting OtohitsApp... [Version: 5068] - 64 Bits
2023/04/08 20:24:04 INFO  => Mode: Console
2023/04/08 20:24:04 INFO  => Cleaning temp folder
Accepting connection
2023/04/08 20:24:04 INFO  => Cleaning .org folder
2023/04/08 20:24:04 INFO  => Cleaning tmp cache folder
2023/04/08 20:24:19 INFO  => Current version: 5068, Stable: 5068, Canari: 5068
2023/04/08 20:24:19 INFO  => App is up to date
2023/04/08 20:24:19 INFO  => Login to Otohits...
2023/04/08 20:24:19 INFO  => Connecting instance...
2023/04/08 20:24:19 INFO  => Get System Info
2023/04/08 20:24:19 INFO  => [CPU]:
2023/04/08 20:24:19 INFO  => [Cores]: 4
2023/04/08 20:24:19 INFO  => [Memory]: 8244
2023/04/08 20:24:19 INFO  => [OS]: linux
2023/04/08 20:24:19 INFO  => [OS Version]: raspbian 11.6
2023/04/08 20:24:19 INFO  => User: (redacted)
2023/04/08 20:24:19 INFO  => Version: 5068
2023/04/08 20:24:20 INFO  => Locale: System[it-IT] - Country[it-IT] - Accepted[]
2023/04/08 20:24:20 INFO  => Get configuration...
2023/04/08 20:24:20 INFO  => Checking connection...
2023/04/08 20:24:30 INFO  => Connection: Good
2023/04/08 20:24:30 INFO  => Surf is about to start
2023/04/08 20:25:01 WARN  => Unable to receive response from the viewer in time, trying to start viewer again...
2023/04/08 20:25:31 WARN  => Unable to receive response from the viewer in time, trying to start viewer again...
2023/04/08 20:26:01 WARN  => Unable to receive response from the viewer in time, trying to start viewer again...
^C

After "surf is about to start", the program tries to start "otohits-viewer". If that fails, however, you will see a zombie "otohits-app" process until the timeout triggers and the program retries to start it.

image

This is what it's supposed to happen:

image

Nothing changes between enabling dynarec or not (dynarec is faster though).

Running ./otohits-viewer by itself, however, seems to work. (it loads a test URL).


To recreate the same environment in my x86_64 laptop and my raspberry, I dockerized the app. I'm attaching the dockerfile so maybe this way debugging will be easier / you can easily get the dependencies (you still need to sign up in the service/have an application key though)

Dockerfile-debian-box.txt run.txt

ElDavoo avatar Apr 08 '23 18:04 ElDavoo