Coredump after using the search command
I used / to look for a word in a pdf file, for example which and got a crash.
The command line shows the following since starting sioyek:
default_config_path: /etc/sioyek/prefs.config
default_keys_path: /etc/sioyek/keys.config
user_config_path: [ 0 ] /etc/xdg/sioyek/prefs_user.config
user_config_path: [ 1 ] /home/oliver/.config/sioyek/prefs_user.config
user_keys_path: [ 0 ] /etc/xdg/sioyek/keys_user.config
user_keys_path: [ 1 ] /home/oliver/.config/sioyek/keys_user.config
database_file_path: /home/oliver/.local/share/sioyek/test.db
local_database_file_path: /home/oliver/.local/share/sioyek/local.db
global_database_file_path: /home/oliver/.local/share/sioyek/shared.db
tutorial_path: /usr/share/sioyek/tutorial.pdf
last_opened_file_address_path: /home/oliver/.local/share/sioyek/last_document_path.txt
shader_path: /usr/share/sioyek/shaders
Creating shared memory block...
Shared memory created: this is the primary application.
Starting IPC server...
IPC server started.
warning: bogus font ascent/descent values (0 / 0)
/usr/include/c++/15.2.1/bits/stl_vector.h:1370: std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::back() [with _Tp = SearchResult; _Alloc = std::allocator<SearchResult>; reference = SearchResult&]: Assertion '!this->empty()' failed.
Aborted (core dumped) sioyek generalised_continuations-jfp2020.pdf
I used the AUR package: https://aur.archlinux.org/packages/sioyek
The pdf file with which this occured: https://dhil.net/research/papers/generalised_continuations-jfp2020.pdf
I tried the search with a different pdf and got the same problem... also a crash, same message.
Looks like this line is creating the problem: https://github.com/ahrm/sioyek/blob/main/pdf_viewer/pdf_renderer.cpp#L331
In the Code that is used in the AUR-package, it would be line 326. (commit 40a061048d1270aa)
I tried the other (git-based) package on AUR, and sioyek works well with that installation:
https://aur.archlinux.org/packages/sioyek-git
The problem reoccured now also with the current AUR package, which worked so far.
default_config_path: /etc/sioyek/prefs.config
default_keys_path: /etc/sioyek/keys.config
user_config_path: [ 0 ] /etc/xdg/sioyek/prefs_user.config
user_config_path: [ 1 ] /home/oliver/.config/sioyek/prefs_user.config
user_keys_path: [ 0 ] /etc/xdg/sioyek/keys_user.config
user_keys_path: [ 1 ] /home/oliver/.config/sioyek/keys_user.config
database_file_path: /home/oliver/.local/share/sioyek/test.db
local_database_file_path: /home/oliver/.local/share/sioyek/local.db
global_database_file_path: /home/oliver/.local/share/sioyek/shared.db
tutorial_path: /usr/share/sioyek/tutorial.pdf
last_opened_file_address_path: /home/oliver/.local/share/sioyek/last_document_path.txt
shader_path: /usr/share/sioyek/shaders
Creating shared memory block...
Shared memory created: this is the primary application.
Starting IPC server...
IPC server started.
warning: bogus font ascent/descent values (0 / 0)
warning: ... repeated 6 times...
/usr/include/c++/15.2.1/bits/stl_vector.h:1370: std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::back() [with _Tp = SearchResult; _Alloc = std::allocator<SearchResult>; reference = SearchResult&]: Assertion '!this->empty()' failed.
Aborted (core dumped) sioyek
i can also trigger this behaviour on archlinux
Does the issue happen with the official release here: https://github.com/ahrm/sioyek/releases/tag/sioyek3-alpha0?
Using the tar.gz and then using ./build_linux.sh I get
make: *** No targets specified and no makefile found. Stop.
Maybe I should look up, how the Arch-package is built and can get it compiled then.
...well... the AUR package uses a patch but then just also uses build_linux.sh
Don't know how to get this compiled / what's wrong here.
The hidden magic is not explained, so I stop exploring.
Are there unmentioned env-vars that I don't have set?
I wonder, why the AUR package works (it's some months old, but I checked... it works still).
Maybe the README-file could be enhanced a bit here.