You are not logged in.

#1 2020-02-15 17:00:17

regid
Member
Registered: 2016-06-06
Posts: 201

[Solved] Was fonts rendering in X changed lately, or since Aug 2019?

In the last couple of days, conky-1.11.5-2, https://www.archlinux.org/packages/extra/x86_64/conky/, dumps core because of

${font 'Noto Sans Mono:size=20}

Removing that phrase, and its associated $font ending, from conky.conf solves the issue, at the cost of less configurable look. The problem is there also when running conky without a window manger. Which is why I think it is not a window manager issue. conky-1.11.5-2 has not been changed since the package build date of Aug-2019. Any hints or suggestions, including how to better debug?
I have other fonts issues for several weeks now. Hebrew fonts which used to look nice with firefox and libreOffice are looking now more like mono space fonts. Can it be that things were changed and the changes propagate slowly?

Edit: I think the following is a short demonstration of the conky issue on the command line:

$ conky -t '${font '"'"'Noto Sans Mono:size=20}${time %D %H:%M}$font' -o -u 30

Yet I am not sure if the syntax of the -t argument is correct, as far as conky is concerned. Never the less, it also dumpes core for me. This command is a modification of

$ conky -t '${time %D %H:%M}' -o -u 30

, which works for me. It, the working command without the font phrase, is taken from conky's examples at the bottom of its manual page, https://www.mankier.com/1/conky. The

'"'"'

combination might be confusing. Adding spaces for the sake of explanation only, it is

'    "  '  "    '

From left to right, there is an apostrophe character, U+0027. Followed to the right by a quotation mark character, U+0022. Followed by another apostrophe character, U+0027. And another quotation mark character, U+0022. And finally, the right most character is an apostrophe character, U+0027.
These command line processes can be terminated with, for example, Ctrl+C.
I guess, but haven't tried out, that other fonts then Noto Sans Mono:size=20 will give the same core dump result.

Last edited by regid (2020-02-20 21:20:29)


powerofforreboot.efi (AUR): Utilities to be used from within a UEFI boot manager or shell.

Offline

#2 2020-02-17 17:58:41

regid
Member
Registered: 2016-06-06
Posts: 201

Re: [Solved] Was fonts rendering in X changed lately, or since Aug 2019?

Building conky-1.11.5-2 with

-D CMAKE_BUILD_TYPE=RelWithDebInfo

, and running

conky -t '${font '"'"'Noto Sans Mono:size=20}${time %D %H:%M}$font' -o -u 30

under gdb, I got

(gdb) thread apply all bt full
Thread 1 (Thread 0x7ffff443c840 (LWP 7143)):
#0  0x00007ffff750dce5 in raise () from /usr/lib/libc.so.6
No symbol table info available.
#1  0x00007ffff74f7857 in abort () from /usr/lib/libc.so.6
No symbol table info available.
#2  0x00005555555c43f3 in x11_error_handler (d=0x555555791a80, err=<optimized out>) at conky/src/conky-1.11.5/src/x11.cc:391
No locals.
#3  0x00007ffff7e165db in _XError () from /usr/lib/libX11.so.6
No symbol table info available.
#4  0x00007ffff7e13388 in ?? () from /usr/lib/libX11.so.6
No symbol table info available.
#5  0x00007ffff7e13425 in ?? () from /usr/lib/libX11.so.6
No symbol table info available.
#6  0x00007ffff7e1439d in _XReply () from /usr/lib/libX11.so.6
No symbol table info available.
#7  0x00007ffff7e04c2b in XParseColor () from /usr/lib/libX11.so.6
No symbol table info available.
#8  0x00005555555d2ea9 in get_x11_color (name=<optimized out>) at conky/src/conky-1.11.5/src/colours.cc:152
        color = {pixel = 0, red = 33144, green = 21880, blue = 21845, flags = 0 '\000', pad = 0 '\000'}
#9  0x00005555555d2f88 in get_x11_color (colour="white") at /usr/include/c++/9.2.1/bits/basic_string.h:2300
No locals.
#10 0x00005555555c7e4b in priv::colour_traits::convert (index=-1, l=...) at conky/src/conky-1.11.5/src/x11.h:206
No locals.
#11 conky::simple_config_setting<unsigned long, priv::colour_traits>::do_convert (this=0x55555574c080 <default_color>, l=..., index=-1) at conky/src/conky-1.11.5/src/setting.hh:291
No locals.
#12 0x00005555555c76ff in conky::simple_config_setting<unsigned long, priv::colour_traits>::getter (this=0x55555574c080 <default_color>, l=...) at conky/src/conky-1.11.5/src/luamm.hh:347
        s = {L = 0x555555788ff0, n = 0}
        ret = <optimized out>
#13 0x000055555557a339 in conky::config_setting_template<unsigned long>::get (this=0x55555574c080 <default_color>, l=...) at conky/src/conky-1.11.5/src/luamm.hh:223
        guard = {_M_device = @0x555555788ff0}
        s = {L = 0x555555788ff0, n = 0}
#14 0x0000555555576639 in draw_stuff () at /usr/include/c++/9.2.1/bits/unique_ptr.h:352
No locals.
#15 0x0000555555578500 in main_loop () at conky/src/conky-1.11.5/src/conky.cc:1936
        changed = 0
        border_total = <optimized out>
        wx = 499
        wy = 382
        terminate = 0
        t = <optimized out>
        inotify_config_wd = 1
        inotify_buff = "\000\030\372\367\377\177", '\000' <repeats 131 times>, "\306PY\032\243\375W", '\000' <repeats 32 times>, "\340\327`UUU\000\000\237\250WUUU\000\000\001\000\000\000\000\000\000\000\000"...
#16 0x000055555556d934 in main (argc=6, argv=0x7fffffffeaa8) at conky/src/conky-1.11.5/src/main.cc:354
        curl_global = <optimized out>

Last edited by regid (2020-02-18 22:04:05)


powerofforreboot.efi (AUR): Utilities to be used from within a UEFI boot manager or shell.

Offline

#3 2020-02-18 22:03:20

regid
Member
Registered: 2016-06-06
Posts: 201

Re: [Solved] Was fonts rendering in X changed lately, or since Aug 2019?

I have also tried to replace my earlier

regid wrote:

Building conky-1.11.5-2 with

-D CMAKE_BUILD_TYPE=RelWithDebInfo

with,

-D CMAKE_BUILD_TYPE=Debug

My understanding is that just Debug does no optimization at all. Indeed now

#9  0x00005555555ecb1f in get_x11_color (colour="white") at conky/src/conky-1.11.5/src/colours.cc:175
No locals.

is more obvious.

conky -t '${font '"'"'Noto Sans Mono:size=20}${time %D %H:%M}$font' -o -u 30

still dumps core. The full gdb trace is

(gdb) thread apply all bt full
Thread 1 (Thread 0x7ffff443a840 (LWP 10177)):
#0  0x00007ffff750bce5 in raise () from /usr/lib/libc.so.6
No symbol table info available.
#1  0x00007ffff74f5857 in abort () from /usr/lib/libc.so.6
No symbol table info available.
#2  0x00005555555d6a4c in x11_error_handler (d=0x5555557d1a80, err=0x7fffffffde60) at conky/src/conky-1.11.5/src/x11.cc:391
No locals.
#3  0x00007ffff7e145db in _XError () from /usr/lib/libX11.so.6
No symbol table info available.
#4  0x00007ffff7e11388 in ?? () from /usr/lib/libX11.so.6
No symbol table info available.
#5  0x00007ffff7e11425 in ?? () from /usr/lib/libX11.so.6
No symbol table info available.
#6  0x00007ffff7e1239d in _XReply () from /usr/lib/libX11.so.6
No symbol table info available.
#7  0x00007ffff7e02c2b in XParseColor () from /usr/lib/libX11.so.6
No symbol table info available.
#8  0x00005555555ec9ed in get_x11_color (name=0x7fffffffe270 "white") at conky/src/conky-1.11.5/src/colours.cc:152
        color = {pixel = 0, red = 0, green = 0, blue = 0, flags = 0 '\000', pad = 0 '\000'}
#9  0x00005555555ecb1f in get_x11_color (colour="white") at conky/src/conky-1.11.5/src/colours.cc:175
No locals.
#10 0x00005555555db26e in priv::colour_traits::convert (l=..., index=-1) at conky/src/conky-1.11.5/src/x11.h:206
No locals.
#11 0x00005555555dcd71 in conky::simple_config_setting<unsigned long, priv::colour_traits>::do_convert (this=0x55555578c680 <default_color>, l=..., index=-1) at conky/src/conky-1.11.5/src/setting.hh:291
No locals.
#12 0x00005555555dddf0 in conky::simple_config_setting<unsigned long, priv::colour_traits>::getter (this=0x55555578c680 <default_color>, l=...) at conky/src/conky-1.11.5/src/setting.hh:267
        __PRETTY_FUNCTION__ = "T conky::simple_config_setting<T, Traits>::getter(lua::state&) [with T = long unsigned int; Traits = priv::colour_traits]"
        s = {L = 0x5555557c8ff0, n = 0}
        ret = {first = 140737488348016, second = 24}
#13 0x000055555557352b in conky::config_setting_template<unsigned long>::get (this=0x55555578c680 <default_color>, l=...) at conky/src/conky-1.11.5/src/setting.hh:225
        guard = {_M_device = @0x5555557c8ff0}
        s = {L = 0x5555557c8ff0, n = 0}
#14 0x000055555556c6d4 in draw_stuff () at conky/src/conky-1.11.5/src/conky.cc:1757
No locals.
#15 0x000055555556cf82 in main_loop () at conky/src/conky-1.11.5/src/conky.cc:1936
        changed = 0
        border_total = 5
        wx = 499
        wy = 382
        terminate = 0
        t = 0
        inotify_config_wd = 1
        inotify_buff = '\000' <repeats 104 times>, "\327BWUUU", '\000' <repeats 34 times>, "\340\346\377\377\377\177\000\000\000\000\000\000\000\000>@\360\217|UUU\000\000\240\322dUUU\000\000\000\347\377\377\377\177\000\000\360\217|UUU\000\000\360\217|UUU\000\000\000\000\000\000"...
#16 0x00005555555678ae in main (argc=6, argv=0x7fffffffea38) at conky/src/conky-1.11.5/src/main.cc:354
        curl_global = {<No data fields>}

Last edited by regid (2020-02-18 23:20:06)


powerofforreboot.efi (AUR): Utilities to be used from within a UEFI boot manager or shell.

Offline

#4 2020-02-20 14:56:35

seth
Member
Registered: 2012-09-03
Posts: 51,213

Re: [Solved] Was fonts rendering in X changed lately, or since Aug 2019?

${font 'Noto Sans Mono:size=20}

Why is there a stray "'"? Is the font's name 'Noto Sans Mono??

Online

#5 2020-02-20 21:19:42

regid
Member
Registered: 2016-06-06
Posts: 201

Re: [Solved] Was fonts rendering in X changed lately, or since Aug 2019?

seth wrote:
${font 'Noto Sans Mono:size=20}

Why is there a stray "'"? Is the font's name 'Noto Sans Mono??

The font's name is Noto Sans Mono.
To answer your question, I tested without the stray apostrophe character (U+0027, \').
It is working without it!
I don't get it. The example was based on a more complex config file. That more complex configuration file also had the stray "'". It worked with it for years. Only a few days ago it stopped working. I am quite sure I initially inserted it because, in the past, it didn't worked without it. And there were examples on the Internet, which I can not find now, that actually had it too. I am also quite sure I tried to remove it before asking here. To no avail. Now it, the more complex configuration file, also works without the stray "'"! I do believe something must have changed.
Anyway, the problem is solved. Thank you.


powerofforreboot.efi (AUR): Utilities to be used from within a UEFI boot manager or shell.

Offline

#6 2020-02-20 21:27:16

seth
Member
Registered: 2012-09-03
Posts: 51,213

Re: [Solved] Was fonts rendering in X changed lately, or since Aug 2019?

The thing has no business being there (it's not mentioned anywhere in the conky docs) and I've never put anything like this into my conky configs.
What (guessing from the backtrace) likely changed was conky parsing code which seems to be thrown off by the open quote. This might also be due to a seemingly unrelated change in your config, eg. if you removed such single quote somewhere else, causing an imbalanced quote. *shrug*

Online

#7 2020-02-20 22:45:01

regid
Member
Registered: 2016-06-06
Posts: 201

Re: [Solved] Was fonts rendering in X changed lately, or since Aug 2019?

I am not sure if the following is a real, another, problem with conky configuration. Or a feature. Or, again, my mistake.

$ conky -t '${font Noto Sans Mono:size=20}${time %D %H:%M}' -o -u 30

seems to work, even though there is no closing $font, as in

$ conky -t '${font Noto Sans Mono:size=20}${time %D %H:%M}$font' -o -u 30

Once again, my more complex configuration also has this feature, or bug. Only that with my more complex configuration file, it is evident that the whole conky window somehow got a bigger font size than when the ending $font is in place.
[edit]
Rethinking, and observing that $font is sometimes not essential, this is another mistake I made. I should have expect in advance exactly what happened with my more complex configuration in these circumstances.
Still, I am not sure if it is a good, or just acceptable, feature of conky to accept undisclosed tags. At least a warning might be in place.
[/edit]

Last edited by regid (2020-02-21 12:14:00)


powerofforreboot.efi (AUR): Utilities to be used from within a UEFI boot manager or shell.

Offline

Board footer

Powered by FluxBB