box64 icon indicating copy to clipboard operation
box64 copied to clipboard

Electron Castlab symbol errors

Open coreybruce opened this issue 11 months ago • 10 comments

Hey I just wanted to report a issue running Electron Castlab with box64

I am on Manajro Arm64

[corey@corey-pi5 electron-v33.2.1+wvcus-linux-x64]$ ./electron
Dynarec for ARM64, with extension: ASIMD AES CRC32 PMULL ATOMICS SHA1 SHA2 PageSize:16384 Running on Cortex-A76 with 4 Cores
Will use Hardware counter measured at 54.0 MHz emulating 3.4 GHz
Params database has 96 entries
Box64 with Dynarec v0.3.2 nogit built on Dec  7 2024 21:00:08
BOX64: Detected 48bits at least of address space
Counted 45 Env var
BOX64 LIB PATH: BOX64 BIN PATH: ./:bin/:/usr/local/bin/:/usr/bin/:/bin/:/usr/local/sbin/:/var/lib/flatpak/exports/bin/:/usr/lib/jvm/default/bin/:/usr/bin/site_perl/:/usr/bin/vendor_perl/:/usr/bin/core_perl/:/usr/lib/rustup/bin/
Looking for ./electron
Rename process to "electron"
Redirecting overridden malloc from symtab function for /home/corey/electron-v33.2.1+wvcus-linux-x64/electron
Using emulated libffmpeg.so
Using native(wrapped) libdl.so.2
Using native(wrapped) libpthread.so.0
Using native(wrapped) libglib-2.0.so.0
Using native(wrapped) libgobject-2.0.so.0
Using native(wrapped) libgio-2.0.so.0
Using native(wrapped) libgmodule-2.0.so.0
Using native(wrapped) libnss3.so
Using native(wrapped) libnssutil3.so
Using native(wrapped) libsmime3.so
Using native(wrapped) libnspr4.so
Using native(wrapped) libdbus-1.so.3
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) libXau.so.6
Using native(wrapped) libxcb.so.1
Using native(wrapped) libXdmcp.so.6
Using native(wrapped) libcups.so.2
Using native(wrapped) libdrm.so.2
Using native(wrapped) libgtk-3.so.0
Using native(wrapped) libgdk-3.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) libcairo.so.2
Using native(wrapped) libX11.so.6
Using native(wrapped) libXcomposite.so.1
Using native(wrapped) libXdamage.so.1
Using native(wrapped) libXext.so.6
Using native(wrapped) libXfixes.so.3
Using native(wrapped) libXrandr.so.2
Using native(wrapped) libXrender.so.1
Using native(wrapped) libgbm.so.1
Using native(wrapped) libexpat.so.1
Using native(wrapped) libxkbcommon.so.0
Using native(wrapped) libudev.so.1
Using native(wrapped) libasound.so.2
Using native(wrapped) libatspi.so.0
Using native(wrapped) libm.so.6
Using emulated libgcc_s.so.1
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
Using native(wrapped) libbsd.so.0
Warning: Weak Symbol __gcov_dump not found, cannot apply R_X86_64_JUMP_SLOT @0x10b09aaa0 (0xaacc1c6)
Warning: Weak Symbol __gcov_flush not found, cannot apply R_X86_64_JUMP_SLOT @0x10b09aaa8 (0xaacc1d6)
Warning: Weak Symbol ZSTD_trace_decompress_begin not found, cannot apply R_X86_64_JUMP_SLOT @0x10b09ab90 (0xaacc3a6)
Warning: Weak Symbol ZSTD_trace_decompress_end not found, cannot apply R_X86_64_JUMP_SLOT @0x10b09ab98 (0xaacc3b6)
Warning: Weak Symbol _ZTHN2v88internal12trap_handler21g_thread_in_wasm_codeE not found, cannot apply R_X86_64_JUMP_SLOT @0x10b09b268 (0xaacd156)
Warning: Weak Symbol ZSTD_trace_compress_end not found, cannot apply R_X86_64_JUMP_SLOT @0x10b09b320 (0xaacd2c6)
Warning: Weak Symbol ZSTD_trace_compress_begin not found, cannot apply R_X86_64_JUMP_SLOT @0x10b09b328 (0xaacd2d6)
Warning: Weak Symbol OPENSSL_memory_alloc not found, cannot apply R_X86_64_JUMP_SLOT @0x10b09b4c0 (0xaacd606)
Warning: Weak Symbol OPENSSL_memory_free not found, cannot apply R_X86_64_JUMP_SLOT @0x10b09b4c8 (0xaacd616)
Warning: Weak Symbol sdallocx not found, cannot apply R_X86_64_JUMP_SLOT @0x10b09b4d0 (0xaacd626)
Warning: Weak Symbol OPENSSL_memory_get_size not found, cannot apply R_X86_64_JUMP_SLOT @0x10b09b4d8 (0xaacd636)
Error: Symbol CERT_IsUserCert not found, cannot apply R_X86_64_JUMP_SLOT @0x10b09b578 (0xaacd776) in /home/corey/electron-v33.2.1+wvcus-linux-x64/electron
Error: Symbol atk_table_cell_get_type not found, cannot apply R_X86_64_JUMP_SLOT @0x10b09c090 (0xaaceda6) in /home/corey/electron-v33.2.1+wvcus-linux-x64/electron
Error: Symbol atk_table_cell_get_row_column_span not found, cannot apply R_X86_64_JUMP_SLOT @0x10b09c4a0 (0xaacf5c6) in /home/corey/electron-v33.2.1+wvcus-linux-x64/electron
Error: Symbol atk_table_cell_get_column_header_cells not found, cannot apply R_X86_64_JUMP_SLOT @0x10b09c4a8 (0xaacf5d6) in /home/corey/electron-v33.2.1+wvcus-linux-x64/electron
Error: Symbol atk_table_cell_get_row_header_cells not found, cannot apply R_X86_64_JUMP_SLOT @0x10b09c4b8 (0xaacf5f6) in /home/corey/electron-v33.2.1+wvcus-linux-x64/electron
34793|BOX64: Warning, calling Signal 4 function handler SIG_DFL
Unhandled signal caught, aborting
NativeBT: ./electron() [0x34a81c88]
NativeBT: linux-vdso.so.1(__kernel_rt_sigreturn+0) [0x7ffeded5c828]
NativeBT: /usr/lib/libc.so.6(+0x8c478) [0x7ffedebcc478]
NativeBT: /usr/lib/libc.so.6(gsignal+0x1c) [0x7ffedeb7cf3c]
NativeBT: /usr/lib/libc.so.6(abort+0xf4) [0x7ffedeb67bc0]
NativeBT: ./electron() [0x34a80004]
NativeBT: ./electron() [0x34a809e0]
NativeBT: ./electron() [0x34a82bc8]
NativeBT: [0x7ffed7d95e3c]
EmulatedBT: /home/corey/electron-v33.2.1+wvcus-linux-x64/electron+6172c4d [0x106172c4d]
EmulatedBT: /home/corey/electron-v33.2.1+wvcus-linux-x64/electron+6174a10 [0x106174a10]
EmulatedBT: /home/corey/electron-v33.2.1+wvcus-linux-x64/electron+617e8a5 [0x10617e8a5]
EmulatedBT: /home/corey/electron-v33.2.1+wvcus-linux-x64/electron(_Znwm+19) [0x10617df09]
EmulatedBT: /home/corey/electron-v33.2.1+wvcus-linux-x64/electron+60b9533 [0x1060b9533]
EmulatedBT: /home/corey/electron-v33.2.1+wvcus-linux-x64/electron+611f6fa [0x10611f6fa]
EmulatedBT: /home/corey/electron-v33.2.1+wvcus-linux-x64/electron+611f634 [0x10611f634]
EmulatedBT: /home/corey/electron-v33.2.1+wvcus-linux-x64/electron+2514161 [0x102514161]
EmulatedBT: /home/corey/electron-v33.2.1+wvcus-linux-x64/electron(__libc_csu_init+45) [0x102470065]
EmulatedBT: box64(ExitEmulation+0) [0x30000080]
EmulatedBT: /home/corey/electron-v33.2.1+wvcus-linux-x64/electron(_start+2a) [0x1020c102a]
34793|SIGABRT @0x7ffedebcc478 (???(/usr/lib/libc.so.6+0x8c478)) (x64pc=0x106172c4d/"/home/corey/electron-v33.2.1+wvcus-linux-x64/electron + 0x6172c4d", rsp=0x7ffede816a68, stack=0x7ffede018000:0x7ffede818000 own=(nil) fp=0x7ffede817430), for accessing 0x3e8000087e9 (code=-6/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:0x0000000000000000 RSP+0x08:0x0000000000000000 RSP+0x10:0x0000000000000000 RSP+0x18:0x0000000000000002
RAX:0x0000000000000016 RCX:0x0000000101c6cdf4 RDX:0x00007ffeded4cb80 RBX:0x0000000000001000 
RSP:0x00007ffede816a68 RBP:0x00007ffede817430 RSI:0x00007ffedeb68760 RDI:0x00007ffede817404 
 R8:0x0000000000000000  R9:0x0000000000000000 R10:0x0000000000008000 R11:0x0000000000000002 
R12:0x0000000000000003 R13:0x0000000000000000 R14:0x0000000000000003 R15:0x000031b000001000 
ES:0x002b CS:0x0033 SS:0x002b DS:0x002b FS:0x0043 GS:0x0053 
Aborted (core dumped)

coreybruce avatar Jan 22 '25 04:01 coreybruce

I have added the missing symbol. Note that electron is complex to emulate, and will probably require BOX64_MALLOC_HACK=2 to run.

ptitSeb avatar Jan 23 '25 09:01 ptitSeb

I have added the missing symbol. Note that electron is complex to emulate, and will probably require BOX64_MALLOC_HACK=2 to run.

Thanks for the update! I'll give you more news when I test it. Do I need to do ./electron BOX64_MALLOC_HACK=2 or BOX64_MALLOC_HACK=2 ./electron ?

coreybruce avatar Jan 23 '25 10:01 coreybruce

the second form. You defined a temporary env. var.

If you prefer, you can crate a profile in ~/.box64rc instead

[electron]
BOX64_MALLOC_HACK=2

ptitSeb avatar Jan 23 '25 10:01 ptitSeb

I should be fine doing BOX64_MALLOC_HACK=2 ./electron

compiling now with the latest commits on my Raspberry pi 5

coreybruce avatar Jan 23 '25 10:01 coreybruce

Hmm so I compiled, installed it using make installed then tried it but I seem to still be running into some issues

BOX64_MALLOC_HACK=2 ./electron
[BOX64] Dynarec for ARM64, with extension: ASIMD AES CRC32 PMULL ATOMICS SHA1 SHA2
[BOX64] Running on Cortex-A76 with 4 cores, pagesize: 16384
[BOX64] Will use hardware counter measured at 54.0 MHz emulating 3.4 GHz
[BOX64] Box64 with Dynarec v0.3.3 fe3b66b0 built on Jan 23 2025 20:52:59
[BOX64] Detected 48bits at least of address space
[BOX64] Counted 45 Env var
[BOX64] BOX64 LIB PATH: 
[BOX64] BOX64 BIN PATH: ./:bin/:/usr/local/bin/:/usr/bin/:/bin/:/usr/local/sbin/:/var/lib/flatpak/exports/bin/:/usr/lib/jvm/default/bin/:/usr/bin/site_perl/:/usr/bin/vendor_perl/:/usr/bin/core_perl/:/usr/lib/rustup/bin/
[BOX64] Looking for ./electron
[BOX64] BOX64ENV: Variables overridden via env and/or RC file:
	BOX64_MALLOC_HACK=1
[BOX64] Rename process to "electron"
[BOX64] Using emulated libffmpeg.so
[BOX64] Using native(wrapped) libdl.so.2
[BOX64] Using native(wrapped) libpthread.so.0
[BOX64] Using native(wrapped) libglib-2.0.so.0
[BOX64] Using native(wrapped) libgobject-2.0.so.0
[BOX64] Using native(wrapped) libgio-2.0.so.0
[BOX64] Using native(wrapped) libgmodule-2.0.so.0
[BOX64] Using native(wrapped) libnss3.so
[BOX64] Using native(wrapped) libnssutil3.so
[BOX64] Using native(wrapped) libsmime3.so
[BOX64] Using native(wrapped) libnspr4.so
[BOX64] Using native(wrapped) libdbus-1.so.3
[BOX64] Using native(wrapped) libatk-1.0.so.0
[BOX64] Using native(wrapped) libatk-bridge-2.0.so.0
[BOX64] Using native(wrapped) libSM.so.6
[BOX64] Using native(wrapped) libICE.so.6
[BOX64] Using native(wrapped) libXau.so.6
[BOX64] Using native(wrapped) libxcb.so.1
[BOX64] Using native(wrapped) libXdmcp.so.6
[BOX64] Using native(wrapped) libcups.so.2
[BOX64] Using native(wrapped) libdrm.so.2
[BOX64] Using native(wrapped) libgtk-3.so.0
[BOX64] Using native(wrapped) libgdk-3.so.0
[BOX64] Using native(wrapped) libgdk_pixbuf-2.0.so.0
[BOX64] Using native(wrapped) libpangocairo-1.0.so.0
[BOX64] Using native(wrapped) libpango-1.0.so.0
[BOX64] Using native(wrapped) libcairo.so.2
[BOX64] Using native(wrapped) libX11.so.6
[BOX64] Using native(wrapped) libXcomposite.so.1
[BOX64] Using native(wrapped) libXdamage.so.1
[BOX64] Using native(wrapped) libXext.so.6
[BOX64] Using native(wrapped) libXfixes.so.3
[BOX64] Using native(wrapped) libXrandr.so.2
[BOX64] Using native(wrapped) libXrender.so.1
[BOX64] Using native(wrapped) libgbm.so.1
[BOX64] Using native(wrapped) libexpat.so.1
[BOX64] Using native(wrapped) libxkbcommon.so.0
[BOX64] Using native(wrapped) libudev.so.1
[BOX64] Using native(wrapped) libasound.so.2
[BOX64] Using native(wrapped) libatspi.so.0
[BOX64] Using native(wrapped) libm.so.6
[BOX64] Using emulated libgcc_s.so.1
[BOX64] Using native(wrapped) libc.so.6
[BOX64] Using native(wrapped) ld-linux-x86-64.so.2
[BOX64] Using native(wrapped) libutil.so.1
[BOX64] Using native(wrapped) librt.so.1
[BOX64] Using native(wrapped) libbsd.so.0
[BOX64] Warning: Weak Symbol __gcov_dump not found, cannot apply R_X86_64_JUMP_SLOT @0x10b09aaa0 (0xaacc1c6)
[BOX64] Warning: Weak Symbol __gcov_flush not found, cannot apply R_X86_64_JUMP_SLOT @0x10b09aaa8 (0xaacc1d6)
[BOX64] Warning: Weak Symbol ZSTD_trace_decompress_begin not found, cannot apply R_X86_64_JUMP_SLOT @0x10b09ab90 (0xaacc3a6)
[BOX64] Warning: Weak Symbol ZSTD_trace_decompress_end not found, cannot apply R_X86_64_JUMP_SLOT @0x10b09ab98 (0xaacc3b6)
[BOX64] Warning: Weak Symbol _ZTHN2v88internal12trap_handler21g_thread_in_wasm_codeE not found, cannot apply R_X86_64_JUMP_SLOT @0x10b09b268 (0xaacd156)
[BOX64] Warning: Weak Symbol ZSTD_trace_compress_end not found, cannot apply R_X86_64_JUMP_SLOT @0x10b09b320 (0xaacd2c6)
[BOX64] Warning: Weak Symbol ZSTD_trace_compress_begin not found, cannot apply R_X86_64_JUMP_SLOT @0x10b09b328 (0xaacd2d6)
[BOX64] Warning: Weak Symbol OPENSSL_memory_alloc not found, cannot apply R_X86_64_JUMP_SLOT @0x10b09b4c0 (0xaacd606)
[BOX64] Warning: Weak Symbol OPENSSL_memory_free not found, cannot apply R_X86_64_JUMP_SLOT @0x10b09b4c8 (0xaacd616)
[BOX64] Warning: Weak Symbol sdallocx not found, cannot apply R_X86_64_JUMP_SLOT @0x10b09b4d0 (0xaacd626)
[BOX64] Warning: Weak Symbol OPENSSL_memory_get_size not found, cannot apply R_X86_64_JUMP_SLOT @0x10b09b4d8 (0xaacd636)
[BOX64] 5766|Warning, calling Signal 4 function handler SIG_DFL
[BOX64] Unhandled signal caught, aborting
[BOX64] NativeBT: ./electron() [0x34a7b140]
[BOX64] NativeBT: linux-vdso.so.1(__kernel_rt_sigreturn+0) [0x7fffa22c8828]
[BOX64] NativeBT: /usr/lib/libc.so.6(+0x8c478) [0x7fffa213c478]
[BOX64] NativeBT: /usr/lib/libc.so.6(gsignal+0x1c) [0x7fffa20ecf3c]
[BOX64] NativeBT: /usr/lib/libc.so.6(abort+0xf4) [0x7fffa20d7bc0]
[BOX64] NativeBT: ./electron() [0x34a78458]
[BOX64] NativeBT: ./electron() [0x34a79b88]
[BOX64] NativeBT: ./electron() [0x34a7a230]
[BOX64] NativeBT: ./electron() [0x34a7bed8]
[BOX64] NativeBT: [0x7fff9b2fe1ec]
[BOX64] EmulatedBT: /home/corey/electron-v33.2.1+wvcus-linux-x64/electron+6172c4d [0x106172c4d]
[BOX64] EmulatedBT: /home/corey/electron-v33.2.1+wvcus-linux-x64/electron+6174a10 [0x106174a10]
[BOX64] EmulatedBT: /home/corey/electron-v33.2.1+wvcus-linux-x64/electron+617e8a5 [0x10617e8a5]
[BOX64] EmulatedBT: /home/corey/electron-v33.2.1+wvcus-linux-x64/electron(_Znwm+19) [0x10617df09]
[BOX64] EmulatedBT: /home/corey/electron-v33.2.1+wvcus-linux-x64/electron+60b9533 [0x1060b9533]
[BOX64] EmulatedBT: /home/corey/electron-v33.2.1+wvcus-linux-x64/electron+611f6fa [0x10611f6fa]
[BOX64] EmulatedBT: /home/corey/electron-v33.2.1+wvcus-linux-x64/electron+611f634 [0x10611f634]
[BOX64] EmulatedBT: /home/corey/electron-v33.2.1+wvcus-linux-x64/electron+2514161 [0x102514161]
[BOX64] EmulatedBT: /home/corey/electron-v33.2.1+wvcus-linux-x64/electron(__libc_csu_init+45) [0x102470065]
[BOX64] EmulatedBT: box64(ExitEmulation+0) [0x30000080]
[BOX64] EmulatedBT: /home/corey/electron-v33.2.1+wvcus-linux-x64/electron(_start+2a) [0x1020c102a]
[BOX64] 5766|SIGABRT @0x7fffa213c478 (???(/usr/lib/libc.so.6+0x8c478)) (x64pc=0x106172c4d/"/home/corey/electron-v33.2.1+wvcus-linux-x64/electron + 0x6172c4d", rsp=0x7fffa1db6a88, stack=0x7fffa15b8000:0x7fffa1db8000 own=(nil) fp=0x7fffa1db7450), for accessing 0x3e800001686 (code=-6/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:0x0000000000000000 RSP+0x08:0x0000000000000000 RSP+0x10:0x0000000000000000 RSP+0x18:0x0000000000000002
RAX:0x0000000000000016 RCX:0x0000000101c6cdf4 RDX:0x00007fffa22b8760 RBX:0x0000000000001000 
RSP:0x00007fffa1db6a88 RBP:0x00007fffa1db7450 RSI:0x00007fffa20d8760 RDI:0x00007fffa1db7424 
 R8:0x0000000000000000  R9:0x0000000000000000 R10:0x0000000000008000 R11:0x0000000000000002 
R12:0x0000000000000003 R13:0x0000000000000000 R14:0x0000000000000003 R15:0x000019a800001000 
ES:0x002b CS:0x0033 SS:0x002b DS:0x002b FS:0x0043 GS:0x0053 
Aborted (core dumped)

coreybruce avatar Jan 23 '25 11:01 coreybruce

Oh, you are on 16k pagesize. Electron will not work on this configuration. You need 4K pagesize, it check for that and just abort if not 4K.

ptitSeb avatar Jan 23 '25 11:01 ptitSeb

Ah I see is there a way I can change that or is that apart of my Arm distro?

coreybruce avatar Jan 23 '25 11:01 coreybruce

I guess you are running on a PI5, there is a way to easily switch to 4K pagesize with some config file.... google it, it should be easy to find (I don't have any PI5 on my side, so cannot assit more than that on this subject).

ptitSeb avatar Jan 23 '25 12:01 ptitSeb

Okay I will, thank you so much for the support. 👍

if I have any updates I will let you know.

coreybruce avatar Jan 23 '25 12:01 coreybruce

Ah damn I just looked it up and the kernel need to be configured and compiled to use 4k pagesize.

Electron itself nativly runs on Arm64 with 16k pagesizes so it should work, I just need Electron castlab to run in Box64 to allow the pi 5 to watch DRM video content as it doesn't have a arm64 binary unlike Electron itself.

Image

coreybruce avatar Apr 13 '25 07:04 coreybruce