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

Embed metacall with node loader inside an environment with v8 already in place #493

Open
twelvee opened this issue Mar 6, 2024 · 3 comments

Comments

@twelvee
Copy link

twelvee commented Mar 6, 2024

🚀 Feature

The environment I'm trying to embed metacall into and use it with nodejs loader already has v8 libraries. The process itself is a Counter-Strike 2 server, which is closed source and unfortunately I can't just "turn off" the existing v8 version.

NodeJs (libnode) uses a slightly modified version of v8 internally and it is impossible to build nodejs with the --shared-v8 flag (nodejs/help#3302).

Describe the solution you'd like

It would be cool to be able to use metacall in my environment, but that requires building libnode and linking it to an existing version of v8.

Describe alternatives you've considered

Turning off the existing v8 leads to a server crash, apparently it is tied to many features of the source 2 engine (counter-strike engine).

Additional context

The problem is not metacall itself, rather libnode and a conflict between two different versions of v8 libraries. However, it may be possible to use metacall to build the necessary version of libnode for my environment.

When trying to load files (metacall_load_from_file) I get segfault when libnode is mounted:

#0  0x00007fa4db302e1a in _GLOBAL__sub_I_token.cc () from ../../csgo/addons/resourcemod/node_modules/resourcemod/bin/metacall/libnode.so.115

I have tried to build nodejs itself and metacall differently, however I always run into this exact problem.

ldd output of libnode:
image

Here's all injected libraries (dl_walk):

Open
Name: "" (12 segments)
     0: [0x55f14b3ce040; memsz:    2a0] flags: 0x4; PT_PHDR
     1: [0x55f14b3ce2e0; memsz:     1c] flags: 0x4; PT_INTERP
     2: [0x55f14b3ce000; memsz:   28a0] flags: 0x4; PT_LOAD
     3: [0x55f14b3d1000; memsz:  116cd] flags: 0x5; PT_LOAD
     4: [0x55f14b3e3000; memsz:   4a46] flags: 0x4; PT_LOAD
     5: [0x55f14b3e8d68; memsz:   15d8] flags: 0x6; PT_LOAD
     6: [0x55f14b3e9ca0; memsz:    230] flags: 0x6; PT_DYNAMIC
     7: [0x55f14b3ce2fc; memsz:     44] flags: 0x4; PT_NOTE
     8: [0x55f14b3e8d68; memsz:     10] flags: 0x4; PT_TLS
     9: [0x55f14b3e4bac; memsz:    6bc] flags: 0x4; PT_GNU_EH_FRAME
    10: [0x55f14b3ce000; memsz:  80000] flags: 0x6; PT_GNU_STACK
    11: [0x55f14b3e8d68; memsz:   1298] flags: 0x4; PT_GNU_RELRO
Name: "linux-vdso.so.1" (4 segments)
     0: [0x7fff209f3000; memsz:    dcd] flags: 0x5; PT_LOAD
     1: [0x7fff209f33e0; memsz:    120] flags: 0x4; PT_DYNAMIC
     2: [0x7fff209f3500; memsz:     54] flags: 0x4; PT_NOTE
     3: [0x7fff209f3554; memsz:     54] flags: 0x4; PT_GNU_EH_FRAME
Name: "/lib/x86_64-linux-gnu/libdl.so.2" (11 segments)
     0: [0x7fe434618000; memsz:    678] flags: 0x4; PT_LOAD
     1: [0x7fe434619000; memsz:    115] flags: 0x5; PT_LOAD
     2: [0x7fe43461a000; memsz:    110] flags: 0x4; PT_LOAD
     3: [0x7fe43461be00; memsz:    228] flags: 0x6; PT_LOAD
     4: [0x7fe43461be10; memsz:    1d0] flags: 0x6; PT_DYNAMIC
     5: [0x7fe4346182a8; memsz:     30] flags: 0x4; PT_NOTE
     6: [0x7fe4346182d8; memsz:     44] flags: 0x4; PT_NOTE
     7: [0x7fe4346182a8; memsz:     30] flags: 0x4; [other (0x6474e553)]
     8: [0x7fe43461a000; memsz:     24] flags: 0x4; PT_GNU_EH_FRAME
     9: [0x7fe434618000; memsz:      0] flags: 0x6; PT_GNU_STACK
    10: [0x7fe43461be00; memsz:    200] flags: 0x4; PT_GNU_RELRO
Name: "/lib/x86_64-linux-gnu/libpthread.so.0" (11 segments)
     0: [0x7fe434613000; memsz:    aa8] flags: 0x4; PT_LOAD
     1: [0x7fe434614000; memsz:    115] flags: 0x5; PT_LOAD
     2: [0x7fe434615000; memsz:    188] flags: 0x4; PT_LOAD
     3: [0x7fe434616e00; memsz:    228] flags: 0x6; PT_LOAD
     4: [0x7fe434616e10; memsz:    1d0] flags: 0x6; PT_DYNAMIC
     5: [0x7fe4346132a8; memsz:     30] flags: 0x4; PT_NOTE
     6: [0x7fe4346132d8; memsz:     44] flags: 0x4; PT_NOTE
     7: [0x7fe4346132a8; memsz:     30] flags: 0x4; [other (0x6474e553)]
     8: [0x7fe434615000; memsz:     24] flags: 0x4; PT_GNU_EH_FRAME
     9: [0x7fe434613000; memsz:      0] flags: 0x6; PT_GNU_STACK
    10: [0x7fe434616e00; memsz:    200] flags: 0x4; PT_GNU_RELRO
Name: "/lib/x86_64-linux-gnu/libc.so.6" (14 segments)
     0: [0x7fe4343ea040; memsz:    310] flags: 0x4; PT_PHDR
     1: [0x7fe4345cde30; memsz:     1c] flags: 0x4; PT_INTERP
     2: [0x7fe4343ea000; memsz:  27fe0] flags: 0x4; PT_LOAD
     3: [0x7fe434412000; memsz: 194341] flags: 0x5; PT_LOAD
     4: [0x7fe4345a7000; memsz:  57924] flags: 0x4; PT_LOAD
     5: [0x7fe4346008f0; memsz:  12560] flags: 0x6; PT_LOAD
     6: [0x7fe434603bc0; memsz:    1d0] flags: 0x6; PT_DYNAMIC
     7: [0x7fe4343ea350; memsz:     30] flags: 0x4; PT_NOTE
     8: [0x7fe4343ea380; memsz:     44] flags: 0x4; PT_NOTE
     9: [0x7fe4346008f0; memsz:     90] flags: 0x4; PT_TLS
    10: [0x7fe4343ea350; memsz:     30] flags: 0x4; [other (0x6474e553)]
    11: [0x7fe4345cde4c; memsz:   70d4] flags: 0x4; PT_GNU_EH_FRAME
    12: [0x7fe4343ea000; memsz:      0] flags: 0x6; PT_GNU_STACK
    13: [0x7fe4346008f0; memsz:   3710] flags: 0x4; PT_GNU_RELRO
Name: "/lib64/ld-linux-x86-64.so.2" (11 segments)
     0: [0x7fe434625000; memsz:   1b50] flags: 0x4; PT_LOAD
     1: [0x7fe434627000; memsz:  29315] flags: 0x5; PT_LOAD
     2: [0x7fe434651000; memsz:   af34] flags: 0x4; PT_LOAD
     3: [0x7fe43465d620; memsz:   2cb8] flags: 0x6; PT_LOAD
     4: [0x7fe43465ee80; memsz:    170] flags: 0x6; PT_DYNAMIC
     5: [0x7fe4346252a8; memsz:     20] flags: 0x4; PT_NOTE
     6: [0x7fe4346252c8; memsz:     24] flags: 0x4; PT_NOTE
     7: [0x7fe4346252a8; memsz:     20] flags: 0x4; [other (0x6474e553)]
     8: [0x7fe434657fc4; memsz:    944] flags: 0x4; PT_GNU_EH_FRAME
     9: [0x7fe434625000; memsz:      0] flags: 0x6; PT_GNU_STACK
    10: [0x7fe43465d620; memsz:   19e0] flags: 0x4; PT_GNU_RELRO
Name: "/home/twelvee/server/game/bin/linuxsteamrt64/libtier0.so" (10 segments)
     0: [0x7fe433d6c000; memsz:  bf1a0] flags: 0x4; PT_LOAD
     1: [0x7fe433e2c000; memsz: 2f7e95] flags: 0x5; PT_LOAD
     2: [0x7fe434124000; memsz:  63bcd] flags: 0x4; PT_LOAD
     3: [0x7fe434189010; memsz: 25d6b0] flags: 0x6; PT_LOAD
     4: [0x7fe43419d848; memsz:    250] flags: 0x6; PT_DYNAMIC
     5: [0x7fe433d6c270; memsz:     24] flags: 0x4; PT_NOTE
     6: [0x7fe434189010; memsz:    cf8] flags: 0x4; PT_TLS
     7: [0x7fe43415b1a4; memsz:   6c34] flags: 0x4; PT_GNU_EH_FRAME
     8: [0x7fe433d6c000; memsz:      0] flags: 0x6; PT_GNU_STACK
     9: [0x7fe434189010; memsz:  19ff0] flags: 0x4; PT_GNU_RELRO
Name: "/lib/x86_64-linux-gnu/libm.so.6" (11 segments)
     0: [0x7fe433c85000; memsz:   d2e0] flags: 0x4; PT_LOAD
     1: [0x7fe433c93000; memsz:  7b8d5] flags: 0x5; PT_LOAD
     2: [0x7fe433d0f000; memsz:  5a7e4] flags: 0x4; PT_LOAD
     3: [0x7fe433d6ad80; memsz:    388] flags: 0x6; PT_LOAD
     4: [0x7fe433d6ad90; memsz:    220] flags: 0x6; PT_DYNAMIC
     5: [0x7fe433c852a8; memsz:     30] flags: 0x4; PT_NOTE
     6: [0x7fe433c852d8; memsz:     44] flags: 0x4; PT_NOTE
     7: [0x7fe433c852a8; memsz:     30] flags: 0x4; [other (0x6474e553)]
     8: [0x7fe433d5d490; memsz:   1b1c] flags: 0x4; PT_GNU_EH_FRAME
     9: [0x7fe433c85000; memsz:      0] flags: 0x6; PT_GNU_STACK
    10: [0x7fe433d6ad80; memsz:    280] flags: 0x4; PT_GNU_RELRO
Name: "/lib/x86_64-linux-gnu/libuuid.so.1" (12 segments)
     0: [0x7fe433c7c000; memsz:   1450] flags: 0x4; PT_LOAD
     1: [0x7fe433c7e000; memsz:   3d76] flags: 0x5; PT_LOAD
     2: [0x7fe433c82000; memsz:    880] flags: 0x4; PT_LOAD
     3: [0x7fe433c83c70; memsz:    3b8] flags: 0x6; PT_LOAD
     4: [0x7fe433c83c98; memsz:    1e0] flags: 0x6; PT_DYNAMIC
     5: [0x7fe433c7c2e0; memsz:     20] flags: 0x4; PT_NOTE
     6: [0x7fe433c7c300; memsz:     24] flags: 0x4; PT_NOTE
     7: [0x7fe433c83c70; memsz:     50] flags: 0x4; PT_TLS
     8: [0x7fe433c7c2e0; memsz:     20] flags: 0x4; [other (0x6474e553)]
     9: [0x7fe433c82130; memsz:    124] flags: 0x4; PT_GNU_EH_FRAME
    10: [0x7fe433c7c000; memsz:      0] flags: 0x6; PT_GNU_STACK
    11: [0x7fe433c83c70; memsz:    390] flags: 0x4; PT_GNU_RELRO
Name: "/home/twelvee/server/game/bin/linuxsteamrt64/libengine2.so" (10 segments)
     0: [0x7fe432476000; memsz: 107a80] flags: 0x4; PT_LOAD
     1: [0x7fe43257e000; memsz: 49b7e9] flags: 0x5; PT_LOAD
     2: [0x7fe432a1a000; memsz:  f8779] flags: 0x4; PT_LOAD
     3: [0x7fe432b142c0; memsz:  eb840] flags: 0x6; PT_LOAD
     4: [0x7fe432b418b8; memsz:    260] flags: 0x6; PT_DYNAMIC
     5: [0x7fe432476270; memsz:     24] flags: 0x4; PT_NOTE
     6: [0x7fe432b142c0; memsz:     90] flags: 0x4; PT_TLS
     7: [0x7fe432aa91a0; memsz:   e754] flags: 0x4; PT_GNU_EH_FRAME
     8: [0x7fe432476000; memsz:      0] flags: 0x6; PT_GNU_STACK
     9: [0x7fe432b142c0; memsz:  32d40] flags: 0x4; PT_GNU_RELRO
Name: "/home/twelvee/server/game/bin/linuxsteamrt64/libsteam_api.so" (9 segments)
     0: [0x7fe433c2d040; memsz:    1f8] flags: 0x4; PT_PHDR
     1: [0x7fe433c2d000; memsz:  49c60] flags: 0x5; PT_LOAD
     2: [0x7fe433c789a0; memsz:   31a0] flags: 0x6; PT_LOAD
     3: [0x7fe433c79a70; memsz:    260] flags: 0x6; PT_DYNAMIC
     4: [0x7fe433c2d238; memsz:     24] flags: 0x4; PT_NOTE
     5: [0x7fe433c73eb4; memsz:   2dac] flags: 0x4; PT_GNU_EH_FRAME
     6: [0x7fe433c2d000; memsz:      0] flags: 0x6; PT_GNU_STACK
     7: [0x7fe433c789a0; memsz:     10] flags: 0x4; PT_TLS
     8: [0x7fe433c789a0; memsz:   1660] flags: 0x6; PT_GNU_RELRO
Name: "/home/twelvee/server/game/bin/linuxsteamrt64/libsteamnetworkingsockets.so" (9 segments)
     0: [0x7fe431efe040; memsz:    1f8] flags: 0x4; PT_PHDR
     1: [0x7fe431efe000; memsz: 52ff48] flags: 0x5; PT_LOAD
     2: [0x7fe43242f3c0; memsz:  45d70] flags: 0x6; PT_LOAD
     3: [0x7fe4324643b8; memsz:    260] flags: 0x6; PT_DYNAMIC
     4: [0x7fe431efe238; memsz:     24] flags: 0x4; PT_NOTE
     5: [0x7fe4324170e4; memsz:  16e64] flags: 0x4; PT_GNU_EH_FRAME
     6: [0x7fe431efe000; memsz:      0] flags: 0x6; PT_GNU_STACK
     7: [0x7fe43242f3c0; memsz:    2a8] flags: 0x4; PT_TLS
     8: [0x7fe43242f3c0; memsz:  35c40] flags: 0x4; PT_GNU_RELRO
Name: "/lib/x86_64-linux-gnu/libstdc++.so.6" (12 segments)
     0: [0x7fe431cd2000; memsz:  99140] flags: 0x4; PT_LOAD
     1: [0x7fe431d6c000; memsz: 110fd1] flags: 0x5; PT_LOAD
     2: [0x7fe431e7d000; memsz:  6e882] flags: 0x4; PT_LOAD
     3: [0x7fe431eed880; memsz:  10040] flags: 0x6; PT_LOAD
     4: [0x7fe431ef6c90; memsz:    220] flags: 0x6; PT_DYNAMIC
     5: [0x7fe431cd22e0; memsz:     20] flags: 0x4; PT_NOTE
     6: [0x7fe431cd2300; memsz:     24] flags: 0x4; PT_NOTE
     7: [0x7fe431eed880; memsz:     20] flags: 0x4; PT_TLS
     8: [0x7fe431cd22e0; memsz:     20] flags: 0x4; [other (0x6474e553)]
     9: [0x7fe431ea8ad4; memsz:   9864] flags: 0x4; PT_GNU_EH_FRAME
    10: [0x7fe431cd2000; memsz:      0] flags: 0x6; PT_GNU_STACK
    11: [0x7fe431eed880; memsz:   a780] flags: 0x4; PT_GNU_RELRO
Name: "/lib/x86_64-linux-gnu/librt.so.1" (11 segments)
     0: [0x7fe433c28000; memsz:    808] flags: 0x4; PT_LOAD
     1: [0x7fe433c29000; memsz:    285] flags: 0x5; PT_LOAD
     2: [0x7fe433c2a000; memsz:    274] flags: 0x4; PT_LOAD
     3: [0x7fe433c2bdc0; memsz:    278] flags: 0x6; PT_LOAD
     4: [0x7fe433c2bdd0; memsz:    210] flags: 0x6; PT_DYNAMIC
     5: [0x7fe433c282a8; memsz:     30] flags: 0x4; PT_NOTE
     6: [0x7fe433c282d8; memsz:     44] flags: 0x4; PT_NOTE
     7: [0x7fe433c282a8; memsz:     30] flags: 0x4; [other (0x6474e553)]
     8: [0x7fe433c2a038; memsz:     4c] flags: 0x4; PT_GNU_EH_FRAME
     9: [0x7fe433c28000; memsz:      0] flags: 0x6; PT_GNU_STACK
    10: [0x7fe433c2bdc0; memsz:    240] flags: 0x4; PT_GNU_RELRO
Name: "/lib/x86_64-linux-gnu/libgcc_s.so.1" (11 segments)
     0: [0x7fe433c08000; memsz:   2d08] flags: 0x4; PT_LOAD
     1: [0x7fe433c0b000; memsz:  16815] flags: 0x5; PT_LOAD
     2: [0x7fe433c22000; memsz:   32c4] flags: 0x4; PT_LOAD
     3: [0x7fe433c26dc8; memsz:    520] flags: 0x6; PT_LOAD
     4: [0x7fe433c26de0; memsz:    1f0] flags: 0x6; PT_DYNAMIC
     5: [0x7fe433c082a8; memsz:     20] flags: 0x4; PT_NOTE
     6: [0x7fe433c082c8; memsz:     24] flags: 0x4; PT_NOTE
     7: [0x7fe433c082a8; memsz:     20] flags: 0x4; [other (0x6474e553)]
     8: [0x7fe433c22aec; memsz:    6b4] flags: 0x4; PT_GNU_EH_FRAME
     9: [0x7fe433c08000; memsz:      0] flags: 0x6; PT_GNU_STACK
    10: [0x7fe433c26dc8; memsz:    238] flags: 0x4; PT_GNU_RELRO
Name: "/home/twelvee/.steam/sdk64/steamclient.so" (11 segments)
     0: [0x7fe42f679040; memsz:    268] flags: 0x4; PT_PHDR
     1: [0x7fe42f6792a8; memsz:     24] flags: 0x4; PT_NOTE
     2: [0x7fe42f679000; memsz: ad01e0] flags: 0x4; PT_LOAD
     3: [0x7fe43014a1e0; memsz:1685dcf] flags: 0x5; PT_LOAD
     4: [0x7fe4317d0fc0; memsz: 138040] flags: 0x6; PT_LOAD
     5: [0x7fe431909f10; memsz:  de4a8] flags: 0x6; PT_LOAD
     6: [0x7fe4317d0fc0; memsz:   1ad8] flags: 0x4; PT_TLS
     7: [0x7fe4317d1cf0; memsz:    230] flags: 0x6; PT_DYNAMIC
     8: [0x7fe42fd77f3c; memsz:  b61a4] flags: 0x4; PT_GNU_EH_FRAME
     9: [0x7fe42f679000; memsz:      0] flags: 0x6; PT_GNU_STACK
    10: [0x7fe4317d0fc0; memsz: 138040] flags: 0x4; PT_GNU_RELRO
Name: "/home/twelvee/server/game/bin/linuxsteamrt64/libSDL3.so.0" (9 segments)
     0: [0x7fe42f47b000; memsz:  26d18] flags: 0x4; PT_LOAD
     1: [0x7fe42f4a2000; memsz: 141fa9] flags: 0x5; PT_LOAD
     2: [0x7fe42f5e4000; memsz:  78e18] flags: 0x4; PT_LOAD
     3: [0x7fe42f65e670; memsz:  1a528] flags: 0x6; PT_LOAD
     4: [0x7fe42f665d88; memsz:    220] flags: 0x6; PT_DYNAMIC
     5: [0x7fe42f47b238; memsz:     24] flags: 0x4; PT_NOTE
     6: [0x7fe42f61d9c8; memsz:   a5dc] flags: 0x4; PT_GNU_EH_FRAME
     7: [0x7fe42f47b000; memsz:      0] flags: 0x6; PT_GNU_STACK
     8: [0x7fe42f65e670; memsz:   7990] flags: 0x4; PT_GNU_RELRO
Name: "/home/twelvee/server/game/bin/linuxsteamrt64/libfilesystem_stdio.so" (10 segments)
     0: [0x7fe42eb23000; memsz:  555f0] flags: 0x4; PT_LOAD
     1: [0x7fe42eb79000; memsz: 1bc4f9] flags: 0x5; PT_LOAD
     2: [0x7fe42ed36000; memsz:  91882] flags: 0x4; PT_LOAD
     3: [0x7fe42edc9018; memsz:  36f08] flags: 0x6; PT_LOAD
     4: [0x7fe42ede8d10; memsz:    240] flags: 0x6; PT_DYNAMIC
     5: [0x7fe42eb23270; memsz:     24] flags: 0x4; PT_NOTE
     6: [0x7fe42edc9018; memsz:     18] flags: 0x4; PT_TLS
     7: [0x7fe42ed89654; memsz:   9b44] flags: 0x4; PT_GNU_EH_FRAME
     8: [0x7fe42eb23000; memsz:      0] flags: 0x6; PT_GNU_STACK
     9: [0x7fe42edc9018; memsz:  20fe8] flags: 0x4; PT_GNU_RELRO
Name: "/home/twelvee/server/game/bin/linuxsteamrt64/liblocalize.so" (10 segments)
     0: [0x7fe42f399000; memsz:  1a628] flags: 0x4; PT_LOAD
     1: [0x7fe42f3b4000; memsz:  305bd] flags: 0x5; PT_LOAD
     2: [0x7fe42f3e5000; memsz:   e1f5] flags: 0x4; PT_LOAD
     3: [0x7fe42f3f46b0; memsz:   4cf0] flags: 0x6; PT_LOAD
     4: [0x7fe42f3f7268; memsz:    240] flags: 0x6; PT_DYNAMIC
     5: [0x7fe42f399270; memsz:     24] flags: 0x4; PT_NOTE
     6: [0x7fe42f3f46b0; memsz:     10] flags: 0x4; PT_TLS
     7: [0x7fe42f3ea42c; memsz:   191c] flags: 0x4; PT_GNU_EH_FRAME
     8: [0x7fe42f399000; memsz:      0] flags: 0x6; PT_GNU_STACK
     9: [0x7fe42f3f46b0; memsz:   3950] flags: 0x4; PT_GNU_RELRO
Name: "/home/twelvee/server/game/bin/linuxsteamrt64/librendersystemempty.so" (10 segments)
     0: [0x7fe42db5b000; memsz:  7f5c0] flags: 0x4; PT_LOAD
     1: [0x7fe42dbdb000; memsz:  fadf9] flags: 0x5; PT_LOAD
     2: [0x7fe42dcd6000; memsz:  3c2c5] flags: 0x4; PT_LOAD
     3: [0x7fe42dd13d78; memsz:  8f0c8] flags: 0x6; PT_LOAD
     4: [0x7fe42dd1dfd8; memsz:    240] flags: 0x6; PT_DYNAMIC
     5: [0x7fe42db5b270; memsz:     24] flags: 0x4; PT_NOTE
     6: [0x7fe42dd13d78; memsz:     28] flags: 0x4; PT_TLS
     7: [0x7fe42dce6d04; memsz:   6944] flags: 0x4; PT_GNU_EH_FRAME
     8: [0x7fe42db5b000; memsz:      0] flags: 0x6; PT_GNU_STACK
     9: [0x7fe42dd13d78; memsz:   d288] flags: 0x4; PT_GNU_RELRO
Name: "/home/twelvee/server/game/bin/linuxsteamrt64/libresourcesystem.so" (10 segments)
     0: [0x7fe42f2e7000; memsz:  21110] flags: 0x4; PT_LOAD
     1: [0x7fe42f309000; memsz:  52e6d] flags: 0x5; PT_LOAD
     2: [0x7fe42f35c000; memsz:  100e6] flags: 0x4; PT_LOAD
     3: [0x7fe42f36dc90; memsz:  2b310] flags: 0x6; PT_LOAD
     4: [0x7fe42f372118; memsz:    230] flags: 0x6; PT_DYNAMIC
     5: [0x7fe42f2e7270; memsz:     24] flags: 0x4; PT_NOTE
     6: [0x7fe42f36dc90; memsz:     10] flags: 0x4; PT_TLS
     7: [0x7fe42f36353c; memsz:   18b4] flags: 0x4; PT_GNU_EH_FRAME
     8: [0x7fe42f2e7000; memsz:      0] flags: 0x6; PT_GNU_STACK
     9: [0x7fe42f36dc90; memsz:   5370] flags: 0x4; PT_GNU_RELRO
Name: "/home/twelvee/server/game/bin/linuxsteamrt64/libschemasystem.so" (10 segments)
     0: [0x7fe42f256000; memsz:  1d510] flags: 0x4; PT_LOAD
     1: [0x7fe42f274000; memsz:  51bad] flags: 0x5; PT_LOAD
     2: [0x7fe42f2c6000; memsz:   f2e6] flags: 0x4; PT_LOAD
     3: [0x7fe42f2d63d0; memsz:  10430] flags: 0x6; PT_LOAD
     4: [0x7fe42f2da338; memsz:    240] flags: 0x6; PT_DYNAMIC
     5: [0x7fe42f256270; memsz:     24] flags: 0x4; PT_NOTE
     6: [0x7fe42f2d63d0; memsz:     10] flags: 0x4; PT_TLS
     7: [0x7fe42f2cc73c; memsz:   18b4] flags: 0x4; PT_GNU_EH_FRAME
     8: [0x7fe42f256000; memsz:      0] flags: 0x6; PT_GNU_STACK
     9: [0x7fe42f2d63d0; memsz:   4c30] flags: 0x4; PT_GNU_RELRO
Name: "/lib/x86_64-linux-gnu/libdbus-1.so.3" (11 segments)
     0: [0x7fe42db0d000; memsz:   ab00] flags: 0x4; PT_LOAD
     1: [0x7fe42db18000; memsz:  2d3e5] flags: 0x5; PT_LOAD
     2: [0x7fe42db46000; memsz:  1175c] flags: 0x4; PT_LOAD
     3: [0x7fe42db59430; memsz:    eb8] flags: 0x6; PT_LOAD
     4: [0x7fe42db599e8; memsz:    220] flags: 0x6; PT_DYNAMIC
     5: [0x7fe42db0d2a8; memsz:     20] flags: 0x4; PT_NOTE
     6: [0x7fe42db0d2c8; memsz:     24] flags: 0x4; PT_NOTE
     7: [0x7fe42db0d2a8; memsz:     20] flags: 0x4; [other (0x6474e553)]
     8: [0x7fe42db4d2c0; memsz:   17a4] flags: 0x4; PT_GNU_EH_FRAME
     9: [0x7fe42db0d000; memsz:      0] flags: 0x6; PT_GNU_STACK
    10: [0x7fe42db59430; memsz:    bd0] flags: 0x4; PT_GNU_RELRO
Name: "/lib/x86_64-linux-gnu/libsystemd.so.0" (12 segments)
     0: [0x7fe42da46000; memsz:  12440] flags: 0x4; PT_LOAD
     1: [0x7fe42da59000; memsz:  7e35d] flags: 0x5; PT_LOAD
     2: [0x7fe42dad8000; memsz:  2ac28] flags: 0x4; PT_LOAD
     3: [0x7fe42db04ac8; memsz:   7a98] flags: 0x6; PT_LOAD
     4: [0x7fe42db0a5e0; memsz:    270] flags: 0x6; PT_DYNAMIC
     5: [0x7fe42da462e0; memsz:     20] flags: 0x4; PT_NOTE
     6: [0x7fe42da46300; memsz:     24] flags: 0x4; PT_NOTE
     7: [0x7fe42db04ac8; memsz:     7b] flags: 0x4; PT_TLS
     8: [0x7fe42da462e0; memsz:     20] flags: 0x4; [other (0x6474e553)]
     9: [0x7fe42daf0a50; memsz:   25ec] flags: 0x4; PT_GNU_EH_FRAME
    10: [0x7fe42da46000; memsz:      0] flags: 0x6; PT_GNU_STACK
    11: [0x7fe42db04ac8; memsz:   6538] flags: 0x4; PT_GNU_RELRO
Name: "/lib/x86_64-linux-gnu/liblzma.so.5" (11 segments)
     0: [0x7fe42f21a000; memsz:   27b0] flags: 0x4; PT_LOAD
     1: [0x7fe42f21d000; memsz:  1a0ed] flags: 0x5; PT_LOAD
     2: [0x7fe42f238000; memsz:   a84c] flags: 0x4; PT_LOAD
     3: [0x7fe42f243ab0; memsz:    658] flags: 0x6; PT_LOAD
     4: [0x7fe42f243dd8; memsz:    1f0] flags: 0x6; PT_DYNAMIC
     5: [0x7fe42f21a2a8; memsz:     20] flags: 0x4; PT_NOTE
     6: [0x7fe42f21a2c8; memsz:     24] flags: 0x4; PT_NOTE
     7: [0x7fe42f21a2a8; memsz:     20] flags: 0x4; [other (0x6474e553)]
     8: [0x7fe42f23e774; memsz:    874] flags: 0x4; PT_GNU_EH_FRAME
     9: [0x7fe42f21a000; memsz:      0] flags: 0x6; PT_GNU_STACK
    10: [0x7fe42f243ab0; memsz:    550] flags: 0x4; PT_GNU_RELRO
Name: "/lib/x86_64-linux-gnu/libzstd.so.1" (11 segments)
     0: [0x7fe42d531000; memsz:   9058] flags: 0x4; PT_LOAD
     1: [0x7fe42d53b000; memsz:  b1f11] flags: 0x5; PT_LOAD
     2: [0x7fe42d5ed000; memsz:  107f8] flags: 0x4; PT_LOAD
     3: [0x7fe42d5feb70; memsz:    4c8] flags: 0x6; PT_LOAD
     4: [0x7fe42d5fed58; memsz:    1f0] flags: 0x6; PT_DYNAMIC
     5: [0x7fe42d5312a8; memsz:     20] flags: 0x4; PT_NOTE
     6: [0x7fe42d5312c8; memsz:     24] flags: 0x4; PT_NOTE
     7: [0x7fe42d5312a8; memsz:     20] flags: 0x4; [other (0x6474e553)]
     8: [0x7fe42d5f2048; memsz:   1644] flags: 0x4; PT_GNU_EH_FRAME
     9: [0x7fe42d531000; memsz:      0] flags: 0x6; PT_GNU_STACK
    10: [0x7fe42d5feb70; memsz:    490] flags: 0x4; PT_GNU_RELRO
Name: "/lib/x86_64-linux-gnu/liblz4.so.1" (11 segments)
     0: [0x7fe42da26000; memsz:   1e80] flags: 0x4; PT_LOAD
     1: [0x7fe42da28000; memsz:  18ae1] flags: 0x5; PT_LOAD
     2: [0x7fe42da41000; memsz:   1ed0] flags: 0x4; PT_LOAD
     3: [0x7fe42da44d50; memsz:    310] flags: 0x6; PT_LOAD
     4: [0x7fe42da44e08; memsz:    1d0] flags: 0x6; PT_DYNAMIC
     5: [0x7fe42da262a8; memsz:     20] flags: 0x4; PT_NOTE
     6: [0x7fe42da262c8; memsz:     24] flags: 0x4; PT_NOTE
     7: [0x7fe42da262a8; memsz:     20] flags: 0x4; [other (0x6474e553)]
     8: [0x7fe42da413bc; memsz:    3f4] flags: 0x4; PT_GNU_EH_FRAME
     9: [0x7fe42da26000; memsz:      0] flags: 0x6; PT_GNU_STACK
    10: [0x7fe42da44d50; memsz:    2b0] flags: 0x4; PT_GNU_RELRO
Name: "/lib/x86_64-linux-gnu/libcap.so.2" (11 segments)
     0: [0x7fe42f20f000; memsz:   2108] flags: 0x4; PT_LOAD
     1: [0x7fe42f212000; memsz:   36a9] flags: 0x5; PT_LOAD
     2: [0x7fe42f216000; memsz:   13a0] flags: 0x4; PT_LOAD
     3: [0x7fe42f218768; memsz:    8d0] flags: 0x6; PT_LOAD
     4: [0x7fe42f218c90; memsz:    1f0] flags: 0x6; PT_DYNAMIC
     5: [0x7fe42f20f2a8; memsz:     20] flags: 0x4; PT_NOTE
     6: [0x7fe42f20f2c8; memsz:     24] flags: 0x4; PT_NOTE
     7: [0x7fe42f20f2a8; memsz:     20] flags: 0x4; [other (0x6474e553)]
     8: [0x7fe42f216560; memsz:    274] flags: 0x4; PT_GNU_EH_FRAME
     9: [0x7fe42f20f000; memsz:      0] flags: 0x6; PT_GNU_STACK
    10: [0x7fe42f218768; memsz:    898] flags: 0x4; PT_GNU_RELRO
Name: "/lib/x86_64-linux-gnu/libgcrypt.so.20" (11 segments)
     0: [0x7fe42d3f3000; memsz:   e200] flags: 0x4; PT_LOAD
     1: [0x7fe42d402000; memsz:  e524d] flags: 0x5; PT_LOAD
     2: [0x7fe42d4e8000; memsz:  3ddb8] flags: 0x4; PT_LOAD
     3: [0x7fe42d527b90; memsz:   88e8] flags: 0x6; PT_LOAD
     4: [0x7fe42d529b10; memsz:    220] flags: 0x6; PT_DYNAMIC
     5: [0x7fe42d3f32a8; memsz:     20] flags: 0x4; PT_NOTE
     6: [0x7fe42d3f32c8; memsz:     24] flags: 0x4; PT_NOTE
     7: [0x7fe42d3f32a8; memsz:     20] flags: 0x4; [other (0x6474e553)]
     8: [0x7fe42d513ad8; memsz:   26bc] flags: 0x4; PT_GNU_EH_FRAME
     9: [0x7fe42d3f3000; memsz:      0] flags: 0x6; PT_GNU_STACK
    10: [0x7fe42d527b90; memsz:   2470] flags: 0x4; PT_GNU_RELRO
Name: "/lib/x86_64-linux-gnu/libgpg-error.so.0" (11 segments)
     0: [0x7fe42da00000; memsz:   3e38] flags: 0x4; PT_LOAD
     1: [0x7fe42da04000; memsz:  15751] flags: 0x5; PT_LOAD
     2: [0x7fe42da1a000; memsz:   92d0] flags: 0x4; PT_LOAD
     3: [0x7fe42da247c8; memsz:    9f0] flags: 0x6; PT_LOAD
     4: [0x7fe42da24b10; memsz:    210] flags: 0x6; PT_DYNAMIC
     5: [0x7fe42da002a8; memsz:     20] flags: 0x4; PT_NOTE
     6: [0x7fe42da002c8; memsz:     24] flags: 0x4; PT_NOTE
     7: [0x7fe42da002a8; memsz:     20] flags: 0x4; [other (0x6474e553)]
     8: [0x7fe42da1f720; memsz:    8ec] flags: 0x4; PT_GNU_EH_FRAME
     9: [0x7fe42da00000; memsz:      0] flags: 0x6; PT_GNU_STACK
    10: [0x7fe42da247c8; memsz:    838] flags: 0x4; PT_GNU_RELRO
Name: "/home/twelvee/server/game/bin/linuxsteamrt64/libmaterialsystem2.so" (10 segments)
     0: [0x7fe42cab5000; memsz:  26968] flags: 0x4; PT_LOAD
     1: [0x7fe42cadc000; memsz:  d7b3d] flags: 0x5; PT_LOAD
     2: [0x7fe42cbb4000; memsz:  293f6] flags: 0x4; PT_LOAD
     3: [0x7fe42cbde540; memsz:  13080] flags: 0x6; PT_LOAD
     4: [0x7fe42cbe3d88; memsz:    240] flags: 0x6; PT_DYNAMIC
     5: [0x7fe42cab5270; memsz:     24] flags: 0x4; PT_NOTE
     6: [0x7fe42cbde540; memsz:     10] flags: 0x4; PT_TLS
     7: [0x7fe42cbd47d4; memsz:   18d4] flags: 0x4; PT_GNU_EH_FRAME
     8: [0x7fe42cab5000; memsz:      0] flags: 0x6; PT_GNU_STACK
     9: [0x7fe42cbde540; memsz:   6ac0] flags: 0x4; PT_GNU_RELRO
Name: "/home/twelvee/server/game/bin/linuxsteamrt64/libmeshsystem.so" (10 segments)
     0: [0x7fe41f57e000; memsz:  884e0] flags: 0x4; PT_LOAD
     1: [0x7fe41f607000; memsz: 1746ad] flags: 0x5; PT_LOAD
     2: [0x7fe41f77c000; memsz:  3c769] flags: 0x4; PT_LOAD
     3: [0x7fe41f7b9ef0; memsz:  446b0] flags: 0x6; PT_LOAD
     4: [0x7fe41f7c4ee8; memsz:    240] flags: 0x6; PT_DYNAMIC
     5: [0x7fe41f57e270; memsz:     24] flags: 0x4; PT_NOTE
     6: [0x7fe41f7b9ef0; memsz:     10] flags: 0x4; PT_TLS
     7: [0x7fe41f78c5a4; memsz:   6a64] flags: 0x4; PT_GNU_EH_FRAME
     8: [0x7fe41f57e000; memsz:      0] flags: 0x6; PT_GNU_STACK
     9: [0x7fe41f7b9ef0; memsz:   e110] flags: 0x4; PT_GNU_RELRO
Name: "/home/twelvee/server/game/bin/linuxsteamrt64/libworldrenderer.so" (10 segments)
     0: [0x7fe41f2f8000; memsz:  89e38] flags: 0x4; PT_LOAD
     1: [0x7fe41f382000; memsz: 14fbd9] flags: 0x5; PT_LOAD
     2: [0x7fe41f4d2000; memsz:  45ce1] flags: 0x4; PT_LOAD
     3: [0x7fe41f519668; memsz:  64498] flags: 0x6; PT_LOAD
     4: [0x7fe41f523bb8; memsz:    240] flags: 0x6; PT_DYNAMIC
     5: [0x7fe41f2f8270; memsz:     24] flags: 0x4; PT_NOTE
     6: [0x7fe41f519668; memsz:     68] flags: 0x4; PT_TLS
     7: [0x7fe41f4e4d84; memsz:   7954] flags: 0x4; PT_GNU_EH_FRAME
     8: [0x7fe41f2f8000; memsz:      0] flags: 0x6; PT_GNU_STACK
     9: [0x7fe41f519668; memsz:   d998] flags: 0x4; PT_GNU_RELRO
Name: "/home/twelvee/server/game/bin/linuxsteamrt64/libpulse_system.so" (10 segments)
     0: [0x7fe42c0f2000; memsz:  2ffa8] flags: 0x4; PT_LOAD
     1: [0x7fe42c122000; memsz:  9c36d] flags: 0x5; PT_LOAD
     2: [0x7fe42c1bf000; memsz:  14932] flags: 0x4; PT_LOAD
     3: [0x7fe42c1d55f0; memsz:  2a930] flags: 0x6; PT_LOAD
     4: [0x7fe42c1dbf88; memsz:    260] flags: 0x6; PT_DYNAMIC
     5: [0x7fe42c0f2270; memsz:     24] flags: 0x4; PT_NOTE
     6: [0x7fe42c1d55f0; memsz:     10] flags: 0x4; PT_TLS
     7: [0x7fe42c1ca9d4; memsz:   1954] flags: 0x4; PT_GNU_EH_FRAME
     8: [0x7fe42c0f2000; memsz:      0] flags: 0x6; PT_GNU_STACK
     9: [0x7fe42c1d55f0; memsz:   7a10] flags: 0x4; PT_GNU_RELRO
Name: "/home/twelvee/server/game/bin/linuxsteamrt64/libv8.so" (11 segments)
     0: [0x7fe41e2b9040; memsz:    268] flags: 0x4; PT_PHDR
     1: [0x7fe41e2b9000; memsz: 52dae4] flags: 0x4; PT_LOAD
     2: [0x7fe41e7e7ae4; memsz: a8533c] flags: 0x5; PT_LOAD
     3: [0x7fe41f26de20; memsz:  538b0] flags: 0x6; PT_LOAD
     4: [0x7fe41f2c26d0; memsz:  34eb8] flags: 0x6; PT_LOAD
     5: [0x7fe41f26de20; memsz:     40] flags: 0x4; PT_TLS
     6: [0x7fe41f2c0be0; memsz:    230] flags: 0x6; PT_DYNAMIC
     7: [0x7fe41f26de20; memsz:  541e0] flags: 0x4; PT_GNU_RELRO
     8: [0x7fe41e6b96cc; memsz:  30484] flags: 0x4; PT_GNU_EH_FRAME
     9: [0x7fe41e2b9000; memsz:      0] flags: 0x6; PT_GNU_STACK
    10: [0x7fe41e2b92a8; memsz:     18] flags: 0x4; PT_NOTE
Name: "/home/twelvee/server/game/bin/linuxsteamrt64/libv8_libbase.so" (10 segments)
     0: [0x7fe42ca80040; memsz:    230] flags: 0x4; PT_PHDR
     1: [0x7fe42ca80000; memsz:  17dd0] flags: 0x4; PT_LOAD
     2: [0x7fe42ca98dd0; memsz:  18860] flags: 0x5; PT_LOAD
     3: [0x7fe42cab2630; memsz:    ca0] flags: 0x6; PT_LOAD
     4: [0x7fe42cab42d0; memsz:    908] flags: 0x6; PT_LOAD
     5: [0x7fe42cab3020; memsz:    200] flags: 0x6; PT_DYNAMIC
     6: [0x7fe42cab2630; memsz:   19d0] flags: 0x4; PT_GNU_RELRO
     7: [0x7fe42ca92b8c; memsz:    dd4] flags: 0x4; PT_GNU_EH_FRAME
     8: [0x7fe42ca80000; memsz:      0] flags: 0x6; PT_GNU_STACK
     9: [0x7fe42ca80270; memsz:     18] flags: 0x4; PT_NOTE
Name: "/home/twelvee/server/game/bin/linuxsteamrt64/libicui18n.so" (10 segments)
     0: [0x7fe41dfe9040; memsz:    230] flags: 0x4; PT_PHDR
     1: [0x7fe41dfe9000; memsz: 122ba4] flags: 0x4; PT_LOAD
     2: [0x7fe41e10cba4; memsz: 1955ac] flags: 0x5; PT_LOAD
     3: [0x7fe41e2a3150; memsz:   e608] flags: 0x6; PT_LOAD
     4: [0x7fe41e2b2758; memsz:   5db8] flags: 0x6; PT_LOAD
     5: [0x7fe41e2b0e08; memsz:    1e0] flags: 0x6; PT_DYNAMIC
     6: [0x7fe41e2a3150; memsz:   eeb0] flags: 0x4; PT_GNU_RELRO
     7: [0x7fe41e0c660c; memsz:   bb24] flags: 0x4; PT_GNU_EH_FRAME
     8: [0x7fe41dfe9000; memsz:      0] flags: 0x6; PT_GNU_STACK
     9: [0x7fe41dfe9270; memsz:     18] flags: 0x4; PT_NOTE
Name: "/home/twelvee/server/game/bin/linuxsteamrt64/libicuuc.so" (10 segments)
     0: [0x7fe41de0f040; memsz:    230] flags: 0x4; PT_PHDR
     1: [0x7fe41de0f000; memsz:  d4388] flags: 0x4; PT_LOAD
     2: [0x7fe41dee4388; memsz:  ee9d8] flags: 0x5; PT_LOAD
     3: [0x7fe41dfd3d60; memsz:   f048] flags: 0x6; PT_LOAD
     4: [0x7fe41dfe3da8; memsz:   4387] flags: 0x6; PT_LOAD
     5: [0x7fe41dfe28b0; memsz:    1e0] flags: 0x6; PT_DYNAMIC
     6: [0x7fe41dfd3d60; memsz:   f2a0] flags: 0x4; PT_GNU_RELRO
     7: [0x7fe41debddc4; memsz:   649c] flags: 0x4; PT_GNU_EH_FRAME
     8: [0x7fe41de0f000; memsz:      0] flags: 0x6; PT_GNU_STACK
     9: [0x7fe41de0f270; memsz:     18] flags: 0x4; PT_NOTE
Name: "/home/twelvee/server/game/bin/linuxsteamrt64/libv8_zlib.so" (10 segments)
     0: [0x7fe42ca61040; memsz:    230] flags: 0x4; PT_PHDR
     1: [0x7fe42ca61000; memsz:   84b0] flags: 0x4; PT_LOAD
     2: [0x7fe42ca6a4b0; memsz:  12ca0] flags: 0x5; PT_LOAD
     3: [0x7fe42ca7e150; memsz:    340] flags: 0x6; PT_LOAD
     4: [0x7fe42ca7f490; memsz:    184] flags: 0x6; PT_LOAD
     5: [0x7fe42ca7e2b0; memsz:    1c0] flags: 0x6; PT_DYNAMIC
     6: [0x7fe42ca7e150; memsz:    eb0] flags: 0x4; PT_GNU_RELRO
     7: [0x7fe42ca67c90; memsz:    3fc] flags: 0x4; PT_GNU_EH_FRAME
     8: [0x7fe42ca61000; memsz:      0] flags: 0x6; PT_GNU_STACK
     9: [0x7fe42ca61270; memsz:     18] flags: 0x4; PT_NOTE
Name: "/home/twelvee/server/game/bin/linuxsteamrt64/libv8_libcpp.so" (11 segments)
     0: [0x7fe41dcfa040; memsz:    268] flags: 0x4; PT_PHDR
     1: [0x7fe41dcfa000; memsz:  868cc] flags: 0x4; PT_LOAD
     2: [0x7fe41dd818cc; memsz:  79f84] flags: 0x5; PT_LOAD
     3: [0x7fe41ddfc850; memsz:   8658] flags: 0x6; PT_LOAD
     4: [0x7fe41de05ea8; memsz:   8474] flags: 0x6; PT_LOAD
     5: [0x7fe41ddfb850; memsz:     10] flags: 0x4; PT_TLS
     6: [0x7fe41de04630; memsz:    1e0] flags: 0x6; PT_DYNAMIC
     7: [0x7fe41ddfc850; memsz:   87b0] flags: 0x4; PT_GNU_RELRO
     8: [0x7fe41dd6b91c; memsz:   33ec] flags: 0x4; PT_GNU_EH_FRAME
     9: [0x7fe41dcfa000; memsz:      0] flags: 0x6; PT_GNU_STACK
    10: [0x7fe41dcfa2a8; memsz:     18] flags: 0x4; PT_NOTE
Name: "/home/twelvee/server/game/bin/linuxsteamrt64/libvscript.so" (10 segments)
     0: [0x7fe41dbe8000; memsz:  20330] flags: 0x4; PT_LOAD
     1: [0x7fe41dc09000; memsz:  b4a7d] flags: 0x5; PT_LOAD
     2: [0x7fe41dcbe000; memsz:  32ac8] flags: 0x4; PT_LOAD
     3: [0x7fe41dcf1de0; memsz:   7500] flags: 0x6; PT_LOAD
     4: [0x7fe41dcf5c00; memsz:    250] flags: 0x6; PT_DYNAMIC
     5: [0x7fe41dbe8270; memsz:     24] flags: 0x4; PT_NOTE
     6: [0x7fe41dcf1de0; memsz:     40] flags: 0x4; PT_TLS
     7: [0x7fe41dcd123c; memsz:   4ea4] flags: 0x4; PT_GNU_EH_FRAME
     8: [0x7fe41dbe8000; memsz:      0] flags: 0x6; PT_GNU_STACK
     9: [0x7fe41dcf1de0; memsz:   5220] flags: 0x4; PT_GNU_RELRO
Name: "/home/twelvee/server/game/bin/linuxsteamrt64/libnetworksystem.so" (10 segments)
     0: [0x7fe41d7d3000; memsz:  aec78] flags: 0x4; PT_LOAD
     1: [0x7fe41d882000; memsz: 274afd] flags: 0x5; PT_LOAD
     2: [0x7fe41daf7000; memsz:  920e9] flags: 0x4; PT_LOAD
     3: [0x7fe41db8a9f0; memsz:  5d190] flags: 0x6; PT_LOAD
     4: [0x7fe41db9e3e0; memsz:    260] flags: 0x6; PT_DYNAMIC
     5: [0x7fe41d7d3270; memsz:     24] flags: 0x4; PT_NOTE
     6: [0x7fe41db8a9f0; memsz:     40] flags: 0x4; PT_TLS
     7: [0x7fe41db245a0; memsz:   dc54] flags: 0x4; PT_GNU_EH_FRAME
     8: [0x7fe41d7d3000; memsz:      0] flags: 0x6; PT_GNU_STACK
     9: [0x7fe41db8a9f0; memsz:  17610] flags: 0x4; PT_GNU_RELRO
Name: "/home/twelvee/server/game/bin/linuxsteamrt64/libanimationsystem.so" (10 segments)
     0: [0x7fe41cfcb000; memsz: 114a60] flags: 0x4; PT_LOAD
     1: [0x7fe41d0e0000; memsz: 4d8559] flags: 0x5; PT_LOAD
     2: [0x7fe41d5b9000; memsz:  effcd] flags: 0x4; PT_LOAD
     3: [0x7fe41d6aa320; memsz: 128760] flags: 0x6; PT_LOAD
     4: [0x7fe41d6dc440; memsz:    240] flags: 0x6; PT_DYNAMIC
     5: [0x7fe41cfcb270; memsz:     24] flags: 0x4; PT_NOTE
     6: [0x7fe41d6aa320; memsz:     40] flags: 0x4; PT_TLS
     7: [0x7fe41d644340; memsz:   dc84] flags: 0x4; PT_GNU_EH_FRAME
     8: [0x7fe41cfcb000; memsz:      0] flags: 0x6; PT_GNU_STACK
     9: [0x7fe41d6aa320; memsz:  35ce0] flags: 0x4; PT_GNU_RELRO
Name: "/home/twelvee/server/game/bin/linuxsteamrt64/libvphysics2.so" (10 segments)
     0: [0x7fe41ca9a000; memsz:  a2640] flags: 0x4; PT_LOAD
     1: [0x7fe41cb3d000; memsz: 3cafad] flags: 0x5; PT_LOAD
     2: [0x7fe41cf08000; memsz:  49579] flags: 0x4; PT_LOAD
     3: [0x7fe41cf52fc0; memsz:  77aa0] flags: 0x6; PT_LOAD
     4: [0x7fe41cf64b28; memsz:    240] flags: 0x6; PT_DYNAMIC
     5: [0x7fe41ca9a270; memsz:     24] flags: 0x4; PT_NOTE
     6: [0x7fe41cf52fc0; memsz:     20] flags: 0x4; PT_TLS
     7: [0x7fe41cf253b4; memsz:   6a64] flags: 0x4; PT_GNU_EH_FRAME
     8: [0x7fe41ca9a000; memsz:      0] flags: 0x6; PT_GNU_STACK
     9: [0x7fe41cf52fc0; memsz:  15040] flags: 0x4; PT_GNU_RELRO
Name: "/home/twelvee/server/game/bin/linuxsteamrt64/libsoundsystem.so" (10 segments)
     0: [0x7fe41c6b3000; memsz:  84fe8] flags: 0x4; PT_LOAD
     1: [0x7fe41c738000; memsz: 288d0d] flags: 0x5; PT_LOAD
     2: [0x7fe41c9c1000; memsz:  33696] flags: 0x4; PT_LOAD
     3: [0x7fe41c9f5ee0; memsz:  a3b20] flags: 0x6; PT_LOAD
     4: [0x7fe41ca19238; memsz:    240] flags: 0x6; PT_DYNAMIC
     5: [0x7fe41c6b3270; memsz:     24] flags: 0x4; PT_NOTE
     6: [0x7fe41c9f5ee0; memsz:     10] flags: 0x4; PT_TLS
     7: [0x7fe41c9eba74; memsz:   18d4] flags: 0x4; PT_GNU_EH_FRAME
     8: [0x7fe41c6b3000; memsz:      0] flags: 0x6; PT_GNU_STACK
     9: [0x7fe41c9f5ee0; memsz:  25120] flags: 0x4; PT_GNU_RELRO
Name: "/home/twelvee/server/game/bin/linuxsteamrt64/libscenesystem.so" (10 segments)
     0: [0x7fe41c06c000; memsz:  b7638] flags: 0x4; PT_LOAD
     1: [0x7fe41c124000; memsz: 465d5d] flags: 0x5; PT_LOAD
     2: [0x7fe41c58a000; memsz:  acfc1] flags: 0x4; PT_LOAD
     3: [0x7fe41c638b30; memsz:  79ef0] flags: 0x6; PT_LOAD
     4: [0x7fe41c64e2e0; memsz:    240] flags: 0x6; PT_DYNAMIC
     5: [0x7fe41c06c270; memsz:     24] flags: 0x4; PT_NOTE
     6: [0x7fe41c638b30; memsz:     40] flags: 0x4; PT_TLS
     7: [0x7fe41c5d2280; memsz:   dcac] flags: 0x4; PT_GNU_EH_FRAME
     8: [0x7fe41c06c000; memsz:      0] flags: 0x6; PT_GNU_STACK
     9: [0x7fe41c638b30; memsz:  194d0] flags: 0x4; PT_GNU_RELRO
Name: "/home/twelvee/server/game/bin/linuxsteamrt64/libv8system.so" (10 segments)
     0: [0x7fe42ca0e000; memsz:  18de8] flags: 0x4; PT_LOAD
     1: [0x7fe42ca27000; memsz:  2652d] flags: 0x5; PT_LOAD
     2: [0x7fe42ca4e000; memsz:   c47e] flags: 0x4; PT_LOAD
     3: [0x7fe42ca5c338; memsz:   4768] flags: 0x6; PT_LOAD
     4: [0x7fe42ca5e310; memsz:    250] flags: 0x6; PT_DYNAMIC
     5: [0x7fe42ca0e270; memsz:     24] flags: 0x4; PT_NOTE
     6: [0x7fe42ca5c338; memsz:     10] flags: 0x4; PT_TLS
     7: [0x7fe42ca51a2c; memsz:   188c] flags: 0x4; PT_GNU_EH_FRAME
     8: [0x7fe42ca0e000; memsz:      0] flags: 0x6; PT_GNU_STACK
     9: [0x7fe42ca5c338; memsz:   2cc8] flags: 0x4; PT_GNU_RELRO
Name: "/home/twelvee/server/game/bin/linuxsteamrt64/libv8_libplatform.so" (10 segments)
     0: [0x7fe42c0d6040; memsz:    230] flags: 0x4; PT_PHDR
     1: [0x7fe42c0d6000; memsz:   bbe4] flags: 0x4; PT_LOAD
     2: [0x7fe42c0e2be4; memsz:   bf6c] flags: 0x5; PT_LOAD
     3: [0x7fe42c0efb50; memsz:    910] flags: 0x6; PT_LOAD
     4: [0x7fe42c0f1460; memsz:    b18] flags: 0x6; PT_LOAD
     5: [0x7fe42c0f01d8; memsz:    1e0] flags: 0x6; PT_DYNAMIC
     6: [0x7fe42c0efb50; memsz:   14b0] flags: 0x4; PT_GNU_RELRO
     7: [0x7fe42c0df618; memsz:    65c] flags: 0x4; PT_GNU_EH_FRAME
     8: [0x7fe42c0d6000; memsz:      0] flags: 0x6; PT_GNU_STACK
     9: [0x7fe42c0d6270; memsz:     18] flags: 0x4; PT_NOTE
Name: "/home/twelvee/server/game/csgo/addons/metamod/bin/linuxsteamrt64/libserver.so" (9 segments)
     0: [0x7fe42c0c1000; memsz:   12a0] flags: 0x4; PT_LOAD
     1: [0x7fe42c0c3000; memsz:   2f4d] flags: 0x5; PT_LOAD
     2: [0x7fe42c0c6000; memsz:   13b8] flags: 0x4; PT_LOAD
     3: [0x7fe42c0c8cd8; memsz:   c888] flags: 0x6; PT_LOAD
     4: [0x7fe42c0c8de8; memsz:    1f0] flags: 0x6; PT_DYNAMIC
     5: [0x7fe42c0c1238; memsz:     24] flags: 0x4; PT_NOTE
     6: [0x7fe42c0c6854; memsz:    214] flags: 0x4; PT_GNU_EH_FRAME
     7: [0x7fe42c0c1000; memsz:      0] flags: 0x6; PT_GNU_STACK
     8: [0x7fe42c0c8cd8; memsz:    328] flags: 0x4; PT_GNU_RELRO
Name: "/home/twelvee/server/game/bin/linuxsteamrt64/../../csgo/bin/linuxsteamrt64/libserver.so" (10 segments)
     0: [0x7fe415238000; memsz: 5f1fb8] flags: 0x4; PT_LOAD
     1: [0x7fe41582a000; memsz: dbfd29] flags: 0x5; PT_LOAD
     2: [0x7fe4165ea000; memsz: 19be45] flags: 0x4; PT_LOAD
     3: [0x7fe416786fb0; memsz: 3f7620] flags: 0x6; PT_LOAD
     4: [0x7fe416937938; memsz:    260] flags: 0x6; PT_DYNAMIC
     5: [0x7fe415238270; memsz:     24] flags: 0x4; PT_NOTE
     6: [0x7fe416786fb0; memsz:    228] flags: 0x4; PT_TLS
     7: [0x7fe41671c680; memsz:   e834] flags: 0x4; PT_GNU_EH_FRAME
     8: [0x7fe415238000; memsz:      0] flags: 0x6; PT_GNU_STACK
     9: [0x7fe416786fb0; memsz: 1b5050] flags: 0x4; PT_GNU_RELRO
Name: "/home/twelvee/server/game/csgo/bin/linuxsteamrt64/libhost.so" (10 segments)
     0: [0x7fe41434d000; memsz:  9bb60] flags: 0x4; PT_LOAD
     1: [0x7fe4143e9000; memsz: 1741ad] flags: 0x5; PT_LOAD
     2: [0x7fe41455e000; memsz:  84abd] flags: 0x4; PT_LOAD
     3: [0x7fe4145e3b80; memsz:  1c280] flags: 0x6; PT_LOAD
     4: [0x7fe4145f27f8; memsz:    240] flags: 0x6; PT_DYNAMIC
     5: [0x7fe41434d270; memsz:     24] flags: 0x4; PT_NOTE
     6: [0x7fe4145e3b80; memsz:     40] flags: 0x4; PT_TLS
     7: [0x7fe41457db00; memsz:   dd1c] flags: 0x4; PT_GNU_EH_FRAME
     8: [0x7fe41434d000; memsz:      0] flags: 0x6; PT_GNU_STACK
     9: [0x7fe4145e3b80; memsz:  12480] flags: 0x4; PT_GNU_RELRO
Name: "/home/twelvee/server/game/bin/linuxsteamrt64/libscenefilecache.so" (10 segments)
     0: [0x7fe414191000; memsz:  7d400] flags: 0x4; PT_LOAD
     1: [0x7fe41420f000; memsz:  f6e8d] flags: 0x5; PT_LOAD
     2: [0x7fe414306000; memsz:  341e5] flags: 0x4; PT_LOAD
     3: [0x7fe41433c030; memsz:  10df0] flags: 0x6; PT_LOAD
     4: [0x7fe414343de8; memsz:    230] flags: 0x6; PT_DYNAMIC
     5: [0x7fe414191270; memsz:     24] flags: 0x4; PT_NOTE
     6: [0x7fe41433c030; memsz:     10] flags: 0x4; PT_TLS
     7: [0x7fe41430f674; memsz:   674c] flags: 0x4; PT_GNU_EH_FRAME
     8: [0x7fe414191000; memsz:      0] flags: 0x6; PT_GNU_STACK
     9: [0x7fe41433c030; memsz:   afd0] flags: 0x4; PT_GNU_RELRO
Name: "/home/twelvee/server/game/bin/linuxsteamrt64/libparticles.so" (10 segments)
     0: [0x7fe40f186000; memsz: 17e2b8] flags: 0x4; PT_LOAD
     1: [0x7fe40f305000; memsz: 42f519] flags: 0x5; PT_LOAD
     2: [0x7fe40f735000; memsz:  759e5] flags: 0x4; PT_LOAD
     3: [0x7fe40f7abaf0; memsz: 153ed0] flags: 0x6; PT_LOAD
     4: [0x7fe40f7f3ab8; memsz:    240] flags: 0x6; PT_DYNAMIC
     5: [0x7fe40f186270; memsz:     24] flags: 0x4; PT_NOTE
     6: [0x7fe40f7abaf0; memsz:   1988] flags: 0x4; PT_TLS
     7: [0x7fe40f77b144; memsz:   716c] flags: 0x4; PT_GNU_EH_FRAME
     8: [0x7fe40f186000; memsz:      0] flags: 0x6; PT_GNU_STACK
     9: [0x7fe40f7abaf0; memsz:  4b510] flags: 0x4; PT_GNU_RELRO
Name: "/home/twelvee/server/game/csgo/bin/linuxsteamrt64/libmatchmaking.so" (10 segments)
     0: [0x7fe40ede1000; memsz:  b99f8] flags: 0x4; PT_LOAD
     1: [0x7fe40ee9b000; memsz: 20916d] flags: 0x5; PT_LOAD
     2: [0x7fe40f0a5000; memsz:  95761] flags: 0x4; PT_LOAD
     3: [0x7fe40f13bc10; memsz:  49ff0] flags: 0x6; PT_LOAD
     4: [0x7fe40f154500; memsz:    250] flags: 0x6; PT_DYNAMIC
     5: [0x7fe40ede1270; memsz:     24] flags: 0x4; PT_NOTE
     6: [0x7fe40f13bc10; memsz:     70] flags: 0x4; PT_TLS
     7: [0x7fe40f0d5ae0; memsz:   dc7c] flags: 0x4; PT_GNU_EH_FRAME
     8: [0x7fe40ede1000; memsz:      0] flags: 0x6; PT_GNU_STACK
     9: [0x7fe40f13bc10; memsz:  1c3f0] flags: 0x4; PT_GNU_RELRO
Name: "/home/twelvee/server/game/csgo/addons/metamod/bin/linuxsteamrt64/metamod.2.cs2.so" (10 segments)
     0: [0x7fe40ebf6000; memsz:  87e28] flags: 0x4; PT_LOAD
     1: [0x7fe40ec7e000; memsz: 108b75] flags: 0x5; PT_LOAD
     2: [0x7fe40ed87000; memsz:  4c3b4] flags: 0x4; PT_LOAD
     3: [0x7fe40edd4c80; memsz:   b7f0] flags: 0x6; PT_LOAD
     4: [0x7fe40edd9540; memsz:    220] flags: 0x6; PT_DYNAMIC
     5: [0x7fe40ebf6270; memsz:     24] flags: 0x4; PT_NOTE
     6: [0x7fe40edd4c80; memsz:     20] flags: 0x4; PT_TLS
     7: [0x7fe40ed98560; memsz:   73a4] flags: 0x4; PT_GNU_EH_FRAME
     8: [0x7fe40ebf6000; memsz:      0] flags: 0x6; PT_GNU_STACK
     9: [0x7fe40edd4c80; memsz:   5380] flags: 0x4; PT_GNU_RELRO

Here's everything related to already installed v8 libraries, libnode should be linked to this libraries. They are located right next to executable in the same folder.
v8-related.zip

NodeJS v20.11.1 uses v8 version: 11.3.244.8-node.17
NodeJS v19.X.X uses v8 version 10.7.X.X-node.X
NodeJS v18.19.1 uses v8 version: 10.2.154.26-node.28
Valve v8 version: 10.6.194.17

OS: Ubuntu 22

@viferga
Copy link
Member

viferga commented Apr 3, 2024

This issue can be solved by patching the NodeJS build system, which is something that we are already doing so I have no fear about doing this again for this special use case.

Another option would be to figure out this: #231

With this solution it may be possible to relink v8 on the fly, but I feel it can be more problematic because C++ mangling, but it is still doable.

@kingleonide
Copy link

Now this issue has solution?

@viferga
Copy link
Member

viferga commented Jan 16, 2025

@kingleonide almost, I am working on it. Can you explain your use case? Or you are from @twelvee 's team?

The work is being done here: #533

The same feature will allow to use V8 from existing executable, it is the exactly same use case as the described in the PR.

The only thing we need here is to tweak a bit this file: https://github.com/metacall/core/blob/5b592ac0e9a8e498e3e706623d0a788276f566e0/cmake/FindNodeJS.cmake

Specifically, we need to implement an option to compile NodeJS as shared library, passing V8 includes but without the V8 library, this will compile the library without V8 symbols resolved. If we compile node library with the same compiler as the one that compiled the executable (in the case of this issue, Counter-Strike 2 server), it will use the V8 symbols from the executable when loading node.

I already have a script for patching the NodeJS build system based on GYP: https://github.com/metacall/core/blob/develop/cmake/NodeJSGYPPatch.py

The only thing we should patch is the following lines:
https://github.com/nodejs/node/pull/1331/files#diff-9f1d0716c75f4df39d9e88499ac205b50301c0c672b816ce54d5339be4c2238cR168
https://github.com/nodejs/node/pull/1331/files#diff-9f1d0716c75f4df39d9e88499ac205b50301c0c672b816ce54d5339be4c2238cR169
https://github.com/nodejs/node/pull/1331/files#diff-9f1d0716c75f4df39d9e88499ac205b50301c0c672b816ce54d5339be4c2238cR616

That should do the job. If you help me with this we can do it faster. Otherwise I will try to do it once I finish the PR.

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

No branches or pull requests

3 participants