You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
$ uname -a
Linux darshan-NUC11PAHi7 5.15.0-47-generic #51-Ubuntu SMP Thu Aug 11 07:51:15 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
Windows
uname -a
MINGW64_NT-10.0-22000 DESKTOP-MDFU6BO 3.1.7-340.x86_64 2021-10-12 16:29 UTC x86_64 Msys
macOS
$ uname -a
Darwin Darshans-MacBook-Pro.local 21.6.0 Darwin Kernel Version 21.6.0: Mon Aug 22 20:17:10 PDT 2022; root:xnu-8020.140.49~2/RELEASE_X86_64 x86_64
Versions
Node.js: v16.15.0 (debug build)
Postject: Built from #45
./node is a debug build of Node.js v16.15.0 and it has a size of 1.4G on Linux, 105M on Windows and 76M on Intel macOS.
Error logs
Linux
Aborted()/home/darshan/Desktop/git/starship/node_modules/@raisinten/postject/dist/postject.js:9varModule=typeofModule!="undefined"?Module:{}; ... moreunreadablecode...RuntimeError: Aborted().Buildwith-sASSERTIONSformoreinfo.atabort(/home/darshan/Desktop/git/starship/node_modules/@raisinten/postject/dist/postject.js:9:7843)at_abort(/home/darshan/Desktop/git/starship/node_modules/@raisinten/postject/dist/postject.js:9:92618)
at wasm://wasm/00d4368e:wasm-function[114]:0x3da3atinvoke_ii(/home/darshan/Desktop/git/starship/node_modules/@raisinten/postject/dist/postject.js:9:113924)at wasm://wasm/00d4368e:wasm-function[3887]:0x2afb02atinvoke_ii(/home/darshan/Desktop/git/starship/node_modules/@raisinten/postject/dist/postject.js:9:113924)atwasm://wasm/00d4368e:wasm-function[2955]:0x1b1552atwasm://wasm/00d4368e:wasm-function[2346]:0x135036atObject.injectIntoELF(evalatnew_(/home/darshan/Desktop/git/starship/node_modules/@raisinten/postject/dist/postject.js:9:73676),<anonymous>:11:10)
at Command.main (/home/darshan/Desktop/git/starship/node_modules/@raisinten/postject/dist/main.js:89:38)
Windows
Aborted()
C:\Users\admin\Desktop\git\starship\node_modules\@raisinten\postject\dist\postject.js:9varModule=typeofModule!="undefined"?Module:{}; ... moreunreadablecode...RuntimeError: Aborted().Buildwith-sASSERTIONSformoreinfo.atabort(C:\Users\admin\Desktop\git\starship\node_modules\@raisinten\postject\dist\postject.js:9:7843)at_abort(C:\Users\admin\Desktop\git\starship\node_modules\@raisinten\postject\dist\postject.js:9:92618)
at wasm://wasm/00d4368e:wasm-function[114]:0x3da3at wasm://wasm/00d4368e:wasm-function[419]:0x1b6b1at wasm://wasm/00d4368e:wasm-function[1559]:0xc64b4atinvoke_vii(C:\Users\admin\Desktop\git\starship\node_modules\@raisinten\postject\dist\postject.js:9:113453)atwasm://wasm/00d4368e:wasm-function[1010]:0x5a689atwasm://wasm/00d4368e:wasm-function[2815]:0x1860f4atwasm://wasm/00d4368e:wasm-function[2346]:0x135036atObject.injectIntoPE(evalatnew_(C:\Users\admin\Desktop\git\starship\node_modules\@raisinten\postject\dist\postject.js:1:1),<anonymous>:11:10)
macOS
Aborted()/home/raisinten/Desktop/git/starship/node_modules/@raisinten/postject/dist/postject.js:9varModule=typeofModule!="undefined"?Module:{}; ... moreunreadablecode...RuntimeError: Aborted().Buildwith-sASSERTIONSformoreinfo.atabort(/Users/raisinten/Desktop/git/starship/node_modules/@raisinten/postject/dist/postject.js:9:7918)at_abort(/Users/raisinten/Desktop/git/starship/node_modules/@raisinten/postject/dist/postject.js:9:92964)
at wasm://wasm/00d4368e:wasm-function[114]:0x3da3atinvoke_ii(/Users/raisinten/Desktop/git/starship/node_modules/@raisinten/postject/dist/postject.js:9:114307)at wasm://wasm/00d4368e:wasm-function[2643]:0x149f63atinvoke_iii(/Users/raisinten/Desktop/git/starship/node_modules/@raisinten/postject/dist/postject.js:9:114155)
at wasm://wasm/00d4368e:wasm-function[1427]:0x9c6d3atinvoke_iii(/Users/raisinten/Desktop/git/starship/node_modules/@raisinten/postject/dist/postject.js:9:114155)at wasm://wasm/00d4368e:wasm-function[2633]:0x149287at wasm://wasm/00d4368e:wasm-function[1507]:0xb624e
after building with -sASSERTIONS. the error looks like this:
Linux
Aborted(nativecodecalledabort())/home/darshan/Desktop/git/postject/dist/postject.js:9varModule=typeofModule!="undefined"?Module:{};... moreunreadablecode...RuntimeError: Aborted(nativecodecalledabort())atabort(/home/darshan/Desktop/git/postject/dist/postject.js:9:17627)at_abort(/home/darshan/Desktop/git/postject/dist/postject.js:9:111887)at<anonymous>:wasm-function[3619]:0x2af151at<anonymous>:wasm-function[877]:0x7ab90atinvoke_iiiii(/home/darshan/Desktop/git/postject/dist/postject.js:9:136355)at<anonymous>:wasm-function[1269]:0xd8ca8at<anonymous>:wasm-function[532]:0x4c919at<anonymous>:wasm-function[554]:0x55102atdynCall_iiij(<anonymous>:wasm-function[3917]:0x2befaf)
at /home/darshan/Desktop/git/postject/dist/postject.js:9:18225
Additional info
It works when I inject data into an official release build of the same version of Node.js which is 72M in size on Linux.
RaisinTen
changed the title
RuntimeError: Aborted when injecting into debug build of Node.js on Linux
RuntimeError: Aborted when injecting into debug build of Node.js on Linux and Windows
Sep 30, 2022
RaisinTen
changed the title
RuntimeError: Aborted when injecting into debug build of Node.js on Linux and Windows
RuntimeError: Aborted when injecting into debug build of Node.js on Linux, Windows and macOS
Sep 30, 2022
Strange, im having a similar issue on node v21.7.3 for linux. I'm using the node-sea platform to generate an executable blob and inject it into the node executable with postject:
I believe this bug has something to do with the size of the blob being injected, as it only occurs for me when large files are packaged in the blob. I ran some tests where I injected different size binary blobs that I generated with dd if=/dev/urandom of=./bin bs=1M count=[Size in MB]. I found that different node platforms have different file size limits regarding what can be injected before crashing. I found these numbers where upper limit is the largest possible blob that can be injected without crashing (+1Mb will cause a crash at this point):
Where x is the size of the blob:
Linux: x < 290 | upper limit = 298Mb
Windows is 493 < x < 494 | upper limit = 493Mb
Darwin is 527 < x < 528 | upper limit = 527Mb
Keep in mind these were all generated on linux. Again if the injected blob is below these specified sizes, no error occurs and the executable works as it should.
System info
Linux
$ uname -a Linux darshan-NUC11PAHi7 5.15.0-47-generic #51-Ubuntu SMP Thu Aug 11 07:51:15 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
Windows
macOS
$ uname -a Darwin Darshans-MacBook-Pro.local 21.6.0 Darwin Kernel Version 21.6.0: Mon Aug 22 20:17:10 PDT 2022; root:xnu-8020.140.49~2/RELEASE_X86_64 x86_64
Versions
Node.js: v16.15.0 (debug build)
Postject: Built from #45
Repro
./node
is a debug build of Node.js v16.15.0 and it has a size of 1.4G on Linux, 105M on Windows and 76M on Intel macOS.Error logs
Linux
Windows
macOS
after building with
-sASSERTIONS
. the error looks like this:Linux
Additional info
It works when I inject data into an official release build of the same version of Node.js which is 72M in size on Linux.
Handcrafted stack trace for Linux -
The text was updated successfully, but these errors were encountered: