-
Notifications
You must be signed in to change notification settings - Fork 14
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
Add a test injecting a large resource #12
Comments
Fixes: #12 Signed-off-by: Darshan Sen <[email protected]>
Fixes: #12 Signed-off-by: Darshan Sen <[email protected]>
Fixes: #12 Signed-off-by: Darshan Sen <[email protected]>
Fixes: #12 Signed-off-by: Darshan Sen <[email protected]>
Fixes: #12 Signed-off-by: Darshan Sen <[email protected]>
Fixes: #12 Signed-off-by: Darshan Sen <[email protected]>
What is considered a large resource? I successfully tested this project with the new Node Single Executable Application functionality with a relatively trivial size, but when I created a bundle (and confirmed execution of the bundle works with a
I can't find any arg to enter a verbose mode, so not sure how to debug further. |
I was trying to find that out in #7 where I tried injecting large files into a tiny hello-world executable and I posted about my findings in nodejs/single-executable#23 (comment).
@dfellis looking at the command, I'm guessing that happened on Linux? (very curious what the distro name and the arch is) I tried injecting a 16MB file into the official Node.js Linux binary (92 MB) I downloaded from the website and it is able to finish the injection with no errors for me (final executable size - 107 MB). It also ran with no errors.
Assuming that this is an ELF binary, it means that the error was reported from Line 48 in 3edd1dd
Line 45 in 3edd1dd
LIEF::ELF::Parser::parse function - postject/vendor/lief/src/ELF/Parser.cpp Lines 346 to 355 in 3edd1dd
|
@RaisinTen thanks for replying. Couldn't get back to this until today. It's a mostly stock Ubuntu 22.04 LTS (with System76 kernel and drivers). The node binary I'm using is from
But I was under the impression that these are basically just stock, as well. As for building from source and tracing, is there a particular version of emscripten that should be used, as it appears that it's presumed to be set up outside of the build system? Trying to |
Hmm... so while waiting, I decided to just dig into the Node.js code for postject to see what's going on, adding some
Two things:
And that is not a binary, so when my build script (which is mostly just a copy-paste of the official docs) runs, And now when I run my build script with
Confirming that it's not a "too large" issue, it's that If you want, I can make a small PR to correct this (already confirmed here):
|
Thanks for looking into this, great work! 🎉 And to answer your questions:
Not really because Postject's CircleCI config currently uses the latest commit from emsdk's main - Line 105 in 3edd1dd
Are you referring to the exceptions that are being thrown in JS? That actually causes the Node.js process to print the error info and exit. |
I was running |
No description provided.
The text was updated successfully, but these errors were encountered: