forked from davatorium/rofi
-
Notifications
You must be signed in to change notification settings - Fork 42
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
rofi crashes randomly on fractional scaling. #124
Labels
Comments
The bug has been coming on and off randomly in repeated succession. It comes and goes away with no input from my side.
|
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Rofi version (rofi -v or git commit in case of build issue)
1.7.5+wayland3
Configuration
https://gist.github.com/siddharthkumarjha/da593d6c835d325bb07bbad00d784155
Theme
https://gist.github.com/siddharthkumarjha/8b230344e25a057b904b7591cd16970a
Timing report
https://gist.github.com/siddharthkumarjha/34c5ab72fddf7a4dedf5aa85ad37db0c
Launch command
rofi -show drun -no-config -no-plugins
Step to reproduce
This is very random but all you have to do is launch rofi the flags you pass it doesn't matter. The program will crash regardless with the same error.
The possible suspect is scaling factor. The reasons for this belief, re-iterating with my findings in discussion davatorium#1964
I have git cloned the repo,
built it,
and put it in gdb to get the following stack trace when the issue happens,
With the help of this stack trace and the rofi debug logs I went into code and saw that, the program was crashing in
wayland_rofi_view_update
function insource/wayland/view.c
at line 357 whencairo_paint
is invoked over the scaled version of rofi.To confirm this I added a few debug log lines in the program,
and ran this as below,
which generated the logs I shared in timing report,
https://gist.github.com/siddharthkumarjha/34c5ab72fddf7a4dedf5aa85ad37db0c
as can be seen the program crashed as soon as scaling was set as 2 (it's actually 1.2 but wayland seems to round that to 2 and report it as such to rofi). I launched the program with
-x11
flag which seems to hardcode the scale of 1,and the program would work. I changed my hyprland config,
scale here from 1.20 to 1.00 and it works again. go back and it stops working again.
I noticed that if I stop rofi from scaling like this,
(function in line 231 source/wayland/display.c)
The issue went away. Just changing
wayland->scale = output->current.scale;
in the commented out if statement towayland->scale = 1
works as well.I tested it several times and saw consistent behavior so I decided to report the issue through a discussion first. However shortly after reporting the issue it went away again like a ghost. With no changes from my side at all. Suddenly rofi is working again with scaling it's receiving.
I am quite puzzled as to why this is happening. This is not a first time issue and has happened before as well 3 months ago to be exact (discussion: davatorium#1932 ). At that time too it came and went away quite randomly like this.
Expected behavior
The expected behavior is the program works with without crashing. I have tested this problem with,
as well as various other flag combinations and that hasn't helped. It still generates the same errors.
My inxi,
Actual behavior
Actual behavior is the program randomly crashes with fractional scaling.
Additional information
No response
Using wayland display server protocol
I've checked if the issue exists in the latest stable release
The text was updated successfully, but these errors were encountered: