Getting GTK Color Definition Failures

I just have to know if anybody else is experiencing this.
I recently upgraded to Ubuntu Studio 18.10 and thought I’d try KDE/Plasma desktop since the developers claimed to have made everything KDE friendly. Didn’t go so well - I ended up going back to XFCE. Everything else looks fine. There are absolutely no problems with any other program. But when I open Ardour5 … well, the only way to explain it is to show you guys.
However, before I post the images - a few side notes on this glitch. First off - Ardour wouldn’t even load. I mean - it would definitely spawn a process, and I could see my cpu’s fire right up. It was there when I "ps aux | grep ‘ardour’ "-ed it. But no window anywhere. So I ran it cli and it seemed to get caught on a few things. First, there was this Gtk message "Failed to load module ‘atk-bridge’ ". However, I was able to quell that bit by installing libatk-adaptor. But - that didn’t fix the issue. It continued to hang on this “Color shuttle bg not found”. The crazy thing is, when I went inside the dark-ardour.colors file, shuttle bg was definitely there, and the color definition was there at the top. So - I went into the default_ui_config file and simply changed the “color-file” option value from “dark” to “Blueberry Milk” … and it started right up.
But that’s not the end … I’m still getting these insane color profiles. I’ve attached a few images for each color theme. I do not understand how or why this is happening. Like - whaaaaat?!
So - yeah - I need some help if nobody minds taking a look at this for me.
Thanks :slight_smile:

[Thu Feb 07:00:03:48]
ender@GLITCH:/usr/share/ardour5/themes[$]ardour5
bind txt domain [gtk2_ardour5] to /usr/share/ardour5/locale
Ardour5.12.0 (built using 1:5.12.0-3 and GCC version 7.3.0)
ardour: [INFO]: Your system is configured to limit Ardour to only 1048576 open files
ardour: [INFO]: Loading system configuration file /etc/ardour5/system_config
ardour: [INFO]: CPU vendor: AuthenticAMD
ardour: [INFO]: AVX-capable processor
ardour: [INFO]: CPU brand: AMD FX(tm)-8150 Eight-Core Processor           
ardour: [INFO]: Using SSE optimized routines
ardour: [INFO]: Loading default ui configuration file /etc/ardour5/default_ui_config
Gtk-Message: 00:03:50.832: Failed to load module "atk-bridge"
Color shuttle bg not found
ardour: [INFO]: Loading color file /usr/share/ardour5/themes/dark-ardour.colors

ardour5_Blueberry-Milk
Blueberry Milk

well - apparently new users can only put one image per post. Maybe I can just make a few comment posts with the rest.

And this is ardour from ardour.org?

Caineville

If Ardour cannot find a color definitions it uses a random color every time an element is shown.
It’s called harlequin debugging and aids designers, showing when a color is missing from the color-palette.

In your case it seems that a whole color definition file is missing or corrupt or cannot be parsed. Maybe related to the gtk theme on your machine. Perhaps try GTK2_RC_FILES=/nonexistent ardour5 as mentioned at https://tracker.ardour.org/view.php?id=5605#c18109

Are binaries from https://ardour.org/download affected, too? (trying the demo is fine for a quick test)

well - essentially. I installed it with the apt repositories.

cool. I’ll give it a shot. I’ll let ya know. Thanks

Is this just something the Ardour dev team came up with? The reason I’m asking is because I’ve been a software engineer for … well … far too long, and I’ve never heard of that. Of course, I’ve never worked on anything with an extensive theme/color system either.

and yes - as it happens - it’s still the case with the package install from ardour.org
This is getting frustrating. It wasn’t like this before the update :frowning:

Here’s what the ardour.org version spits out when running cli:

/opt/Ardour-5.12.0/bin/./ardour5
Fontconfig warning: line 5: unknown element "its:rules"
Fontconfig warning: line 6: unknown element "its:translateRule"
Fontconfig error: line 6: invalid attribute 'translate'
Fontconfig error: line 6: invalid attribute 'selector'
Fontconfig error: line 7: invalid attribute 'xmlns:its'
Fontconfig error: line 7: invalid attribute 'version'
Fontconfig warning: line 9: unknown element "description"
Fontconfig warning: "/etc/fonts/conf.d/10-hinting-slight.conf", line 4: unknown element "its:rules"
Fontconfig warning: "/etc/fonts/conf.d/10-hinting-slight.conf", line 5: unknown element "its:translateRule"

Then it pretty much just goes on for all of the fonts and font configurations … then …

Fontconfig error: Cannot load default config file
bind txt domain [gtk2_ardour5] to /this/cannot/exist
Ardour5.12.0 (built using 5.12 and GCC version 5.2.1 20150903)
ardour: [INFO]: Your system is configured to limit Ardour to only 1048576 open files
ardour: [INFO]: Loading system configuration file /opt/Ardour-5.12.0/etc/system_config
ardour: [INFO]: Loading user configuration file /home/ender/.config/ardour5/config
ardour: [INFO]: CPU vendor: AuthenticAMD
ardour: [INFO]: AVX-capable processor
ardour: [INFO]: CPU brand: AMD FX(tm)-8150 Eight-Core Processor           
ardour: [INFO]: Using SSE optimized routines
Cannot xinstall SIGPIPE error handler
ardour: [INFO]: Loading default ui configuration file /opt/Ardour-5.12.0/etc/default_ui_config
ardour: [INFO]: Loading user ui configuration file /home/ender/.config/ardour5/ui_config

(ardour-5.12.0:7634): Gtk-WARNING **: Unable to locate theme engine in module_path: "adwaita",
Color shuttle bg not found
ardour: [WARNING]: Color file for Blueberry Milk not found along /home/ender/.config/ardour5/themes:/opt/Ardour-5.12.0/share/themes
ardour: [INFO]: Loading ui configuration file /opt/Ardour-5.12.0/etc/clearlooks.rc
/opt/Ardour-5.12.0/etc/clearlooks.rc:9: Invalid symbolic color 'bases'
/opt/Ardour-5.12.0/etc/clearlooks.rc:9: error: invalid identifier 'bases', expected valid identifier
Found nothing along /home/ender/.config/ardour5/templates:/opt/Ardour-5.12.0/share/templates
run dialog
Color generic button: fill active not found
Color generic button: fill not found
Color generic button: led active not found
Color generic button: fill active not found
Color generic button: fill not found
Color generic button: led active not found
Color gtk_background not found
Color generic button: fill active not found
Color generic button: fill not found
Color generic button: led active not found
no more csLADSPA plugins
Scanning folders for bundled LV2s: /opt/Ardour-5.12.0/lib/LV2
Color location marker not found
Color location range not found
Color location cd marker not found

… and then it pretty much goes on until it’s gone through all of the color definitions.

This is so crazy. All of the files it’s referring to - saying that they don’t exist or aren’t accessible. They all exist. Permissions are all exactly right … nothing is wrong with the file structure.

Ok, so I’m going through the stack trace. This is NUTS. it stats & opens /etc/fonts/fonts.conf … normal enough. Then it throws an error. "unknown element ‘its:rules’ "

access("/etc/fonts/fonts.conf", R_OK)   = 0
stat("/etc/fonts/fonts.conf", {st_mode=S_IFREG|0644, st_size=2844, ...}) = 0
openat(AT_FDCWD, "/etc/fonts/fonts.conf", O_RDONLY|O_CLOEXEC) = 3
read(3, "<?xml version=\"1.0\"?>\n<!DOCTYPE "..., 8192) = 2844
write(2, "Fontconfig warning: line 5: ", 28Fontconfig warning: line 5: ) = 28
write(2, "unknown element \"its:rules\"", 27unknown element "its:rules") = 27
write(2, "\n", 1
)                       = 1
write(2, "Fontconfig warning: line 6: ", 28Fontconfig warning: line 6: ) = 28
write(2, "unknown element \"its:translateRu"..., 35unknown element "its:translateRule") = 35
write(2, "\n", 1
)                       = 1
write(2, "Fontconfig error: line 6: ", 26Fontconfig error: line 6: ) = 26
write(2, "invalid attribute 'translate'", 29invalid attribute 'translate') = 29
write(2, "\n", 1
)                       = 1
write(2, "Fontconfig error: line 6: ", 26Fontconfig error: line 6: ) = 26
write(2, "invalid attribute 'selector'", 28invalid attribute 'selector') = 28
write(2, "\n", 1
)                       = 1
write(2, "Fontconfig error: line 7: ", 26Fontconfig error: line 7: ) = 26
write(2, "invalid attribute 'xmlns:its'", 29invalid attribute 'xmlns:its') = 29
write(2, "\n", 1
)                       = 1
write(2, "Fontconfig error: line 7: ", 26Fontconfig error: line 7: ) = 26
write(2, "invalid attribute 'version'", 27invalid attribute 'version') = 27
write(2, "\n", 1
)                       = 1
write(2, "Fontconfig warning: line 9: ", 28Fontconfig warning: line 9: ) = 28
write(2, "unknown element \"description\"", 29unknown element "description") = 29
write(2, "\n", 1
)                       = 1

as far as I’m aware - that shouldn’t be happening. This:

  1 <?xml version="1.0"?>
  2 <!DOCTYPE fontconfig SYSTEM "fonts.dtd">
  3 <!-- /etc/fonts/fonts.conf file to configure system font access -->
  4 <fontconfig>
  5         <its:rules xmlns:its="http://www.w3.org/2005/11/its" version="1.0">
  6                 <its:translateRule translate="no" selector="/fontconfig/*[not(self::description)]"/>
  7         </its:rules>
  9         <description>Default configuration file</description> ... etc etc etc ...

is completely legitimate. Why is it throwing errors from the fonts.conf file?

/etc/fonts/conf.d/10-hinting-slight.conf
/etc/fonts/conf.d/10-scale-bitmap-fonts.conf
/etc/fonts/conf.d/11-lcdfilter-default.conf

then it’s fine for several of the dejavu fonts - then it hits these and throws more errors:

/etc/fonts/conf.d/20-unhint-small-vera.conf
/etc/fonts/conf.d/30-metric-aliases.conf
/etc/fonts/conf.d/40-nonlatin.conf
/etc/fonts/conf.d/45-generic.conf

and on and on, until we hit then end, where it tells us:

write(2, "Fontconfig error: ", 18Fontconfig error: ) = 18
write(2, “Cannot load default config file”, 31Cannot load default config file) = 31

WHUT?! … ok, shall we continue?

Then it tries to make the directory /home/ardour and fails like 4 times in a row. Make that 5 times. Make that 7 times.
Then it just finally hooks in and runs through all the font directories and stats a bunch of fonts and their properties.
Then it tries to create /home/ardour/ one more time. gah … 2 more times. 3 more times. 7 more times - maybe I should just make the directory for it.

OK - Now, we’re done with fonts.
it opens /home/ender/.config/ardour5/.translate and says “gtk_ardour5” “/this/cannot/exist” … don’t know what it means, but it sounds kinda in the realm of what might be going on here.

Then it fails to open these:
“/home/ender/.ladspa/rdf”
“/home/ender/.lxvst/rdf”
“/home/ender/.config/ardour5/surfaces”
“/home/ender/.config/ardour5/panners”
“/home/ender/.config/ardour5/backends”

then it opens gtkrc-2.0, loads Breeze-gtk theme, loads the breeze widgets and other components, and then it hits this. This is where I think it all goes to crap.

access("/opt/Ardour-5.12.0/lib/gtkengines/2.10.0/x86_64-unknown-linux-gnu/engines/libadwaita.so", F_OK) = -1 ENOENT (No such file or directory)
access("/opt/Ardour-5.12.0/lib/gtkengines/2.10.0/x86_64-unknown-linux-gnu/engines/libadwaita.la", F_OK) = -1 ENOENT (No such file or directory)
access("/opt/Ardour-5.12.0/lib/gtkengines/2.10.0/engines/libadwaita.so", F_OK) = -1 ENOENT (No such file or directory)
access("/opt/Ardour-5.12.0/lib/gtkengines/2.10.0/engines/libadwaita.la", F_OK) = -1 ENOENT (No such file or directory)
access("/opt/Ardour-5.12.0/lib/gtkengines/x86_64-unknown-linux-gnu/engines/libadwaita.so", F_OK) = -1 ENOENT (No such file or directory)
access("/opt/Ardour-5.12.0/lib/gtkengines/x86_64-unknown-linux-gnu/engines/libadwaita.la", F_OK) = -1 ENOENT (No such file or directory)
access("/opt/Ardour-5.12.0/lib/gtkengines/engines/libadwaita.so", F_OK) = -1 ENOENT (No such file or directory)
access("/opt/Ardour-5.12.0/lib/gtkengines/engines/libadwaita.la", F_OK) = -1 ENOENT (No such file or directory)
access("/home/ender/.gtk-2.0/2.10.0/x86_64-unknown-linux-gnu/engines/libadwaita.so", F_OK) = -1 ENOENT (No such file or directory)
access("/home/ender/.gtk-2.0/2.10.0/x86_64-unknown-linux-gnu/engines/libadwaita.la", F_OK) = -1 ENOENT (No such file or directory)
access("/home/ender/.gtk-2.0/2.10.0/engines/libadwaita.so", F_OK) = -1 ENOENT (No such file or directory)
access("/home/ender/.gtk-2.0/2.10.0/engines/libadwaita.la", F_OK) = -1 ENOENT (No such file or directory)
access("/home/ender/.gtk-2.0/x86_64-unknown-linux-gnu/engines/libadwaita.so", F_OK) = -1 ENOENT (No such file or directory)
access("/home/ender/.gtk-2.0/x86_64-unknown-linux-gnu/engines/libadwaita.la", F_OK) = -1 ENOENT (No such file or directory)
access("/home/ender/.gtk-2.0/engines/libadwaita.so", F_OK) = -1 ENOENT (No such file or directory)
access("/home/ender/.gtk-2.0/engines/libadwaita.la", F_OK) = -1 ENOENT (No such file or directory)
access("/opt/Ardour-5.12.0/lib/gtk-2.0/2.10.0/x86_64-unknown-linux-gnu/engines/libadwaita.so", F_OK) = -1 ENOENT (No such file or directory)
access("/opt/Ardour-5.12.0/lib/gtk-2.0/2.10.0/x86_64-unknown-linux-gnu/engines/libadwaita.la", F_OK) = -1 ENOENT (No such file or directory)
access("/opt/Ardour-5.12.0/lib/gtk-2.0/2.10.0/engines/libadwaita.so", F_OK) = -1 ENOENT (No such file or directory)
access("/opt/Ardour-5.12.0/lib/gtk-2.0/2.10.0/engines/libadwaita.la", F_OK) = -1 ENOENT (No such file or directory)
access("/opt/Ardour-5.12.0/lib/gtk-2.0/x86_64-unknown-linux-gnu/engines/libadwaita.so", F_OK) = -1 ENOENT (No such file or directory)
access("/opt/Ardour-5.12.0/lib/gtk-2.0/x86_64-unknown-linux-gnu/engines/libadwaita.la", F_OK) = -1 ENOENT (No such file or directory)
access("/opt/Ardour-5.12.0/lib/gtk-2.0/engines/libadwaita.so", F_OK) = -1 ENOENT (No such file or directory)
access("/opt/Ardour-5.12.0/lib/gtk-2.0/engines/libadwaita.la", F_OK) = -1 ENOENT (No such file or directory)
getpid()                                = 12752
write(2, "\n(ardour-5.12.0:12752): Gtk-WARN"..., 97
(ardour-5.12.0:12752): Gtk-WARNING **: Unable to locate theme engine in module_path: "adwaita",
) = 97
read(10, "", 4000)                      = 0
close(10)                               = 0
access("/usr/share/themes/Breeze/gtk-2.0/widgets/misc.en_US", F_OK) = -1 ENOENT (No such file or directory)
access("/usr/share/themes/Breeze/gtk-2.0/widgets/misc.en", F_OK) = -1 ENOENT (No such file or directory)
access("/usr/share/themes/Breeze/gtk-2.0/widgets/styles", F_OK) = 0
lstat("/usr/share/themes/Breeze/gtk-2.0/widgets/styles", {st_mode=S_IFREG|0644, st_size=3313, ...}) = 0
openat(AT_FDCWD, "/usr/share/themes/Breeze/gtk-2.0/widgets/styles", O_RDONLY) = 10
read(10, "class \"GtkWidget\"               "..., 4000) = 3313
read(10, "", 4000)                      = 0
close(10)                               = 0
access("/usr/share/themes/Breeze/gtk-2.0/widgets/styles.en_US", F_OK) = -1 ENOENT (No such file or directory)
access("/usr/share/themes/Breeze/gtk-2.0/widgets/styles.en", F_OK) = -1 ENOENT (No such file or directory)
read(9, "", 4000)                       = 0
close(9)                                = 0
access("/usr/share/themes/Breeze/gtk-2.0/gtkrc.en_US", F_OK) = -1 ENOENT (No such file or directory)
access("/usr/share/themes/Breeze/gtk-2.0/gtkrc.en", F_OK) = -1 ENOENT (No such file or directory)
read(8, "", 4000)                       = 0
close(8)                                = 0
access("/home/ender/.gtkrc-2.0.en_US", F_OK) = -1 ENOENT (No such file or directory)
access("/home/ender/.gtkrc-2.0.en", F_OK) = -1 ENOENT (No such file or directory)
access("/home/ender/.themes/NumixBlue/gtk-2.0/gtkrc", F_OK) = -1 ENOENT (No such file or directory)
access("/opt/Ardour-5.12.0/share/themes/NumixBlue/gtk-2.0/gtkrc", F_OK) = -1 ENOENT (No such file or directory)
futex(0x7fecf1da1a08, FUTEX_WAKE, 2147483647) = 0
futex(0x7fecf1da1a08, FUTEX_WAKE, 2147483647) = 0
futex(0x7fecf1da1a08, FUTEX_WAKE, 2147483647) = 0
futex(0x7fecf1da1a08, FUTEX_WAKE, 2147483647) = 0
futex(0x7fecf1da1a08, FUTEX_WAKE, 2147483647) = 0
futex(0x7fecf1da1a08, FUTEX_WAKE, 2147483647) = 0
openat(AT_FDCWD, "/usr/share/locale/en_US/LC_MESSAGES/gtkmm2ext3.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/share/locale/en/LC_MESSAGES/gtkmm2ext3.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/share/locale-langpack/en_US/LC_MESSAGES/gtkmm2ext3.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/share/locale-langpack/en/LC_MESSAGES/gtkmm2ext3.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
futex(0x7fecf1da1a08, FUTEX_WAKE, 2147483647) = 0
futex(0x7fecf1da1a08, FUTEX_WAKE, 2147483647) = 0
futex(0x7fecf1da1a08, FUTEX_WAKE, 2147483647) = 0
futex(0x7fecf1da1a08, FUTEX_WAKE, 2147483647) = 0
openat(AT_FDCWD, "/dev/urandom", O_RDONLY) = 8
read(8, "\361K\30L\264t\317\242k\304M\n8\353S\346", 16) = 16
close(8)                                = 0
futex(0x7fecf1da1a08, FUTEX_WAKE, 2147483647) = 0
futex(0x7fecf1da1a08, FUTEX_WAKE, 2147483647) = 0
futex(0x7fecf1da1a08, FUTEX_WAKE, 2147483647) = 0
futex(0x7fecf1da1a08, FUTEX_WAKE, 2147483647) = 0
futex(0x7fecf1da1a08, FUTEX_WAKE, 2147483647) = 0
futex(0x7fecf1da1a08, FUTEX_WAKE, 2147483647) = 0
poll([{fd=7, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=7, revents=POLLOUT}])
writev(7, [{iov_base="\207\4\2\0\0\1\0\0", iov_len=8}, {iov_base=NULL, iov_len=0}, {iov_base="", iov_len=0}], 3) = 8
poll([{fd=7, events=POLLIN}], 1, -1)    = 1 ([{fd=7, revents=POLLIN}])
recvmsg(7, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="\1\3]\0\0\0\0\0\20\0\0\20\0\0\0\0\0\0\20\0\0\0\0\0\0\0\0\0\0\0\0\0", iov_len=4096}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, 0) = 32
poll([{fd=7, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=7, revents=POLLOUT}])
writev(7, [{iov_base="\207\10\7\0\0\1G\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0do", iov_len=28}, {iov_base=NULL, iov_len=0}, {iov_base="", iov_len=0}], 3) = 28
poll([{fd=7, events=POLLIN}], 1, -1)    = 1 ([{fd=7, revents=POLLIN}])
recvmsg(7, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="\1\3^\0E\5\0\0\0\0\10\377G\0\0\34\34\10g\1\370\0\0\0\0\0\0\0\0\0\0\10"..., iov_len=4096}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, 0) = 4096
recvfrom(7, "\0\0\0\0\1\1\1\0h\377\0\0\0\0\0\0\1\1\1\0X\377\10\20\0\0\0\0\1\1\1\0"..., 1332, 0, NULL, NULL) = 1332
poll([{fd=7, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=7, revents=POLLOUT}])
writev(7, [{iov_base="\207\21\3\0\3\0G\0\0\30\0\0", iov_len=12}, {iov_base=NULL, iov_len=0}, {iov_base="", iov_len=0}], 3) = 12
poll([{fd=7, events=POLLIN}], 1, -1)    = 1 ([{fd=7, revents=POLLIN}])
recvmsg(7, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="\1\3_\0\16\0\0\0\0\30\0\0\10\377\34\1\377\37\10\370\0\0\0\0\0\0\0\0\0\0\0\0"..., iov_len=4096}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, 0) = 88
poll([{fd=7, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=7, revents=POLLOUT}])
writev(7, [{iov_base="\20\0\3\0\4\0G\0Meta", iov_len=12}, {iov_base=NULL, iov_len=0}, {iov_base="", iov_len=0}], 3) = 12
poll([{fd=7, events=POLLIN}], 1, -1)    = 1 ([{fd=7, revents=POLLIN}])
recvmsg(7, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="\1\0`\0\0\0\0\0\260\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0", iov_len=4096}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, 0) = 32
poll([{fd=7, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=7, revents=POLLOUT}])
writev(7, [{iov_base="\20\0\4\0\5\0G\0Super\0\0\0", iov_len=16}, {iov_base=NULL, iov_len=0}, {iov_base="", iov_len=0}], 3) = 16
poll([{fd=7, events=POLLIN}], 1, -1)    = 1 ([{fd=7, revents=POLLIN}])
recvmsg(7, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="\1\0a\0\0\0\0\0\261\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0", iov_len=4096}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, 0) = 32
poll([{fd=7, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=7, revents=POLLOUT}])
writev(7, [{iov_base="\20\0\4\0\5\0G\0Hyper\0\0\0", iov_len=16}, {iov_base=NULL, iov_len=0}, {iov_base="", iov_len=0}], 3) = 16
poll([{fd=7, events=POLLIN}], 1, -1)    = 1 ([{fd=7, revents=POLLIN}])
recvmsg(7, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="\1\0b\0\0\0\0\0\262\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0", iov_len=4096}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, 0) = 32
futex(0x7fecf1da1a08, FUTEX_WAKE, 2147483647) = 0
futex(0x7fecf1da1a08, FUTEX_WAKE, 2147483647) = 0
futex(0x7fecf1da1a08, FUTEX_WAKE, 2147483647) = 0
futex(0x7fecf1da1a08, FUTEX_WAKE, 2147483647) = 0
access("/usr/share/fonts/truetype/noto/NotoSans-Regular.ttf", R_OK) = 0
openat(AT_FDCWD, "/usr/share/fonts/truetype/noto/NotoSans-Regular.ttf", O_RDONLY) = 8
fcntl(8, F_SETFD, FD_CLOEXEC)           = 0
fstat(8, {st_mode=S_IFREG|0644, st_size=455188, ...}) = 0
mmap(NULL, 455188, PROT_READ, MAP_PRIVATE, 8, 0) = 0x7fecd5088000
close(8)                                = 0
futex(0x7fecf1da1a08, FUTEX_WAKE, 2147483647) = 0
futex(0x7fecf1da1a08, FUTEX_WAKE, 2147483647) = 0
futex(0x7fecf1da1a08, FUTEX_WAKE, 2147483647) = 0
futex(0x7fecf1da1a08, FUTEX_WAKE, 2147483647) = 0
futex(0x7fecf1da1a08, FUTEX_WAKE, 2147483647) = 0
futex(0x7fecf1da1a08, FUTEX_WAKE, 2147483647) = 0
futex(0x7fecf1da1a08, FUTEX_WAKE, 2147483647) = 0
openat(AT_FDCWD, "/opt/Ardour-5.12.0/lib/gtk-2.0/2.10.0/immodules.cache", O_RDONLY) = -1 ENOENT (No such file or directory)
futex(0x7fecf1da1a08, FUTEX_WAKE, 2147483647) = 0
openat(AT_FDCWD, "/this/cannot/exist/en_US/LC_MESSAGES/gtk2_ardour5.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/this/cannot/exist/en/LC_MESSAGES/gtk2_ardour5.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/share/locale-langpack/en_US/LC_MESSAGES/gtk2_ardour5.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/share/locale-langpack/en/LC_MESSAGES/gtk2_ardour5.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
futex(0x7fecf1da1a08, FUTEX_WAKE, 2147483647) = 0
write(2, "Color shuttle bg not found", 26Color shuttle bg not found) = 26
write(2, "\n", 1
)                       = 1
lstat("/home", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
lstat("/home/ender", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
lstat("/home/ender/.config", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
lstat("/home/ender/.config/ardour5", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
lstat("/home/ender/.config/ardour5/themes", {st_mode=S_IFDIR|0775, st_size=4096, ...}) = 0
stat("/home/ender/.config/ardour5/themes", {st_mode=S_IFDIR|0775, st_size=4096, ...}) = 0
openat(AT_FDCWD, "/home/ender/.config/ardour5/themes", O_RDONLY|O_NONBLOCK|O_CLOEXEC|O_DIRECTORY) = 8
fstat(8, {st_mode=S_IFDIR|0775, st_size=4096, ...}) = 0
lseek(8, 0, SEEK_SET)                   = 0
getdents64(8, /* 8 entries */, 32768)   = 328
stat("/home/ender/.config/ardour5/themes/clear_gray-ardour.colors", {st_mode=S_IFREG|0644, st_size=31359, ...}) = 0
stat("/home/ender/.config/ardour5/themes/blueberry_milk-ardour.colors", {st_mode=S_IFREG|0644, st_size=31871, ...}) = 0
stat("/home/ender/.config/ardour5/themes/unastudia-ardour.colors", {st_mode=S_IFREG|0644, st_size=30729, ...}) = 0
stat("/home/ender/.config/ardour5/themes/dark-ardour.colors", {st_mode=S_IFREG|0644, st_size=33221, ...}) = 0
stat("/home/ender/.config/ardour5/themes/cubasish-ardour.colors", {st_mode=S_IFREG|0644, st_size=31537, ...}) = 0
stat("/home/ender/.config/ardour5/themes/caineville-ardour.colors", {st_mode=S_IFREG|0644, st_size=31515, ...}) = 0
getdents64(8, /* 0 entries */, 32768)   = 0
close(8)                                = 0
lstat("/opt", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
lstat("/opt/Ardour-5.12.0", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
lstat("/opt/Ardour-5.12.0/share", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
lstat("/opt/Ardour-5.12.0/share/themes", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
stat("/opt/Ardour-5.12.0/share/themes", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
openat(AT_FDCWD, "/opt/Ardour-5.12.0/share/themes", O_RDONLY|O_NONBLOCK|O_CLOEXEC|O_DIRECTORY) = 8
fstat(8, {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
lseek(8, 0, SEEK_SET)                   = 0
getdents64(8, /* 8 entries */, 32768)   = 328
stat("/opt/Ardour-5.12.0/share/themes/clear_gray-ardour.colors", {st_mode=S_IFREG|0644, st_size=31359, ...}) = 0
stat("/opt/Ardour-5.12.0/share/themes/blueberry_milk-ardour.colors", {st_mode=S_IFREG|0644, st_size=31871, ...}) = 0
stat("/opt/Ardour-5.12.0/share/themes/unastudia-ardour.colors", {st_mode=S_IFREG|0644, st_size=30729, ...}) = 0
stat("/opt/Ardour-5.12.0/share/themes/dark-ardour.colors", {st_mode=S_IFREG|0644, st_size=33221, ...}) = 0
stat("/opt/Ardour-5.12.0/share/themes/cubasish-ardour.colors", {st_mode=S_IFREG|0644, st_size=31537, ...}) = 0
stat("/opt/Ardour-5.12.0/share/themes/caineville-ardour.colors", {st_mode=S_IFREG|0644, st_size=31515, ...}) = 0
getdents64(8, /* 0 entries */, 32768)   = 0
close(8)                                = 0
lstat("/home", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
lstat("/home/ender", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
lstat("/home/ender/.config", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
lstat("/home/ender/.config/ardour5", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
lstat("/home/ender/.config/ardour5/themes", {st_mode=S_IFDIR|0775, st_size=4096, ...}) = 0
stat("/home/ender/.config/ardour5/themes", {st_mode=S_IFDIR|0775, st_size=4096, ...}) = 0
openat(AT_FDCWD, "/home/ender/.config/ardour5/themes", O_RDONLY|O_NONBLOCK|O_CLOEXEC|O_DIRECTORY) = 8
fstat(8, {st_mode=S_IFDIR|0775, st_size=4096, ...}) = 0
lseek(8, 0, SEEK_SET)                   = 0
getdents64(8, /* 8 entries */, 32768)   = 328
stat("/home/ender/.config/ardour5/themes/clear_gray-ardour.colors", {st_mode=S_IFREG|0644, st_size=31359, ...}) = 0
stat("/home/ender/.config/ardour5/themes/blueberry_milk-ardour.colors", {st_mode=S_IFREG|0644, st_size=31871, ...}) = 0
stat("/home/ender/.config/ardour5/themes/unastudia-ardour.colors", {st_mode=S_IFREG|0644, st_size=30729, ...}) = 0
stat("/home/ender/.config/ardour5/themes/dark-ardour.colors", {st_mode=S_IFREG|0644, st_size=33221, ...}) = 0
stat("/home/ender/.config/ardour5/themes/cubasish-ardour.colors", {st_mode=S_IFREG|0644, st_size=31537, ...}) = 0
stat("/home/ender/.config/ardour5/themes/caineville-ardour.colors", {st_mode=S_IFREG|0644, st_size=31515, ...}) = 0
getdents64(8, /* 0 entries */, 32768)   = 0
close(8)                                = 0
lstat("/opt", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
lstat("/opt/Ardour-5.12.0", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
lstat("/opt/Ardour-5.12.0/share", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
lstat("/opt/Ardour-5.12.0/share/themes", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
stat("/opt/Ardour-5.12.0/share/themes", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
openat(AT_FDCWD, "/opt/Ardour-5.12.0/share/themes", O_RDONLY|O_NONBLOCK|O_CLOEXEC|O_DIRECTORY) = 8
fstat(8, {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
lseek(8, 0, SEEK_SET)                   = 0
getdents64(8, /* 8 entries */, 32768)   = 328
stat("/opt/Ardour-5.12.0/share/themes/clear_gray-ardour.colors", {st_mode=S_IFREG|0644, st_size=31359, ...}) = 0
stat("/opt/Ardour-5.12.0/share/themes/blueberry_milk-ardour.colors", {st_mode=S_IFREG|0644, st_size=31871, ...}) = 0
stat("/opt/Ardour-5.12.0/share/themes/unastudia-ardour.colors", {st_mode=S_IFREG|0644, st_size=30729, ...}) = 0
stat("/opt/Ardour-5.12.0/share/themes/dark-ardour.colors", {st_mode=S_IFREG|0644, st_size=33221, ...}) = 0
stat("/opt/Ardour-5.12.0/share/themes/cubasish-ardour.colors", {st_mode=S_IFREG|0644, st_size=31537, ...}) = 0
stat("/opt/Ardour-5.12.0/share/themes/caineville-ardour.colors", {st_mode=S_IFREG|0644, st_size=31515, ...}) = 0
getdents64(8, /* 0 entries */, 32768)   = 0
close(8)                                = 0
write(1, "ardour: [WARNING]: Color file fo"..., 132ardour: [WARNING]: Color file for Blueberry Milk not found along /home/ender/.config/ardour5/themes:/opt/Ardour-5.12.0/share/themes
) = 132

So - I’m not uber familiar with the Ardour5 code - so I’m not sure if some of this stuff is just not there or possibly somewhere else - or if even there’s a setting that got knocked to ‘1’ from ‘0’ somewhere.

Sorry to make this such a big mess. Thanks again for anybody who can help me decide what I need to do here.

The fontconfig is unrelated. it’s just that libfontconfig that we ship with Ardour 5.12 binaries is a cannot read the new configuration format (already fixed, but there hasn’t been a new release since).

The issue is most likely the some system-wide GTK themes that get in the way. Did you try

GTK2_RC_FILES=/nonexistent Ardour5

or

GTK2_RC_FILES=/nonexistent ardour5

?

1 Like

^^ is the actual issue.

Can you change the color schema back to default? Preferences > Appearance.

PS. All the other “fails to open” are fine. There are a many optional paths where things can be located.

1 Like

yeah, I tried the GTK2_RC_FILES=/nonexistent ardour5 launch. Same thing.

ok. So - ready for the weird thing?

[Thu Feb 07:15:48:47]
ender@GLITCH:/opt/Ardour-5.12.0/share/themes[$]ll
total 204
drwxr-xr-x  2 root root  4096 Feb  7 13:05 ./
drwxr-xr-x 14 root root  4096 Feb  7 13:05 ../
-rw-r--r--  1 root root 31871 Feb  7 13:05 blueberry_milk-ardour.colors
-rw-r--r--  1 root root 31515 Feb  7 13:05 caineville-ardour.colors
-rw-r--r--  1 root root 31359 Feb  7 13:05 clear_gray-ardour.colors
-rw-r--r--  1 root root 31537 Feb  7 13:05 cubasish-ardour.colors
-rw-r--r--  1 root root 33221 Feb  7 13:05 dark-ardour.colors
-rw-r--r--  1 root root 30729 Feb  7 13:05 unastudia-ardour.colors

and

[Thu Feb 07:15:48:16]
ender@GLITCH:~/.config/ardour5/themes[$]ll
total 204
drwxrwxr-x 2 ender ender  4096 Feb  7 10:39 ./
drwxr-xr-x 3 ender ender  4096 Feb  7 10:48 ../
-rw-r--r-- 1 ender ender 31871 Feb  7 10:39 blueberry_milk-ardour.colors
-rw-r--r-- 1 ender ender 31515 Feb  7 10:39 caineville-ardour.colors
-rw-r--r-- 1 ender ender 31359 Feb  7 10:39 clear_gray-ardour.colors
-rw-r--r-- 1 ender ender 31537 Feb  7 10:39 cubasish-ardour.colors
-rw-r--r-- 1 ender ender 33221 Feb  7 10:39 dark-ardour.colors
-rw-r--r-- 1 ender ender 30729 Feb  7 10:39 unastudia-ardour.colors

The file name is irrelevant, but since the files have the same basename perhaps there’s a conflict try

grep "theme-name=" /opt/Ardour-5.12.0/share/themes/*.colors 

and perhaps remove the ones in ~/.config/ardour5/theme .

1 Like

ok - I removed those you suggested. Here’s the result of the grep:

/opt/Ardour-5.12.0/share/themes/blueberry_milk-ardour.colors:<Ardour theme-name="Blueberry Milk">
/opt/Ardour-5.12.0/share/themes/caineville-ardour.colors:<Ardour theme-name="Caineville">
/opt/Ardour-5.12.0/share/themes/clear_gray-ardour.colors:<Ardour theme-name="Clear Gray">
/opt/Ardour-5.12.0/share/themes/cubasish-ardour.colors:<Ardour theme-name="Cubasish">
/opt/Ardour-5.12.0/share/themes/dark-ardour.colors:<Ardour theme-name="dark">
/opt/Ardour-5.12.0/share/themes/unastudia-ardour.colors:<Ardour  theme-name="UnaStudia">

Does switching back and forth to other color schemas help?

Perhaps also try starting with blank new config (while ardour is not running)

mv ~/config/ardour5   ~/config/ardour5.bak
1 Like

Hey man - thank you for all of your help.
I tried that and nada. So I uninstalled and reinstalled, and still nothing.
Finally I uninstalled it, and just cleaned it out. I ran an apt purge, then I ran mlocate ardour | xargs rm -r, and finally I hand removed everything else.
A completely clean reinstall fixed it.
Still though - it bothers me that I wasn’t able to figure out what was going on.
I’m gonna have nightmare I’m drowning in code tonight.
Thanks though, for taking your time to try and help me figure it out. I do appreciate it :slight_smile:

1 Like

To close this thread off,…

I’ve used similar techniques in the past, mostly for theming widget-less GUIs (e.g. plugin GUIs, but that also applied to Ardour), also in some cases to visualize partial exposure (add random color overlays on every redraw). I’d expect that technique is not uncommon.

I think it was @paul who came up with the name “harlequin debugging” for this, but I don’t know. Somehow the term stuck.

In any case, your fully random-colored Ardour screenshots are psychedelic, maybe we should make that a feature^weaster-egg :slight_smile:

1 Like