Skip to content
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

test_calculate_dimensions_height_min test fails #1404

Open
fossdd opened this issue Dec 2, 2024 · 25 comments · May be fixed by #1428
Open

test_calculate_dimensions_height_min test fails #1404

fossdd opened this issue Dec 2, 2024 · 25 comments · May be fixed by #1428

Comments

@fossdd
Copy link

fossdd commented Dec 2, 2024

Issue description

The following test failure is shown when trying to make test.

FAIL test_calculate_dimensions_height_min: dim.h == expected_height (test/draw.c:330) (133 ticks, 0.000 sec)

Installation info

  • Version: 1.12.0
@bynect
Copy link
Member

bynect commented Dec 2, 2024

All test pass both locally and on the ci for me.

Could you please add details about the environment you are using?
Distro, library versions, etc?

@bynect
Copy link
Member

bynect commented Dec 2, 2024

this test in particular does not rely on any particular library so it is really strange for it to fail.

did you make clean before make test? did you modify any file in the repo?

@fossdd
Copy link
Author

fossdd commented Dec 2, 2024

Oh, sure. It failed on the Alpine build system, therefore there were no dirty files.

The complete build script is here: https://gitlab.alpinelinux.org/alpine/aports/-/blob/8ed5dc098fc54e52d91145b2eb8b103bc32e8c69/community/dunst/APKBUILD

@bynect
Copy link
Member

bynect commented Dec 2, 2024

Oh, sure. It failed on the Alpine build system, therefore there were no dirty files.

The complete build script is here: https://gitlab.alpinelinux.org/alpine/aports/-/blob/8ed5dc098fc54e52d91145b2eb8b103bc32e8c69/community/dunst/APKBUILD

Now that's weird. We also have an alpine ci that succeed (https://github.com/dunst-project/dunst/actions/runs/12097617833/job/33733173054).

Any possibility that it was a fluke? Could you rerun it if possible?

Also was this the only thing to fail?

@fossdd
Copy link
Author

fossdd commented Dec 3, 2024

Now that's weird. We also have an alpine ci that succeed (https://github.com/dunst-project/dunst/actions/runs/12097617833/job/33733173054).

Huh, very weird.

Any possibility that it was a fluke? Could you rerun it if possible?

Also was this the only thing to fail?

Actually I already retried the tests, but they fail on all CI builders across mulitple architectures.

There are sometime also other failing tests but they are most likely flakey and not related to this issue.

I checked your CI and seems similar to what we do in Alpine. What would come in mind, maybe it's still the dependencies. Your CI still seems to alpine:3.18 (https://github.com/dunst-project/docker-images/blob/master/ci/Dockerfile.alpine#L1C1-L1C17) which I tested against alpine:edge.

@bynect
Copy link
Member

bynect commented Dec 3, 2024

so all the failures come from alpine:edge?
I can try to bump the alpine version to 3.20 but generally we don't test against the latest versions of distros

@bynect
Copy link
Member

bynect commented Dec 3, 2024

I was reading the build log you linked and while it might not be related I found many errors like this

warning: format '%li' expects argument of type 'long int', but argument 6 has type 'gint64' {aka 'long long int'} [-Wformat=]

which is quite strange for me since glib should be fairly standard on all distros. Maybe new versions changed guint64 from long int to long long int? Needs more investigation

EDIT: only appears on x86 so it is indeed unrelated

@CaptaiNiveau
Copy link

CaptaiNiveau commented Dec 7, 2024

I just upgraded to 1.12 on Arch and all my notifications are too tall, downgrading to 1.11 fixes it. Could these issues be related?

Edit: Never mind, there's an existing and already solved issue #1392 that was hidden by default.
Changing the height to (0, 300) (or any other value other than 300) and default_icon = dialog-information to [urgency_normal] fixed this.

@bynect
Copy link
Member

bynect commented Dec 7, 2024

I just upgraded to 1.12 on Arch and all my notifications are too tall, downgrading to 1.11 fixes it. Could these issues be related?

Edit: Never mind, there's an existing and already solved issue #1392 that was hidden by default.
Changing the height to (0, 300) (or any other value other than 300) and default_icon = dialog-information to [urgency_normal] fixed this.

Please read the RELEASE_NOTES, I described the required changes

@bynect
Copy link
Member

bynect commented Dec 8, 2024

I bumped alpine docker from 3.18 to 3.21 and also added an alpine edge to the ci.
both work correctly without reporting any errors.
I conclude that the problem you are encountering are either due to the Dockerfile or from your environment.

@dcermak
Copy link
Contributor

dcermak commented Dec 18, 2024

I can reproduce exactly the same issue on openSUSE Tumbleweed, where I was trying to bump the package version to 1.12.1. The same test fails, because dim.h is 206 and expected_height is 106.

You can reproduce this issue relatively easily using the following Dockerfile:

from registry.opensuse.org/opensuse/tumbleweed:latest

RUN set -euo pipefail; \
    zypper modifyrepo -e repo-source; \
    zypper -n source-install -d dunst; \
    zypper -n in 'pkgconfig(wayland-protocols)' gcc git make awk; \
    zypper -n clean; rm -rf /var/log/

RUN git clone https://github.com/dunst-project/dunst

WORKDIR /dunst

RUN git checkout v1.12.1
RUN make
RUN make test

(the build fails at make test, so if you want to have a shell for experimentation, comment out the last RUN instruction)

@bynect
Copy link
Member

bynect commented Dec 18, 2024

It seems this can be reproduced in the alpine:edge, void linux and tumbleweed ci. However locally and our alpine:edge it is not reproducible.

I will try to investigate this. However I am a docker noob and also this week I am very busy. If someone could help me figure this out I would be grateful.

Anyway I was thinking that maybe this is a result of compiler flags and some undefined behavior? I don't think this is related to the dependencies since that piece of code shouldn't have any (apart maybe from pango?)

@dcermak
Copy link
Contributor

dcermak commented Dec 18, 2024

Anyway I was thinking that maybe this is a result of compiler flags and some undefined behavior? I don't think this is related to the dependencies since that piece of code shouldn't have any (apart maybe from pango?)

Sadly, it doesn't appear to be the case. I have taken the compiler flags from Fedora and applied them on Tumbleweed, still get the same failure:

from registry.opensuse.org/opensuse/tumbleweed:latest

RUN set -euo pipefail; \
    zypper modifyrepo -e repo-source; \
    zypper -n source-install -d dunst; \
    zypper -n in 'pkgconfig(wayland-protocols)' gcc git make awk libubsan1 libasan8; \
    zypper -n clean; rm -rf /var/log/

RUN git clone https://github.com/dunst-project/dunst

WORKDIR /dunst

RUN git checkout v1.12.1

ENV CFLAGS="-O2 -Wall -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -fstack-protector-strong"
RUN make
RUN make test

and with that we still get:

FAIL test_calculate_dimensions_height_min: dim.h == expected_height (test/draw.c:312) (11 ticks, 0.000 sec)

So I have tried to use ASAN & UBSAN, but sadly UBSAN doesn't find anything, but ASAN finds a memory leak (but in a totally different place):

PASS assert_methodlists_sorted:  (1 ticks, 0.init_second_pass: a 495653793, c 2147483647, state 123913448
init_second_pass: a 495653793, c 2147483647, state 123913448

=================================================================
==133==ERROR: LeakSanitizer: detected memory leaks

Direct leak of 1024 byte(s) in 2 object(s) allocated from:
    #0 0x7f7c6f3f2678  (/lib64/libasan.so.8+0xfb678) (BuildId: da72ee674d801ced58193987786b90646d94ff8d)
    #1 0x7f7c6dd23338  (/lib64/libfontconfig.so.1+0x21338) (BuildId: 4d14c9ae9ebc3de75e0e185d8e56c3f8fef208ba)

Direct leak of 32 byte(s) in 2 object(s) allocated from:
    #0 0x7f7c6f3f3777 in malloc (/lib64/libasan.so.8+0xfc777) (BuildId: da72ee674d801ced58193987786b90646d94ff8d)
    #1 0x7f7c6ee26c5d in g_malloc (/lib64/libglib-2.0.so.0+0x67c5d) (BuildId: 3f08ae41af3e9f501125a097c95d66b86044f831)

Indirect leak of 5504 byte(s) in 172 object(s) allocated from:
    #0 0x7f7c6f3f3777 in malloc (/lib64/libasan.so.8+0xfc777) (BuildId: da72ee674d801ced58193987786b90646d94ff8d)
    #1 0x7f7c6dd0f11f  (/lib64/libfontconfig.so.1+0xd11f) (BuildId: 4d14c9ae9ebc3de75e0e185d8e56c3f8fef208ba)

Indirect leak of 1978 byte(s) in 164 object(s) allocated from:
    #0 0x7f7c6f3ed880 in strdup (/lib64/libasan.so.8+0xf6880) (BuildId: da72ee674d801ced58193987786b90646d94ff8d)
    #1 0x7f7c6dd0e882  (/lib64/libfontconfig.so.1+0xc882) (BuildId: 4d14c9ae9ebc3de75e0e185d8e56c3f8fef208ba)

Indirect leak of 1760 byte(s) in 55 object(s) allocated from:
    #0 0x7f7c6f3f3130 in calloc (/lib64/libasan.so.8+0xfc130) (BuildId: da72ee674d801ced58193987786b90646d94ff8d)
    #1 0x7f7c6dd27548  (/lib64/libfontconfig.so.1+0x25548) (BuildId: 4d14c9ae9ebc3de75e0e185d8e56c3f8fef208ba)

Indirect leak of 801 byte(s) in 25 object(s) allocated from:
    #0 0x7f7c6f3f3777 in malloc (/lib64/libasan.so.8+0xfc777) (BuildId: da72ee674d801ced58193987786b90646d94ff8d)
    #1 0x7f7c6ee26c5d in g_malloc (/lib64/libglib-2.0.so.0+0x67c5d) (BuildId: 3f08ae41af3e9f501125a097c95d66b86044f831)

Indirect leak of 560 byte(s) in 5 object(s) allocated from:
    #0 0x7f7c6f3f2678  (/lib64/libasan.so.8+0xfb678) (BuildId: da72ee674d801ced58193987786b90646d94ff8d)
    #1 0x7f7c6ee26d05 in g_realloc (/lib64/libglib-2.0.so.0+0x67d05) (BuildId: 3f08ae41af3e9f501125a097c95d66b86044f831)

Indirect leak of 420 byte(s) in 2 object(s) allocated from:
    #0 0x7f7c6f3f3130 in calloc (/lib64/libasan.so.8+0xfc130) (BuildId: da72ee674d801ced58193987786b90646d94ff8d)
    #1 0x7f7c6ee26cb5 in g_malloc0 (/lib64/libglib-2.0.so.0+0x67cb5) (BuildId: 3f08ae41af3e9f501125a097c95d66b86044f831)
    #2 0x42ef3b in test_notification_uninitialized test/helpers.c:39
    #3 0x42ef3b in test_notification test/helpers.c:51
    #4 0x42f1d4 in get_dummy_notifications test/helpers.c:77
    #5 0x43097e in test_calculate_dimensions_height_min test/draw.c:308
    #6 0x43097e in suite_draw test/draw.c:385
    #7 0x49f119 in greatest_run_suite test/test.c:33
    #8 0x49f119 in greatest_run_suite test/test.c:33
    #9 0x40f93a in main test/test.c:66
    #10 0x7f7c6e1a72ad in __libc_start_call_main (/lib64/libc.so.6+0x2a2ad) (BuildId: 03f1631dc9760d3e30311fe62e15cc4baaa89db7)

Indirect leak of 372 byte(s) in 4 object(s) allocated from:
    #0 0x7f7c6f3f3130 in calloc (/lib64/libasan.so.8+0xfc130) (BuildId: da72ee674d801ced58193987786b90646d94ff8d)
    #1 0x7f7c6ee26cb5 in g_malloc0 (/lib64/libglib-2.0.so.0+0x67cb5) (BuildId: 3f08ae41af3e9f501125a097c95d66b86044f831)

Indirect leak of 336 byte(s) in 1 object(s) allocated from:
    #0 0x7f7c6f3f3130 in calloc (/lib64/libasan.so.8+0xfc130) (BuildId: da72ee674d801ced58193987786b90646d94ff8d)
    #1 0x7f7c6ee26cb5 in g_malloc0 (/lib64/libglib-2.0.so.0+0x67cb5) (BuildId: 3f08ae41af3e9f501125a097c95d66b86044f831)
    #2 0x494ae7 in rule_apply test/../src/rules.c:34
    #3 0x49c815 in rule_apply_all test/../src/rules.c:202
    #4 0x4506f9 in notification_init test/../src/notification.c:535
    #5 0x42f030 in test_notification test/helpers.c:53
    #6 0x42f1d4 in get_dummy_notifications test/helpers.c:77
    #7 0x43097e in test_calculate_dimensions_height_min test/draw.c:308
    #8 0x43097e in suite_draw test/draw.c:385
    #9 0x49f119 in greatest_run_suite test/test.c:33
    #10 0x49f119 in greatest_run_suite test/test.c:33
    #11 0x40f93a in main test/test.c:66
    #12 0x7f7c6e1a72ad in __libc_start_call_main (/lib64/libc.so.6+0x2a2ad) (BuildId: 03f1631dc9760d3e30311fe62e15cc4baaa89db7)

Indirect leak of 168 byte(s) in 3 object(s) allocated from:
    #0 0x7f7c6f3f3130 in calloc (/lib64/libasan.so.8+0xfc130) (BuildId: da72ee674d801ced58193987786b90646d94ff8d)
    #1 0x7f7c6eb84f52 in cairo_font_options_create (/lib64/libcairo.so.2+0x24f52) (BuildId: 3b7a46d54327cdd9873d4c07020f031b1890d978)

Indirect leak of 90 byte(s) in 21 object(s) allocated from:
    #0 0x7f7c6f3ed880 in strdup (/lib64/libasan.so.8+0xf6880) (BuildId: da72ee674d801ced58193987786b90646d94ff8d)
    #1 0x7f7c6dd22aef in FcValueSave (/lib64/libfontconfig.so.1+0x20aef) (BuildId: 4d14c9ae9ebc3de75e0e185d8e56c3f8fef208ba)

Indirect leak of 52 byte(s) in 1 object(s) allocated from:
    #0 0x7f7c6f3f3777 in malloc (/lib64/libasan.so.8+0xfc777) (BuildId: da72ee674d801ced58193987786b90646d94ff8d)
    #1 0x7f7c6ee26c5d in g_malloc (/lib64/libglib-2.0.so.0+0x67c5d) (BuildId: 3f08ae41af3e9f501125a097c95d66b86044f831)
    #2 0x447dd0 in notification_replace_single_field test/../src/notification.c:418
    #3 0x44846a in notification_format_message test/../src/notification.c:592
    #4 0x450a9a in notification_init test/../src/notification.c:554
    #5 0x42f030 in test_notification test/helpers.c:53
    #6 0x42f1d4 in get_dummy_notifications test/helpers.c:77
    #7 0x43097e in test_calculate_dimensions_height_min test/draw.c:308
    #8 0x43097e in suite_draw test/draw.c:385
    #9 0x49f119 in greatest_run_suite test/test.c:33
    #10 0x49f119 in greatest_run_suite test/test.c:33
    #11 0x40f93a in main test/test.c:66
    #12 0x7f7c6e1a72ad in __libc_start_call_main (/lib64/libc.so.6+0x2a2ad) (BuildId: 03f1631dc9760d3e30311fe62e15cc4baaa89db7)

Indirect leak of 48 byte(s) in 1 object(s) allocated from:
    #0 0x7f7c6f3f3777 in malloc (/lib64/libasan.so.8+0xfc777) (BuildId: da72ee674d801ced58193987786b90646d94ff8d)
    #1 0x7f7c6ee26c5d in g_malloc (/lib64/libglib-2.0.so.0+0x67c5d) (BuildId: 3f08ae41af3e9f501125a097c95d66b86044f831)
    #2 0x428eca in layout_from_notification test/../src/draw.c:416
    #3 0x429563 in get_dummy_layouts test/draw.c:66
    #4 0x430989 in test_calculate_dimensions_height_min test/draw.c:309
    #5 0x430989 in suite_draw test/draw.c:385
    #6 0x49f119 in greatest_run_suite test/test.c:33
    #7 0x49f119 in greatest_run_suite test/test.c:33
    #8 0x40f93a in main test/test.c:66
    #9 0x7f7c6e1a72ad in __libc_start_call_main (/lib64/libc.so.6+0x2a2ad) (BuildId: 03f1631dc9760d3e30311fe62e15cc4baaa89db7)

Indirect leak of 13 byte(s) in 1 object(s) allocated from:
    #0 0x7f7c6f3f3777 in malloc (/lib64/libasan.so.8+0xfc777) (BuildId: da72ee674d801ced58193987786b90646d94ff8d)
    #1 0x7f7c6ee26c5d in g_malloc (/lib64/libglib-2.0.so.0+0x67c5d) (BuildId: 3f08ae41af3e9f501125a097c95d66b86044f831)
    #2 0x43097e in test_calculate_dimensions_height_min test/draw.c:308
    #3 0x43097e in suite_draw test/draw.c:385
    #4 0x49f119 in greatest_run_suite test/test.c:33
    #5 0x49f119 in greatest_run_suite test/test.c:33
    #6 0x40f93a in main test/test.c:66
    #7 0x7f7c6e1a72ad in __libc_start_call_main (/lib64/libc.so.6+0x2a2ad) (BuildId: 03f1631dc9760d3e30311fe62e15cc4baaa89db7)

Indirect leak of 9 byte(s) in 1 object(s) allocated from:
    #0 0x7f7c6f3f3777 in malloc (/lib64/libasan.so.8+0xfc777) (BuildId: da72ee674d801ced58193987786b90646d94ff8d)
    #1 0x7f7c6ee26c5d in g_malloc (/lib64/libglib-2.0.so.0+0x67c5d) (BuildId: 3f08ae41af3e9f501125a097c95d66b86044f831)
    #2 0x494ae7 in rule_apply test/../src/rules.c:34
    #3 0x49c815 in rule_apply_all test/../src/rules.c:202
    #4 0x4506f9 in notification_init test/../src/notification.c:535
    #5 0x42f030 in test_notification test/helpers.c:53
    #6 0x42f1d4 in get_dummy_notifications test/helpers.c:77
    #7 0x43097e in test_calculate_dimensions_height_min test/draw.c:308
    #8 0x43097e in suite_draw test/draw.c:385
    #9 0x49f119 in greatest_run_suite test/test.c:33
    #10 0x49f119 in greatest_run_suite test/test.c:33
    #11 0x40f93a in main test/test.c:66
    #12 0x7f7c6e1a72ad in __libc_start_call_main (/lib64/libc.so.6+0x2a2ad) (BuildId: 03f1631dc9760d3e30311fe62e15cc4baaa89db7)

Indirect leak of 8 byte(s) in 1 object(s) allocated from:
    #0 0x7f7c6f3f3777 in malloc (/lib64/libasan.so.8+0xfc777) (BuildId: da72ee674d801ced58193987786b90646d94ff8d)
    #1 0x7f7c6ee26c5d in g_malloc (/lib64/libglib-2.0.so.0+0x67c5d) (BuildId: 3f08ae41af3e9f501125a097c95d66b86044f831)
    #2 0x42ef3b in test_notification_uninitialized test/helpers.c:39
    #3 0x42ef3b in test_notification test/helpers.c:51
    #4 0x42f1d4 in get_dummy_notifications test/helpers.c:77
    #5 0x43097e in test_calculate_dimensions_height_min test/draw.c:308
    #6 0x43097e in suite_draw test/draw.c:385
    #7 0x49f119 in greatest_run_suite test/test.c:33
    #8 0x49f119 in greatest_run_suite test/test.c:33
    #9 0x40f93a in main test/test.c:66
    #10 0x7f7c6e1a72ad in __libc_start_call_main (/lib64/libc.so.6+0x2a2ad) (BuildId: 03f1631dc9760d3e30311fe62e15cc4baaa89db7)

Indirect leak of 1 byte(s) in 1 object(s) allocated from:
    #0 0x7f7c6f3f3777 in malloc (/lib64/libasan.so.8+0xfc777) (BuildId: da72ee674d801ced58193987786b90646d94ff8d)
    #1 0x7f7c6ee26c5d in g_malloc (/lib64/libglib-2.0.so.0+0x67c5d) (BuildId: 3f08ae41af3e9f501125a097c95d66b86044f831)
    #2 0x42f030 in test_notification test/helpers.c:53
    #3 0x42f1d4 in get_dummy_notifications test/helpers.c:77
    #4 0x43097e in test_calculate_dimensions_height_min test/draw.c:308
    #5 0x43097e in suite_draw test/draw.c:385
    #6 0x49f119 in greatest_run_suite test/test.c:33
    #7 0x49f119 in greatest_run_suite test/test.c:33
    #8 0x40f93a in main test/test.c:66
    #9 0x7f7c6e1a72ad in __libc_start_call_main (/lib64/libc.so.6+0x2a2ad) (BuildId: 03f1631dc9760d3e30311fe62e15cc4baaa89db7)

SUMMARY: AddressSanitizer: 13176 byte(s) leaked in 462 allocation(s).
000 sec)
PASS test_dbus_teardown:  (248 ticks, 0.000 sec)

To double check, I have also tried to build dunst in the same way on Fedora, and there the test suite passes (without ASAN enabled, with ASAN, you get an even longer memory leak output, because on Fedora dnf pulls in librsvg2).

And I have also tried to run the tests with clang on Tumbleweed, which leads to the same failures as with gcc. I'm afraid I'm a bit out of ideas here as well

@deanqx
Copy link

deanqx commented Dec 18, 2024

image

My notifications have an unusual height since about two weeks. (On Arch Linux)

You could find the bug with git bisect maybe.

@bynect
Copy link
Member

bynect commented Dec 18, 2024

image

My notifications have an unusual height since about two weeks. (On Arch Linux)

You could find the bug with git bisect maybe.

Please read the release notes. Also this was fixed in 1.12.1

@bynect
Copy link
Member

bynect commented Dec 26, 2024

I have some updates

I opened a docker console with the tumbleweed dockerfile and did some testing.

I narrowed down the problem to this line

pango_layout_get_pixel_size(l, w, h);

Basically the problem is: the text in pangolayout gives and unreasonably large height in pixel for the "dummy layout" text. (something like 1825239). This gets added to the overall dimension of the notification that then get clamped down to the max height. The expected behavior (that I get on ci and on local machine) is instead that the notification body is small and we pad up to the minimum height.

What I did not understand yet is if this error is a bug in a specific version of pango/cairo or a bug on our part disguised by some undefined behavior. probably there is something wrong about the initialization of the pangolayout/context

any help is appreciated

@bynect
Copy link
Member

bynect commented Dec 26, 2024

@dcermak @fossdd I have finally discovered the problem: missing fonts 🤣

Basically if no fonts are present in the docker image pangocairo gives the bogus value I described above.
This results in all sorts of nasty things that our test suite ignores (wrongly or not, I'm not sure).
But this particular test actually changed depending on this bogus values.

So, our ci worked because we installed dejavu-fonts (any font really should work).

I used zypper install dejavu on the tumbleweed dockerfile and fixed the problem, all test passing.

So now my question is, how to fix this? I am not sure that this can be considered a problem on our part since we rely on pangocairo and fontconfig for the text bits.

But on the other hand it seems quite weird to require a font in the build file/package. Maybe you can make dunst depend on something like virtual/font...?

@fossdd
Copy link
Author

fossdd commented Dec 27, 2024

Wow thanks that seems to work! Thank you for this work!

But on the other hand it seems quite weird to require a font in the build file/package. Maybe you can make dunst depend on something like virtual/font...?

I think for desktop applications like dunst a font should be assumed. I'll add it rather as a dependency for tests.

@bynect
Copy link
Member

bynect commented Dec 27, 2024

Wow thanks that seems to work! Thank you for this work!

But on the other hand it seems quite weird to require a font in the build file/package. Maybe you can make dunst depend on something like virtual/font...?

I think for desktop applications like dunst a font should be assumed. I'll add it rather as a dependency for tests.

Ok thanks. This seems like a shortcoming with fontconfig/pango/cairo but I don't expect this to be fixed even if I open a bug report.

I was thinking that maybe we could embed a font file in the test directory but I am not sure how to pass it to pango

@deanqx
Copy link

deanqx commented Dec 27, 2024

image
My notifications have an unusual height since about two weeks. (On Arch Linux)
You could find the bug with git bisect maybe.

Please read the release notes. Also this was fixed in 1.12.1

I have 1.12.1-1 (Arch repo) and still have that bug :(

@bynect
Copy link
Member

bynect commented Dec 27, 2024

image
My notifications have an unusual height since about two weeks. (On Arch Linux)
You could find the bug with git bisect maybe.

Please read the release notes. Also this was fixed in 1.12.1

I have 1.12.1-1 (Arch repo) and still have that bug :(

What bug? 1.12 changed the height syntax and 1.12.1 added backward compatible support. So the old syntax should just work with 1.12.1

@bynect
Copy link
Member

bynect commented Dec 27, 2024

I found this blog post saying that you can set FONTCONFIG_FILE to your local fonts.conf. We may do that an ship a random font in the test directory. This way system fonts are not queried at all

@deanqx
Copy link

deanqx commented Dec 27, 2024

image
My notifications have an unusual height since about two weeks. (On Arch Linux)
You could find the bug with git bisect maybe.

Please read the release notes. Also this was fixed in 1.12.1

I have 1.12.1-1 (Arch repo) and still have that bug :(

What bug? 1.12 changed the height syntax and 1.12.1 added backward compatible support. So the old syntax should just work with 1.12.1

Maybe the backward compatibility doesn't work, I have changed nothing

@bynect
Copy link
Member

bynect commented Dec 28, 2024

image
My notifications have an unusual height since about two weeks. (On Arch Linux)
You could find the bug with git bisect maybe.

Please read the release notes. Also this was fixed in 1.12.1

I have 1.12.1-1 (Arch repo) and still have that bug :(

What bug? 1.12 changed the height syntax and 1.12.1 added backward compatible support. So the old syntax should just work with 1.12.1

Maybe the backward compatibility doesn't work, I have changed nothing

Please open a new issue since this only deals with the test failure

@bynect bynect linked a pull request Jan 1, 2025 that will close this issue
@bynect
Copy link
Member

bynect commented Jan 1, 2025

happy new year. I made a pr that includes the fonts in the test suite. now it should work

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

5 participants