-
Notifications
You must be signed in to change notification settings - Fork 6
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
vivify-server crashes: Segmentation fault #168
Comments
Hi I'm the maintainer of the AUR packages We've had a common issue building on Linux (Arch, as well as Fedora so far) with Node SEA, which is currently new and experimental. Building using system node would result in a segfaulting We managed to work around this issue by using the latest node from nvm (node version manager) when building. So on Arch Linux, the way I build manually is this:
(above requires that The AUR packages ( So I'm wondering, is the issue that you're on Manjaro which introduces some subtle differences? Also a possibility and a common mistake: be sure that you don't have an earlier instance of Also if none of the above helps, I'd be interested if |
Another common mistake: See that you're not using wrong executables by mistake, For example, the AUR packages install in
And at least for me, this takes precedence over |
For anyone who still gets segmentation faults when using |
Thank you for the replay: I tried what you suggested - I could run viv --version -> vivify-server v0.5.0, but server is not starting: (node:15610) ExperimentalWarning: Single executable application is an experimental feature and might change at any time
(Use `vivify-server --trace-warnings ...` to show where the warning was created) Then I uninstalled it, then installed vivify-bin ~/Notes > viv eos-feat-Feedback.md
Fatal: vivify-server crashed. Please use the link below to submit a bug report.
The bug report template will help you provide the necessary information and
maybe even find a solution yourself.
https://github.com/jannis-baum/Vivify/issues/new?labels=type%3Abug&template=bug-report.md
~/Notes viv --version
vivify-server v0.5.0.r0.g9c5f1ff-1-aur
~/Notes > vivify-server eos-feat-Feedback.md
(node:25713) ExperimentalWarning: Single executable application is an experimental feature and might change at any time
(Use `vivify-server --trace-warnings ...` to show where the warning was created) Best regards
|
Thanks, very good to know. Guess using the latest one is applicable to Arch but not for many other distros so I should be careful with the example 😄 @Praczet Yeah this seems pretty troubling. The error message is improved a little bit in v0.5.1 and shows the full path of the crashing server, in case that would reveal anything but from what you say seems unlikely. We've been talking about trying to run Manjaro in a VM and see if we can reproduce this and go from there. We'll be back to tell you how that's going 😄 |
Oh yeah if anyone else is using Manjaro and would like to chime in, would be very helpful |
I'm downloading Manjaro now to see if I can reproduce the error. |
So I never know how much detail people want in a response like this, so first the short version:- @Praczet, it looks like you might have both an AUR packaged version and a manually compiled (and broken) version installed. While you can have both versions installed, it does cause some confusion. Lets see if we can get the AUR version going first... Assuming you still have either
Can you let me know what happens? If you do want to compile manually from source, we can fix that too. See below, and let me know if you want I can do step by step instructions to get you back into a working state. (just note I am in Australian Eastern time UTC+10 😅) And for those interested, the deets!!!! -----
So, having said all that, you don't need to both install from the AUR and build from the git repo. One or the other is enough, and if you do build from source manually, you cannot use the Majaro (or Arch, or Fedora...) packaged version of node. You need to install nvm and then do |
@jannis-baum This info is for you... Manjaro
|
Thanks very much!
This seems significant to me |
First of all thank you for dedicating time for this.
atal: "/usr/bin/vivify-server" crashed.
Please use the link below to submit a bug report.
The bug report template will help you provide the necessary information and
maybe even find a solution yourself.
https://github.com/jannis-baum/Vivify/issues/new?labels=type%3Abug&template=bug-report.md
|
Interesting, I'm out at the moment, I'll be home in 2 hours or so, and I have something else to try. In the meantime, do you have nvm installed? If so, can you |
Yes, I have it.
~/Notes nvm install node |
Ok cool. Jannis is in the process of making some changes to the makefile to hopefully sort this out for good. Would you mind doing one more clean build using our repo? so:-
you can then run And then also for Jannis, could you run:- objdump -p /home/adam/.nvm/versions/node/v22.7.0/bin/node | grep NEEDED and objdump -p /usr/bin/node | grep NEEDED Every time I've ever hit this issue, the nvm version of node fixed it, so maybe this node dependency issue on your machine? If you like, you can also then try using the older node version that @palomino79 used So:-
then try viv again. |
install.log
NEEDED libdl.so.2
NEEDED libstdc++.so.6
NEEDED libm.so.6
NEEDED libgcc_s.so.1
NEEDED libpthread.so.0
NEEDED libc.so.6
NEEDED ld-linux-x86-64.so.2
NEEDED libz.so.1
NEEDED libuv.so.1
NEEDED libbrotlidec.so.1
NEEDED libbrotlienc.so.1
NEEDED libcares.so.2
NEEDED libnghttp2.so.14
NEEDED libcrypto.so.3
NEEDED libssl.so.3
NEEDED libicui18n.so.75
NEEDED libicuuc.so.75
NEEDED libstdc++.so.6
NEEDED libm.so.6
NEEDED libgcc_s.so.1
NEEDED libc.so.6
NEEDED ld-linux-x86-64.so.2 So I tried:
viv . => crashes [Edit]: I've attached two files: output for |
Ok let us have a look and see what we can find... :) |
Hey, so we looked through your logs and notice you are missing a line that we all have. Specifically there should be a line that says So maybe we are looking at some runtime dependency issue for node itself? If you are still happy to play along, could you do this? EDIT: This should make it easier to copy and paste each command in order :)
And paste the whole output here? Should look something like this:
|
Hey, During the weekend I will little bit more sluggish... I was pretty sure that I saw that message you mentioned... So I installed again and indeed this message was displayed on the screen, not redirected to the file.. Wrote single executable preparation blob to build/sea-prep.blob
warning: Can't find string offset for section name '.note.100'
warning: Can't find string offset for section name '.note.100'
warning: Can't find string offset for section name '.note.100'
warning: Can't find string offset for section name '.note.100'
warning: Can't find string offset for section name '.note.100'
warning: Can't find string offset for section name '.note'
warning: Can't find string offset for section name '.note.100'
warning: Can't find string offset for section name '.note.100'
warning: Can't find string offset for section name '.note.100' |
OK. It works... What changed?:
I can check on Monday if it is related to network, in which I doubt. Thank you very much for help. If you need something from me to check I will be more then happy to help you. Have a nice weekend. |
Great to know the build is the same with the Ok! Very nice, although not quite clear what fixed it but I think it's quuuite safe to say that Vivify works on Manjaro 😄 |
Awesome. Sometimes corporate networks can block and do weird things, but I would have expected to see more obvious errors in that case. So yeah, probably the restart. 😅 If I had to guess, maybe you had applied some updates and not rebooted yet? Anyway, glad you got it working! |
Hi, |
Hey @Praczet sorry to hear that. I think at this point we can be quite certain that we can't reproduce this, so we can only help indirectly. My best guess right now is that your work network somehow keeps Node SEA ("Single executable application") from working, which is what we use to compile If you want to keep investigating, you can follow this guide of creating a simple example Node SEA. In case my guess is right and this gives you the same error as you get with Vivify, you can contact the devs there to try and find a solution. |
Oh wow that is so interesting, so is it the building/compiling process that breaks at work? Or are you literally just trying to open the viewer on local files? I assume this is a laptop you are taking back and forth, is that correct? |
Hi, I did some test today. As I said yesterday I am able to start and use vivify-server at home. At home I am connected thru Wired interface (as well as at the office). And at home it starts without no issues. Today I came to office I tried to start server, it crashed. So I disabled the network interface and it started without any issue. So it cashes only when I am connected (with active network interface) to my work's network. Even more when the server is active (activated with disabled network) I can active interface again and as long as I have active server (open tab with one of files) it works. |
@Praczet would you mind trying the Node SEA example that I sent in my previous reply? Without that we are just going in circles and guessing. Once you have tried this we will know if this happens because of how Node SEA works or because of some package we use for Vivify. |
@jannis-baum I will do it on Monday when I will be back at work. |
Hi, Start injection of NODE_SEA_BLOB in hello...
warning: Can't find string offset for section name '.note.100'
warning: Can't find string offset for section name '.note.100'
warning: Can't find string offset for section name '.note.100'
warning: Can't find string offset for section name '.note.100'
warning: Can't find string offset for section name '.note.100'
warning: Can't find string offset for section name '.note'
warning: Can't find string offset for section name '.note.100'
warning: Can't find string offset for section name '.note.100'
warning: Can't find string offset for section name '.note.100'
💉 Injection done! Then running Hello, world!
(node:7713) ExperimentalWarning: Single executable application is an experimental feature and might change at any time
(Use `hello --trace-warnings ...` to show where the warning was created) So I think I managed to compile it. |
Hi Adam, thanks for trying this out. Our next best guess after this was that some package we use makes some network request and doesn't handle being blocked by your work network, but @Tweekism also ruled this out by monitoring the (lack of) network traffic that happens when Vivify starts. With both of these guesses ruled out, it seems that the issue is caused by some other hard-to-predict thing that is blocked in your setup. This makes it very hard since we have no way of investigating other than asking you about every little thing, which would be very inefficient. For this reason I'll unfortunately have to tell you that we won't be able to keep looking into this – at least for now, unless it comes up again for someone else. That said, you can of course keep looking into it yourself and we would be very happy to know about it in case you figure it out. If I had access to your setup to keep investigating, I'd put together Vivify bit by bit (starting from the SEO example that works) and see what makes it break. My next best guess would be that it's the fact that we inject a ZIP file with the static assets into the executable (see Makefile) and read from it at runtime (see static router in source) to e.g. serve the CSS. Maybe your setup blocks reading that for some kind of security reason. So that's where I'd recommend to start looking in case you want to :) |
Thnx When I have time I will sit again and try to find the solution... |
On runtime we have to serve some static files (CSS, client-side JS and some other stuff) to make Vivify work and look nice on the browser. One way of doing this would be by making sure every user has all these files laying around somewhere on their machine, which would be quite cumbersome for (un)installation & support. That's why we take all of these static files, compress them into a single ZIP archive (to save on storage), and add the binary data of this archive into the binary executable |
Hi. So now my mind can rest and I can close this "issue" Still, thank you very much for the time you dedicated to me. I've never have so good feedback. |
Description
The vivify-server crash happens each time when I try to run
To Reproduce
Just by running command
Context
I've installed Vivify in the following way (e.g. name of the package manager, self-compiled or development mode):
The text was updated successfully, but these errors were encountered: