-
Notifications
You must be signed in to change notification settings - Fork 8
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
v1.1.0: Illegal instruction (core dumped) #61
Comments
Hi @peterk87, |
Hi @kcleal, thanks for following up. I tried compiling with the prebuilt skia binaries following the updated instructions in the readme, but I still get the same issue with v1.1.0 and master at e2ae602 conda create -y -n gw_env -c conda-forge glfw htslib
conda activate gw_env
git clone https://github.com/kcleal/gw.git
cd gw && make prep
CONDA_PREFIX=$(conda info --base) LDLIBS+="-lcrypto -lssl" make -j4 This is the backtrace from the core dump:
Let me know if you need any more info! |
Hmm thanks for sharing. It looks like the crash is happening when skia is trying to use the Menlo typeface. You might be able to fix this by changing the font name in the the config file usually located at |
I tried changing the
|
Thanks for trying! |
I am also getting the same error. I'm on CentOS Stream 9. Happy to try debugging further. |
Hi @gtbil, |
Yes, it did work with Conda. I tried to install GW using the instructions provided here under Build from source. The pre-built skia binary did not work so I had to build it using the provided instructions, with |
Ok thanks, Grant. Did the pre-built skia binary and the built-from-scratch skia give the same core dumped problem? It's a tricky one to understand. It looks like the issue arises from skia doing something funky when trying to create a font. This is the gw code causing the issue in const char * font_c = fontStr.c_str();
face = SkTypeface::MakeFromName(font_c, SkFontStyle::Normal()); If the font name is set to 'Default' in the .gw.ini, that should avoid this block of code entirely. Alternatively, if you add a print statement to see if
If there is still a core dump, then the issue is not from the gw code and could be skia or fontconfig. It's interesting that the conda binary still works as that uses the pre-built skia. This makes me think it might be the fontconfig library on your system.... |
I couldn't even get So it actually looks like my stacktrace is different: My font name is set to For what it's worth here's the fontconfig package on my machine: Here's the output from
|
I recompiled Skia with debug symbols and got a slightly more useful stacktrace:
|
Ah ok, that's quite helpful. It looks like the issue arises from freetype which itself is compiled as a static lib during skia compilation. I believe you can switch off freetype compilation when building skia. You can try adding this to the gn args in build_skia.sh:
Or possibly just:
I will need to move to a later version of skia, its possible this issue has been resolved in one of the newer releases. |
Cool! I compiled Skia with these instructions (and an additional compiler flag,
Now getting a different error. Before, the GUI was not appearing, but now it appears and immediately crashes:
|
Ok I think I understand - this is still related to the first error. The illegal instruction is probably from the wrong SIMD flags being used at compilation. You can check what your CPU supports using lscpu I believe. I'm not sure what needs to be passed as a cxxflag, maybe -march=native. I will have a look tomorrow. Thanks for your input, much appreciated 👍 |
Awesome, thank you!! Removed all the SIMD-specific flags and replaced them with
Trace:
|
Ok maybe try a baseline
If that doesn't fix it then I will have to move to a newer skia version I think. It will take a bit of time as the API will be different in the newest version. |
No luck, same error. |
Ok one last try could be:
|
Still doesn't work unfortunately. |
Describe the bug
Illegal instruction (core dumped)
errors when trying to view any alignments with the same args ($ gw -b input.bam refs.fasta -r "$ACCESSION"
) as used with gw v1.0.0.To Reproduce
Built v1.1.0 from source on Arch Linux (g++ (GCC) 14.2.1 20240910):
Minimal reproduction of issue:
Expected behavior
No core dump.
System (please complete the following information):
Additional context
Window Manager: KWin (X11)
Desktop Environment: KDE
GPU: NVIDIA Corporation TU104GLM [Quadro RTX 5000 Mobile / Max-Q]
Nvidia driver version: 560.35.03
Fortunately, gw installed from Conda works now, so that's what I've been using.
Thanks for making a simple, fast and easy to use alignment viewer!
The text was updated successfully, but these errors were encountered: