the-drunk-coder / megra.rs

Mégra is a mini-language to make music with variable-order markov chains and some other stochastic shenanigans.
GNU General Public License v3.0
62 stars 2 forks source link

Segfault when running release binary #5

Open israellevin opened 1 month ago

israellevin commented 1 month ago

I'm getting a segfault when I try to run the pre-built binaries.

$ wget -q https://github.com/the-drunk-coder/megra.rs/releases/download/v0.0.12/megra_rs_0_0_12_linux_ringbuffer.AppImage
$ chmod +x megra_rs_0_0_12_linux_ringbuffer.AppImage
$ ./megra_rs_0_0_12_linux_ringbuffer.AppImage
Segmentation fault
$ dmesg
[17664.559260] bin[107151]: segfault at 0 ip 0000000000000000 sp 00007ffd01c92d18 error 14 in bin[55a8d77cc000+114000] likely on CPU 1 (core 1, socket 0)
[17664.559270] Code: Unable to access opcode bytes at 0xffffffffffffffd6.

Looks like a really awesome project, thanks!

the-drunk-coder commented 1 month ago

Hi, which distro are you on? I'm building the AppImage on Arch, but I recently found out that that might not be the best Idea ...

israellevin commented 1 month ago

I'm using Debian. Not sure why the build process would be different for Arch.

the-drunk-coder commented 1 month ago

It's not the build process itself ...

Even though creating an AppImage SHOULD include everything necessary to run the application, the code is still compiled/linked against libraries that are available on the system you build it on, and if these are of a newer date than the one on the system you try to run it on, there might be version mismatches etc.

It's usually less problematic in the other direction, building on a system with older libraries and run it on the newer system ...

israellevin commented 1 month ago

Thanks, now I get it. I always thought AppImages are statically linked, but that's just because I have zero experience with them :)