View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0009709 | Taler | exchange | public | 2025-04-08 13:08 | 2025-04-14 15:07 |
Reporter | reynir | Assigned To | Christian Grothoff | ||
Priority | normal | Severity | minor | Reproducibility | always |
Status | resolved | Resolution | fixed | ||
Product Version | 0.14 | ||||
Target Version | 1.0 | Fixed in Version | 1.0 | ||
Summary | 0009709: Configs in /usr/share/taler-exchange/config.d/ does not seem to be loaded | ||||
Description | According to this section configuration files in /usr/share/taler-exchange/config.d/ are loaded as default values: https://docs.taler.net/taler-exchange-manual.html#configuration-fundamentals However, when I run taler-exchange.target I get errors that {AGGREGATOR,CLOSER,TRANSFER,WIREWATCH}_IDLE_SLEEP_INTERVAL are not defined. However, I can confirm they are defined in /usr/share/taler-exchange/config.d/exchange.conf. I also had to define KEY_DIR for the taler-exchange-secmod-* sections even if it is defined as KEY_DIR = ${TALER_DATA_HOME}secmod-cs/keys in the default secmod.conf files. | ||||
Additional Information | The output of taler-exchange-config --diagnostics does not include the *_IDLE_SLEEP_INTERVAL variables. The header of the output is: # # Configuration file diagnostics # # Entry point: /etc/taler-exchange/taler-exchange.conf # # Files Loaded: # /etc/taler-exchange/taler-exchange.conf # + /etc/taler-exchange/conf.d/exchange-business.conf # ++ /etc/taler-exchange/conf.d/../secrets/exchange-accountcredentials-1.secret.conf (loaded secret section exchange-accountcredentials-1) # + /etc/taler-exchange/conf.d/exchange-coins.conf # + /etc/taler-exchange/conf.d/exchange-secmod.conf # + /etc/taler-exchange/conf.d/exchange-system.conf # ++ /etc/taler-exchange/conf.d/../secrets/exchange-db.secret.conf (loaded secret section exchangedb-postgres) # + /etc/taler-exchange/overrides.conf # # Installation paths: # IPK_DATADIR = /usr/share/taler-exchange/ # IPK_LIBDIR = /usr/lib/x86_64-linux-gnu/taler-exchange/ # IPK_BINDIR = /usr/bin/ # IPK_LOCALEDIR = /usr/ # IPK_LOCALEDIR = /usr/share/locale/ # IPK_DOCDIR = /usr/share/icons/ # IPK_DOCDIR = /usr/share/doc/taler-exchange/ # IPK_LIBEXECDIR = /usr/taler-exchange/libexec/ # IPK_SELF_PREFIX = /usr/ # | ||||
Tags | No tags attached. | ||||
|
Which version is this? Specifically, taler-exchange-config -v and gnunet-config -v might be helpful. I just tried on my system, there it of course works... |
|
# taler-exchange-config -v taler-exchange-config v0.14.5-git-2cadb9e # gnunet-config -v gnunet-config vdebian-0.23.2_rc.1 git-688e7d6 2025-04-08T15:31:23.936604+0200 gnunet-config-15892 ERROR Unreadable configuration file `(null)', exiting .. |
|
I used the apt repository mentioned in the manual. Apt reports the versions to be 0.14.5 and 0.23.2~rc.1 respectively. |
|
Is this Ubuntu or Debian? |
|
It is debian 12 |
|
Can you please try # apt update # apt upgrade I don't see how this would have been broken in the past, but your version is rather old already, and maybe we had something broken briefly. |
|
I upgraded, but I still get complaints about variables not being defined $ taler-exchange-config -v taler-exchange-config v0.14.9-git-fd5b688 $ gnunet-config -v gnunet-config v0.24.0-debian 2025-04-09T11:39:24.341447+0200 gnunet-config-1502 ERROR Unreadable configuration file `(null)', exiting ... |
|
Hmm. I see. That log message is actually telling. Seems like GNUNET_CONFIGURATION_default_filename() returns NULL, which it does if it cannot find a configuration file under any of the default locations. Which could make sense, because you didn't actually install GNUnet, so there are no config files for it to find. So that explains why you get an error there and I do not, as I have the GNUnet config files. Anyway, that's a minor GNUnet issue which I've fixed in d98ca65ca..61e696500. Sadly doesn't explain at all why your taler-exchange-config doesn't find the variables. That said, you did try the original commands after the "apt upgrade", right? And it still doesn't find the defaults? Next I guess "strace taler-exchange-config --diagnostics" might be useful to see what it does *try* to do. But very, very strange. |
|
Please see the attached strace (I omitted things in the beginning that are not relevant - loading shared libraries and such). What I observe is it *does* look at /usr/share/taler-exchange/config.d/ and observe that there are 19 entries. But for whatever reason it doesn't ever open the files there. strace.txt (36,635 bytes)
newfstatat(AT_FDCWD, "/usr/lib/x86_64-linux-gnu/taler-exchange/libexec/", 0x7fffc2d80760, 0) = -1 ENOENT (No such file or directory) newfstatat(AT_FDCWD, "/usr/lib64/taler-exchange/libexec/", 0x7fffc2d80760, 0) = -1 ENOENT (No such file or directory) newfstatat(AT_FDCWD, "/home/reynir/.config/taler-exchange.conf", 0x7fffc2d807e0, 0) = -1 ENOENT (No such file or directory) newfstatat(AT_FDCWD, "/etc/taler-exchange.conf", 0x7fffc2d807e0, 0) = -1 ENOENT (No such file or directory) newfstatat(AT_FDCWD, "/etc/taler-exchange/taler-exchange.conf", {st_mode=S_IFREG|0644, st_size=1619, ...}, 0) = 0 access("/etc/taler-exchange/taler-exchange.conf", R_OK) = 0 getpid() = 1077 newfstatat(AT_FDCWD, "/etc/taler-exchange/taler-exchange.conf", {st_mode=S_IFREG|0644, st_size=1619, ...}, 0) = 0 access("/etc/taler-exchange/taler-exchange.conf", F_OK) = 0 getpid() = 1077 openat(AT_FDCWD, "/proc/1077/maps", O_RDONLY) = 3 newfstatat(3, "", {st_mode=S_IFREG|0444, st_size=0, ...}, AT_EMPTY_PATH) = 0 read(3, "565232cb0000-565232cb1000 r--p 0"..., 1024) = 1024 read(3, "000-7f4dd67e2000 r--p 00025000 f"..., 1024) = 1024 read(3, "/libidn2.so.0.3.8\n7f4dd67f1000-7"..., 1024) = 1024 read(3, "p 00000000 fe:01 1312019 "..., 1024) = 1024 read(3, "00 fe:01 1312291 "..., 1024) = 1024 read(3, "b5b000 r--p 001b1000 fe:01 13131"..., 1024) = 1024 read(3, "00 fe:01 1317916 "..., 1024) = 1024 read(3, " /usr/lib/x86_64"..., 1024) = 1024 read(3, "f4dd6eea000 r--p 0017b000 fe:01 "..., 1024) = 1024 read(3, " \n7f4dd6f88000-7f4dd6f98000 r--p"..., 1024) = 1024 close(3) = 0 newfstatat(AT_FDCWD, "/usr/share/taler-exchange/config.d", {st_mode=S_IFDIR|0755, st_size=4096, ...}, 0) = 0 access("/usr/share/taler-exchange/config.d", R_OK|X_OK) = 0 openat(AT_FDCWD, "/usr/share/taler-exchange/config.d", O_RDONLY|O_NONBLOCK|O_CLOEXEC|O_DIRECTORY) = 3 newfstatat(3, "", {st_mode=S_IFDIR|0755, st_size=4096, ...}, AT_EMPTY_PATH) = 0 getdents64(3, 0x5652360e7ef0 /* 19 entries */, 32768) = 832 getdents64(3, 0x5652360e7ef0 /* 0 entries */, 32768) = 0 close(3) = 0 openat(AT_FDCWD, "/etc/localtime", O_RDONLY|O_CLOEXEC) = 3 newfstatat(3, "", {st_mode=S_IFREG|0644, st_size=2137, ...}, AT_EMPTY_PATH) = 0 newfstatat(3, "", {st_mode=S_IFREG|0644, st_size=2137, ...}, AT_EMPTY_PATH) = 0 read(3, "TZif2\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\7\0\0\0\7\0\0\0\0"..., 4096) = 2137 lseek(3, -1359, SEEK_CUR) = 778 read(3, "TZif2\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\10\0\0\0\10\0\0\0\0"..., 4096) = 1359 close(3) = 0 write(2, "2025-04-14T10:44:25.793122+0200 "..., 156) = 156 newfstatat(AT_FDCWD, "/etc/taler-exchange/taler-exchange.conf", {st_mode=S_IFREG|0644, st_size=1619, ...}, AT_SYMLINK_NOFOLLOW) = 0 newfstatat(AT_FDCWD, "/etc/taler-exchange/taler-exchange.conf", {st_mode=S_IFREG|0644, st_size=1619, ...}, 0) = 0 access("/etc/taler-exchange/taler-exchange.conf", F_OK) = 0 openat(AT_FDCWD, "/etc/taler-exchange/taler-exchange.conf", O_RDONLY|O_CLOEXEC) = 3 read(3, "# Main entry point for the GNU T"..., 1619) = 1619 close(3) = 0 readlink("/etc", 0x7fffc2d80240, 1023) = -1 EINVAL (Invalid argument) readlink("/etc/taler-exchange", 0x7fffc2d80240, 1023) = -1 EINVAL (Invalid argument) readlink("/etc/taler-exchange/taler-exchange.conf", 0x7fffc2d80240, 1023) = -1 EINVAL (Invalid argument) openat(AT_FDCWD, "/etc/taler-exchange/conf.d", O_RDONLY|O_NONBLOCK|O_CLOEXEC|O_DIRECTORY) = 3 newfstatat(3, "", {st_mode=S_IFDIR|0755, st_size=4096, ...}, AT_EMPTY_PATH) = 0 getdents64(3, 0x5652360f0a50 /* 6 entries */, 32768) = 216 getdents64(3, 0x5652360f0a50 /* 0 entries */, 32768) = 0 close(3) = 0 newfstatat(AT_FDCWD, "/etc/taler-exchange/conf.d/exchange-business.conf", {st_mode=S_IFREG|0644, st_size=1684, ...}, AT_SYMLINK_NOFOLLOW) = 0 newfstatat(AT_FDCWD, "/etc/taler-exchange/conf.d/exchange-business.conf", {st_mode=S_IFREG|0644, st_size=1684, ...}, 0) = 0 access("/etc/taler-exchange/conf.d/exchange-business.conf", F_OK) = 0 openat(AT_FDCWD, "/etc/taler-exchange/conf.d/exchange-business.conf", O_RDONLY|O_CLOEXEC) = 3 read(3, "# Configuration for business-lev"..., 1684) = 1684 close(3) = 0 readlink("/etc", 0x7fffc2d80040, 1023) = -1 EINVAL (Invalid argument) readlink("/etc/taler-exchange", 0x7fffc2d80040, 1023) = -1 EINVAL (Invalid argument) readlink("/etc/taler-exchange/conf.d", 0x7fffc2d80040, 1023) = -1 EINVAL (Invalid argument) readlink("/etc/taler-exchange/conf.d/exchange-business.conf", 0x7fffc2d80040, 1023) = -1 EINVAL (Invalid argument) newfstatat(AT_FDCWD, "/etc/taler-exchange/conf.d/../secrets/exchange-accountcredentials-1.secret.conf", {st_mode=S_IFREG|0640, st_size=540, ...}, 0) = 0 access("/etc/taler-exchange/conf.d/../secrets/exchange-accountcredentials-1.secret.conf", R_OK) = -1 EACCES (Permission denied) newfstatat(AT_FDCWD, "/etc/taler-exchange/conf.d/exchange-coins.conf", {st_mode=S_IFREG|0644, st_size=874, ...}, AT_SYMLINK_NOFOLLOW) = 0 newfstatat(AT_FDCWD, "/etc/taler-exchange/conf.d/exchange-coins.conf", {st_mode=S_IFREG|0644, st_size=874, ...}, 0) = 0 access("/etc/taler-exchange/conf.d/exchange-coins.conf", F_OK) = 0 openat(AT_FDCWD, "/etc/taler-exchange/conf.d/exchange-coins.conf", O_RDONLY|O_CLOEXEC) = 3 read(3, "#\n# This configuration file spec"..., 874) = 874 close(3) = 0 newfstatat(AT_FDCWD, "/etc/taler-exchange/conf.d/exchange-secmod.conf", {st_mode=S_IFREG|0644, st_size=219, ...}, AT_SYMLINK_NOFOLLOW) = 0 newfstatat(AT_FDCWD, "/etc/taler-exchange/conf.d/exchange-secmod.conf", {st_mode=S_IFREG|0644, st_size=219, ...}, 0) = 0 access("/etc/taler-exchange/conf.d/exchange-secmod.conf", F_OK) = 0 openat(AT_FDCWD, "/etc/taler-exchange/conf.d/exchange-secmod.conf", O_RDONLY|O_CLOEXEC) = 3 read(3, "[taler-exchange-secmod-cs]\n\nKEY_"..., 219) = 219 close(3) = 0 newfstatat(AT_FDCWD, "/etc/taler-exchange/conf.d/exchange-system.conf", {st_mode=S_IFREG|0644, st_size=354, ...}, AT_SYMLINK_NOFOLLOW) = 0 newfstatat(AT_FDCWD, "/etc/taler-exchange/conf.d/exchange-system.conf", {st_mode=S_IFREG|0644, st_size=354, ...}, 0) = 0 access("/etc/taler-exchange/conf.d/exchange-system.conf", F_OK) = 0 openat(AT_FDCWD, "/etc/taler-exchange/conf.d/exchange-system.conf", O_RDONLY|O_CLOEXEC) = 3 read(3, "# Configuration settings for sys"..., 354) = 354 close(3) = 0 readlink("/etc", 0x7fffc2d80040, 1023) = -1 EINVAL (Invalid argument) readlink("/etc/taler-exchange", 0x7fffc2d80040, 1023) = -1 EINVAL (Invalid argument) readlink("/etc/taler-exchange/conf.d", 0x7fffc2d80040, 1023) = -1 EINVAL (Invalid argument) readlink("/etc/taler-exchange/conf.d/exchange-system.conf", 0x7fffc2d80040, 1023) = -1 EINVAL (Invalid argument) newfstatat(AT_FDCWD, "/etc/taler-exchange/conf.d/../secrets/exchange-db.secret.conf", {st_mode=S_IFREG|0640, st_size=277, ...}, 0) = 0 access("/etc/taler-exchange/conf.d/../secrets/exchange-db.secret.conf", R_OK) = -1 EACCES (Permission denied) readlink("/etc", 0x7fffc2d80240, 1023) = -1 EINVAL (Invalid argument) readlink("/etc/taler-exchange", 0x7fffc2d80240, 1023) = -1 EINVAL (Invalid argument) readlink("/etc/taler-exchange/taler-exchange.conf", 0x7fffc2d80240, 1023) = -1 EINVAL (Invalid argument) newfstatat(AT_FDCWD, "/etc/taler-exchange/overrides.conf", {st_mode=S_IFREG|0644, st_size=76, ...}, AT_SYMLINK_NOFOLLOW) = 0 newfstatat(AT_FDCWD, "/etc/taler-exchange/overrides.conf", {st_mode=S_IFREG|0644, st_size=76, ...}, 0) = 0 access("/etc/taler-exchange/overrides.conf", F_OK) = 0 openat(AT_FDCWD, "/etc/taler-exchange/overrides.conf", O_RDONLY|O_CLOEXEC) = 3 read(3, "# This configuration will be cha"..., 76) = 76 close(3) = 0 pipe2([3, 4], O_CLOEXEC) = 0 fcntl(3, F_GETFL) = 0 (flags O_RDONLY) fcntl(3, F_SETFL, O_RDONLY|O_NONBLOCK) = 0 fcntl(3, F_GETFD) = 0x1 (flags FD_CLOEXEC) fcntl(3, F_SETFD, FD_CLOEXEC) = 0 fcntl(4, F_GETFL) = 0x1 (flags O_WRONLY) fcntl(4, F_SETFL, O_WRONLY|O_NONBLOCK) = 0 fcntl(4, F_GETFD) = 0x1 (flags FD_CLOEXEC) fcntl(4, F_SETFD, FD_CLOEXEC) = 0 getpid() = 1077 rt_sigaction(SIGINT, {sa_handler=0x7f4dd6f597c0, sa_mask=[], sa_flags=SA_RESTORER|SA_INTERRUPT, sa_restorer=0x7f4dd6d58050}, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0 rt_sigaction(SIGTERM, {sa_handler=0x7f4dd6f597c0, sa_mask=[], sa_flags=SA_RESTORER|SA_INTERRUPT, sa_restorer=0x7f4dd6d58050}, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0 rt_sigaction(SIGPIPE, {sa_handler=0x7f4dd6f57cd0, sa_mask=[], sa_flags=SA_RESTORER|SA_INTERRUPT, sa_restorer=0x7f4dd6d58050}, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0 rt_sigaction(SIGQUIT, {sa_handler=0x7f4dd6f597c0, sa_mask=[], sa_flags=SA_RESTORER|SA_INTERRUPT, sa_restorer=0x7f4dd6d58050}, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0 rt_sigaction(SIGHUP, {sa_handler=0x7f4dd6f597c0, sa_mask=[], sa_flags=SA_RESTORER|SA_INTERRUPT, sa_restorer=0x7f4dd6d58050}, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0 pselect6(4, [3], [], NULL, {tv_sec=0, tv_nsec=0}, NULL) = 0 (Timeout) pselect6(4, [3], [], NULL, {tv_sec=0, tv_nsec=0}, NULL) = 0 (Timeout) getpid() = 1077 openat(AT_FDCWD, "/proc/1077/maps", O_RDONLY) = 5 newfstatat(5, "", {st_mode=S_IFREG|0444, st_size=0, ...}, AT_EMPTY_PATH) = 0 read(5, "565232cb0000-565232cb1000 r--p 0"..., 1024) = 1024 read(5, "000-7f4dd67e2000 r--p 00025000 f"..., 1024) = 1024 read(5, "/libidn2.so.0.3.8\n7f4dd67f1000-7"..., 1024) = 1024 read(5, "p 00000000 fe:01 1312019 "..., 1024) = 1024 read(5, "00 fe:01 1312291 "..., 1024) = 1024 read(5, "b5b000 r--p 001b1000 fe:01 13131"..., 1024) = 1024 read(5, "00 fe:01 1317916 "..., 1024) = 1024 read(5, " /usr/lib/x86_64"..., 1024) = 1024 read(5, "f4dd6eea000 r--p 0017b000 fe:01 "..., 1024) = 1024 read(5, " \n7f4dd6f88000-7f4dd6f98000 r--p"..., 1024) = 1024 close(5) = 0 getpid() = 1077 openat(AT_FDCWD, "/proc/1077/maps", O_RDONLY) = 5 newfstatat(5, "", {st_mode=S_IFREG|0444, st_size=0, ...}, AT_EMPTY_PATH) = 0 read(5, "565232cb0000-565232cb1000 r--p 0"..., 1024) = 1024 read(5, "000-7f4dd67e2000 r--p 00025000 f"..., 1024) = 1024 read(5, "/libidn2.so.0.3.8\n7f4dd67f1000-7"..., 1024) = 1024 read(5, "p 00000000 fe:01 1312019 "..., 1024) = 1024 read(5, "00 fe:01 1312291 "..., 1024) = 1024 read(5, "b5b000 r--p 001b1000 fe:01 13131"..., 1024) = 1024 read(5, "00 fe:01 1317916 "..., 1024) = 1024 read(5, " /usr/lib/x86_64"..., 1024) = 1024 read(5, "f4dd6eea000 r--p 0017b000 fe:01 "..., 1024) = 1024 read(5, " \n7f4dd6f88000-7f4dd6f98000 r--p"..., 1024) = 1024 close(5) = 0 newfstatat(AT_FDCWD, "/usr/lib/x86_64-linux-gnu/taler-exchange/", {st_mode=S_IFDIR|0755, st_size=4096, ...}, 0) = 0 access("/usr/lib/x86_64-linux-gnu/taler-exchange/", R_OK|X_OK) = 0 getpid() = 1077 openat(AT_FDCWD, "/proc/1077/maps", O_RDONLY) = 5 newfstatat(5, "", {st_mode=S_IFREG|0444, st_size=0, ...}, AT_EMPTY_PATH) = 0 read(5, "565232cb0000-565232cb1000 r--p 0"..., 1024) = 1024 read(5, "000-7f4dd67e2000 r--p 00025000 f"..., 1024) = 1024 read(5, "/libidn2.so.0.3.8\n7f4dd67f1000-7"..., 1024) = 1024 read(5, "p 00000000 fe:01 1312019 "..., 1024) = 1024 read(5, "00 fe:01 1312291 "..., 1024) = 1024 read(5, "b5b000 r--p 001b1000 fe:01 13131"..., 1024) = 1024 read(5, "00 fe:01 1317916 "..., 1024) = 1024 read(5, " /usr/lib/x86_64"..., 1024) = 1024 read(5, "f4dd6eea000 r--p 0017b000 fe:01 "..., 1024) = 1024 read(5, " \n7f4dd6f88000-7f4dd6f98000 r--p"..., 1024) = 1024 close(5) = 0 getpid() = 1077 openat(AT_FDCWD, "/proc/1077/maps", O_RDONLY) = 5 newfstatat(5, "", {st_mode=S_IFREG|0444, st_size=0, ...}, AT_EMPTY_PATH) = 0 read(5, "565232cb0000-565232cb1000 r--p 0"..., 1024) = 1024 read(5, "000-7f4dd67e2000 r--p 00025000 f"..., 1024) = 1024 read(5, "/libidn2.so.0.3.8\n7f4dd67f1000-7"..., 1024) = 1024 read(5, "p 00000000 fe:01 1312019 "..., 1024) = 1024 read(5, "00 fe:01 1312291 "..., 1024) = 1024 read(5, "b5b000 r--p 001b1000 fe:01 13131"..., 1024) = 1024 read(5, "00 fe:01 1317916 "..., 1024) = 1024 read(5, " /usr/lib/x86_64"..., 1024) = 1024 read(5, "f4dd6eea000 r--p 0017b000 fe:01 "..., 1024) = 1024 read(5, " \n7f4dd6f88000-7f4dd6f98000 r--p"..., 1024) = 1024 close(5) = 0 getpid() = 1077 openat(AT_FDCWD, "/proc/1077/maps", O_RDONLY) = 5 newfstatat(5, "", {st_mode=S_IFREG|0444, st_size=0, ...}, AT_EMPTY_PATH) = 0 read(5, "565232cb0000-565232cb1000 r--p 0"..., 1024) = 1024 read(5, "000-7f4dd67e2000 r--p 00025000 f"..., 1024) = 1024 read(5, "/libidn2.so.0.3.8\n7f4dd67f1000-7"..., 1024) = 1024 read(5, "p 00000000 fe:01 1312019 "..., 1024) = 1024 read(5, "00 fe:01 1312291 "..., 1024) = 1024 read(5, "b5b000 r--p 001b1000 fe:01 13131"..., 1024) = 1024 read(5, "00 fe:01 1317916 "..., 1024) = 1024 read(5, " /usr/lib/x86_64"..., 1024) = 1024 read(5, "f4dd6eea000 r--p 0017b000 fe:01 "..., 1024) = 1024 read(5, " \n7f4dd6f88000-7f4dd6f98000 r--p"..., 1024) = 1024 close(5) = 0 getpid() = 1077 openat(AT_FDCWD, "/proc/1077/maps", O_RDONLY) = 5 newfstatat(5, "", {st_mode=S_IFREG|0444, st_size=0, ...}, AT_EMPTY_PATH) = 0 read(5, "565232cb0000-565232cb1000 r--p 0"..., 1024) = 1024 read(5, "000-7f4dd67e2000 r--p 00025000 f"..., 1024) = 1024 read(5, "/libidn2.so.0.3.8\n7f4dd67f1000-7"..., 1024) = 1024 read(5, "p 00000000 fe:01 1312019 "..., 1024) = 1024 read(5, "00 fe:01 1312291 "..., 1024) = 1024 read(5, "b5b000 r--p 001b1000 fe:01 13131"..., 1024) = 1024 read(5, "00 fe:01 1317916 "..., 1024) = 1024 read(5, " /usr/lib/x86_64"..., 1024) = 1024 read(5, "f4dd6eea000 r--p 0017b000 fe:01 "..., 1024) = 1024 read(5, " \n7f4dd6f88000-7f4dd6f98000 r--p"..., 1024) = 1024 close(5) = 0 getpid() = 1077 openat(AT_FDCWD, "/proc/1077/maps", O_RDONLY) = 5 newfstatat(5, "", {st_mode=S_IFREG|0444, st_size=0, ...}, AT_EMPTY_PATH) = 0 read(5, "565232cb0000-565232cb1000 r--p 0"..., 1024) = 1024 read(5, "000-7f4dd67e2000 r--p 00025000 f"..., 1024) = 1024 read(5, "/libidn2.so.0.3.8\n7f4dd67f1000-7"..., 1024) = 1024 read(5, "p 00000000 fe:01 1312019 "..., 1024) = 1024 read(5, "00 fe:01 1312291 "..., 1024) = 1024 read(5, "b5b000 r--p 001b1000 fe:01 13131"..., 1024) = 1024 read(5, "00 fe:01 1317916 "..., 1024) = 1024 read(5, " /usr/lib/x86_64"..., 1024) = 1024 read(5, "f4dd6eea000 r--p 0017b000 fe:01 "..., 1024) = 1024 read(5, " \n7f4dd6f88000-7f4dd6f98000 r--p"..., 1024) = 1024 close(5) = 0 getpid() = 1077 openat(AT_FDCWD, "/proc/1077/maps", O_RDONLY) = 5 newfstatat(5, "", {st_mode=S_IFREG|0444, st_size=0, ...}, AT_EMPTY_PATH) = 0 read(5, "565232cb0000-565232cb1000 r--p 0"..., 1024) = 1024 read(5, "000-7f4dd67e2000 r--p 00025000 f"..., 1024) = 1024 read(5, "/libidn2.so.0.3.8\n7f4dd67f1000-7"..., 1024) = 1024 read(5, "p 00000000 fe:01 1312019 "..., 1024) = 1024 read(5, "00 fe:01 1312291 "..., 1024) = 1024 read(5, "b5b000 r--p 001b1000 fe:01 13131"..., 1024) = 1024 read(5, "00 fe:01 1317916 "..., 1024) = 1024 read(5, " /usr/lib/x86_64"..., 1024) = 1024 read(5, "f4dd6eea000 r--p 0017b000 fe:01 "..., 1024) = 1024 read(5, " \n7f4dd6f88000-7f4dd6f98000 r--p"..., 1024) = 1024 close(5) = 0 newfstatat(AT_FDCWD, "/usr/lib/x86_64-linux-gnu/taler-exchange/libexec/", 0x7fffc2d80650, 0) = -1 ENOENT (No such file or directory) newfstatat(AT_FDCWD, "/usr/lib64/taler-exchange/libexec/", 0x7fffc2d80650, 0) = -1 ENOENT (No such file or directory) getpid() = 1077 openat(AT_FDCWD, "/proc/1077/maps", O_RDONLY) = 5 newfstatat(5, "", {st_mode=S_IFREG|0444, st_size=0, ...}, AT_EMPTY_PATH) = 0 read(5, "565232cb0000-565232cb1000 r--p 0"..., 1024) = 1024 read(5, "000-7f4dd67e2000 r--p 00025000 f"..., 1024) = 1024 read(5, "/libidn2.so.0.3.8\n7f4dd67f1000-7"..., 1024) = 1024 read(5, "p 00000000 fe:01 1312019 "..., 1024) = 1024 read(5, "00 fe:01 1312291 "..., 1024) = 1024 read(5, "b5b000 r--p 001b1000 fe:01 13131"..., 1024) = 1024 read(5, "00 fe:01 1317916 "..., 1024) = 1024 read(5, " /usr/lib/x86_64"..., 1024) = 1024 read(5, "f4dd6eea000 r--p 0017b000 fe:01 "..., 1024) = 1024 read(5, " \n7f4dd6f88000-7f4dd6f98000 r--p"..., 1024) = 1024 close(5) = 0 newfstatat(AT_FDCWD, "/usr/share/taler-exchange/config.d", {st_mode=S_IFDIR|0755, st_size=4096, ...}, 0) = 0 access("/usr/share/taler-exchange/config.d", R_OK|X_OK) = 0 openat(AT_FDCWD, "/usr/share/taler-exchange/config.d", O_RDONLY|O_NONBLOCK|O_CLOEXEC|O_DIRECTORY) = 5 newfstatat(5, "", {st_mode=S_IFDIR|0755, st_size=4096, ...}, AT_EMPTY_PATH) = 0 getdents64(5, 0x5652360f0a50 /* 19 entries */, 32768) = 832 getdents64(5, 0x5652360f0a50 /* 0 entries */, 32768) = 0 close(5) = 0 newfstatat(AT_FDCWD, "/etc/localtime", {st_mode=S_IFREG|0644, st_size=2137, ...}, 0) = 0 write(2, "2025-04-14T10:44:25.801654+0200 "..., 156) = 156 newfstatat(AT_FDCWD, "/etc/taler-exchange/taler-exchange.conf", {st_mode=S_IFREG|0644, st_size=1619, ...}, AT_SYMLINK_NOFOLLOW) = 0 newfstatat(AT_FDCWD, "/etc/taler-exchange/taler-exchange.conf", {st_mode=S_IFREG|0644, st_size=1619, ...}, 0) = 0 access("/etc/taler-exchange/taler-exchange.conf", F_OK) = 0 openat(AT_FDCWD, "/etc/taler-exchange/taler-exchange.conf", O_RDONLY|O_CLOEXEC) = 5 read(5, "# Main entry point for the GNU T"..., 1619) = 1619 close(5) = 0 readlink("/etc", 0x7fffc2d80130, 1023) = -1 EINVAL (Invalid argument) readlink("/etc/taler-exchange", 0x7fffc2d80130, 1023) = -1 EINVAL (Invalid argument) readlink("/etc/taler-exchange/taler-exchange.conf", 0x7fffc2d80130, 1023) = -1 EINVAL (Invalid argument) openat(AT_FDCWD, "/etc/taler-exchange/conf.d", O_RDONLY|O_NONBLOCK|O_CLOEXEC|O_DIRECTORY) = 5 newfstatat(5, "", {st_mode=S_IFDIR|0755, st_size=4096, ...}, AT_EMPTY_PATH) = 0 getdents64(5, 0x5652360f0a50 /* 6 entries */, 32768) = 216 getdents64(5, 0x5652360f0a50 /* 0 entries */, 32768) = 0 close(5) = 0 newfstatat(AT_FDCWD, "/etc/taler-exchange/conf.d/exchange-business.conf", {st_mode=S_IFREG|0644, st_size=1684, ...}, AT_SYMLINK_NOFOLLOW) = 0 newfstatat(AT_FDCWD, "/etc/taler-exchange/conf.d/exchange-business.conf", {st_mode=S_IFREG|0644, st_size=1684, ...}, 0) = 0 access("/etc/taler-exchange/conf.d/exchange-business.conf", F_OK) = 0 openat(AT_FDCWD, "/etc/taler-exchange/conf.d/exchange-business.conf", O_RDONLY|O_CLOEXEC) = 5 read(5, "# Configuration for business-lev"..., 1684) = 1684 close(5) = 0 readlink("/etc", 0x7fffc2d7ff30, 1023) = -1 EINVAL (Invalid argument) readlink("/etc/taler-exchange", 0x7fffc2d7ff30, 1023) = -1 EINVAL (Invalid argument) readlink("/etc/taler-exchange/conf.d", 0x7fffc2d7ff30, 1023) = -1 EINVAL (Invalid argument) readlink("/etc/taler-exchange/conf.d/exchange-business.conf", 0x7fffc2d7ff30, 1023) = -1 EINVAL (Invalid argument) newfstatat(AT_FDCWD, "/etc/taler-exchange/conf.d/../secrets/exchange-accountcredentials-1.secret.conf", {st_mode=S_IFREG|0640, st_size=540, ...}, 0) = 0 access("/etc/taler-exchange/conf.d/../secrets/exchange-accountcredentials-1.secret.conf", R_OK) = -1 EACCES (Permission denied) newfstatat(AT_FDCWD, "/etc/taler-exchange/conf.d/../secrets/exchange-accountcredentials-1.secret.conf", {st_mode=S_IFREG|0640, st_size=540, ...}, 0) = 0 socket(AF_UNIX, SOCK_STREAM|SOCK_CLOEXEC|SOCK_NONBLOCK, 0) = 5 connect(5, {sa_family=AF_UNIX, sun_path="/var/run/nscd/socket"}, 110) = -1 ENOENT (No such file or directory) close(5) = 0 socket(AF_UNIX, SOCK_STREAM|SOCK_CLOEXEC|SOCK_NONBLOCK, 0) = 5 connect(5, {sa_family=AF_UNIX, sun_path="/var/run/nscd/socket"}, 110) = -1 ENOENT (No such file or directory) close(5) = 0 newfstatat(AT_FDCWD, "/etc/nsswitch.conf", {st_mode=S_IFREG|0644, st_size=526, ...}, 0) = 0 newfstatat(AT_FDCWD, "/", {st_mode=S_IFDIR|0755, st_size=4096, ...}, 0) = 0 openat(AT_FDCWD, "/etc/nsswitch.conf", O_RDONLY|O_CLOEXEC) = 5 newfstatat(5, "", {st_mode=S_IFREG|0644, st_size=526, ...}, AT_EMPTY_PATH) = 0 read(5, "# /etc/nsswitch.conf\n#\n# Example"..., 4096) = 526 read(5, "", 4096) = 0 newfstatat(5, "", {st_mode=S_IFREG|0644, st_size=526, ...}, AT_EMPTY_PATH) = 0 close(5) = 0 openat(AT_FDCWD, "/etc/passwd", O_RDONLY|O_CLOEXEC) = 5 newfstatat(5, "", {st_mode=S_IFREG|0644, st_size=2030, ...}, AT_EMPTY_PATH) = 0 lseek(5, 0, SEEK_SET) = 0 read(5, "root:x:0:0:root:/root:/bin/bash\n"..., 4096) = 2030 close(5) = 0 socket(AF_UNIX, SOCK_STREAM|SOCK_CLOEXEC|SOCK_NONBLOCK, 0) = 5 connect(5, {sa_family=AF_UNIX, sun_path="/var/run/nscd/socket"}, 110) = -1 ENOENT (No such file or directory) close(5) = 0 socket(AF_UNIX, SOCK_STREAM|SOCK_CLOEXEC|SOCK_NONBLOCK, 0) = 5 connect(5, {sa_family=AF_UNIX, sun_path="/var/run/nscd/socket"}, 110) = -1 ENOENT (No such file or directory) close(5) = 0 newfstatat(AT_FDCWD, "/etc/nsswitch.conf", {st_mode=S_IFREG|0644, st_size=526, ...}, 0) = 0 openat(AT_FDCWD, "/etc/group", O_RDONLY|O_CLOEXEC) = 5 newfstatat(5, "", {st_mode=S_IFREG|0644, st_size=1051, ...}, AT_EMPTY_PATH) = 0 lseek(5, 0, SEEK_SET) = 0 read(5, "root:x:0:\ndaemon:x:1:\nbin:x:2:\ns"..., 4096) = 1051 close(5) = 0 newfstatat(AT_FDCWD, "/etc/taler-exchange/conf.d/exchange-coins.conf", {st_mode=S_IFREG|0644, st_size=874, ...}, AT_SYMLINK_NOFOLLOW) = 0 newfstatat(AT_FDCWD, "/etc/taler-exchange/conf.d/exchange-coins.conf", {st_mode=S_IFREG|0644, st_size=874, ...}, 0) = 0 access("/etc/taler-exchange/conf.d/exchange-coins.conf", F_OK) = 0 openat(AT_FDCWD, "/etc/taler-exchange/conf.d/exchange-coins.conf", O_RDONLY|O_CLOEXEC) = 5 read(5, "#\n# This configuration file spec"..., 874) = 874 close(5) = 0 newfstatat(AT_FDCWD, "/etc/taler-exchange/conf.d/exchange-secmod.conf", {st_mode=S_IFREG|0644, st_size=219, ...}, AT_SYMLINK_NOFOLLOW) = 0 newfstatat(AT_FDCWD, "/etc/taler-exchange/conf.d/exchange-secmod.conf", {st_mode=S_IFREG|0644, st_size=219, ...}, 0) = 0 access("/etc/taler-exchange/conf.d/exchange-secmod.conf", F_OK) = 0 openat(AT_FDCWD, "/etc/taler-exchange/conf.d/exchange-secmod.conf", O_RDONLY|O_CLOEXEC) = 5 read(5, "[taler-exchange-secmod-cs]\n\nKEY_"..., 219) = 219 close(5) = 0 newfstatat(AT_FDCWD, "/etc/taler-exchange/conf.d/exchange-system.conf", {st_mode=S_IFREG|0644, st_size=354, ...}, AT_SYMLINK_NOFOLLOW) = 0 newfstatat(AT_FDCWD, "/etc/taler-exchange/conf.d/exchange-system.conf", {st_mode=S_IFREG|0644, st_size=354, ...}, 0) = 0 access("/etc/taler-exchange/conf.d/exchange-system.conf", F_OK) = 0 openat(AT_FDCWD, "/etc/taler-exchange/conf.d/exchange-system.conf", O_RDONLY|O_CLOEXEC) = 5 read(5, "# Configuration settings for sys"..., 354) = 354 close(5) = 0 readlink("/etc", 0x7fffc2d7ff30, 1023) = -1 EINVAL (Invalid argument) readlink("/etc/taler-exchange", 0x7fffc2d7ff30, 1023) = -1 EINVAL (Invalid argument) readlink("/etc/taler-exchange/conf.d", 0x7fffc2d7ff30, 1023) = -1 EINVAL (Invalid argument) readlink("/etc/taler-exchange/conf.d/exchange-system.conf", 0x7fffc2d7ff30, 1023) = -1 EINVAL (Invalid argument) newfstatat(AT_FDCWD, "/etc/taler-exchange/conf.d/../secrets/exchange-db.secret.conf", {st_mode=S_IFREG|0640, st_size=277, ...}, 0) = 0 access("/etc/taler-exchange/conf.d/../secrets/exchange-db.secret.conf", R_OK) = -1 EACCES (Permission denied) newfstatat(AT_FDCWD, "/etc/taler-exchange/conf.d/../secrets/exchange-db.secret.conf", {st_mode=S_IFREG|0640, st_size=277, ...}, 0) = 0 newfstatat(AT_FDCWD, "/etc/nsswitch.conf", {st_mode=S_IFREG|0644, st_size=526, ...}, 0) = 0 openat(AT_FDCWD, "/etc/passwd", O_RDONLY|O_CLOEXEC) = 5 newfstatat(5, "", {st_mode=S_IFREG|0644, st_size=2030, ...}, AT_EMPTY_PATH) = 0 lseek(5, 0, SEEK_SET) = 0 read(5, "root:x:0:0:root:/root:/bin/bash\n"..., 4096) = 2030 close(5) = 0 newfstatat(AT_FDCWD, "/etc/nsswitch.conf", {st_mode=S_IFREG|0644, st_size=526, ...}, 0) = 0 openat(AT_FDCWD, "/etc/group", O_RDONLY|O_CLOEXEC) = 5 newfstatat(5, "", {st_mode=S_IFREG|0644, st_size=1051, ...}, AT_EMPTY_PATH) = 0 lseek(5, 0, SEEK_SET) = 0 read(5, "root:x:0:\ndaemon:x:1:\nbin:x:2:\ns"..., 4096) = 1051 close(5) = 0 readlink("/etc", 0x7fffc2d80130, 1023) = -1 EINVAL (Invalid argument) readlink("/etc/taler-exchange", 0x7fffc2d80130, 1023) = -1 EINVAL (Invalid argument) readlink("/etc/taler-exchange/taler-exchange.conf", 0x7fffc2d80130, 1023) = -1 EINVAL (Invalid argument) newfstatat(AT_FDCWD, "/etc/taler-exchange/overrides.conf", {st_mode=S_IFREG|0644, st_size=76, ...}, AT_SYMLINK_NOFOLLOW) = 0 newfstatat(AT_FDCWD, "/etc/taler-exchange/overrides.conf", {st_mode=S_IFREG|0644, st_size=76, ...}, 0) = 0 access("/etc/taler-exchange/overrides.conf", F_OK) = 0 openat(AT_FDCWD, "/etc/taler-exchange/overrides.conf", O_RDONLY|O_CLOEXEC) = 5 read(5, "# This configuration will be cha"..., 76) = 76 close(5) = 0 getpid() = 1077 openat(AT_FDCWD, "/proc/1077/maps", O_RDONLY) = 5 newfstatat(5, "", {st_mode=S_IFREG|0444, st_size=0, ...}, AT_EMPTY_PATH) = 0 read(5, "565232cb0000-565232cb1000 r--p 0"..., 1024) = 1024 read(5, "000-7f4dd67e2000 r--p 00025000 f"..., 1024) = 1024 read(5, "/libidn2.so.0.3.8\n7f4dd67f1000-7"..., 1024) = 1024 read(5, "p 00000000 fe:01 1312019 "..., 1024) = 1024 read(5, "00 fe:01 1312291 "..., 1024) = 1024 read(5, "b5b000 r--p 001b1000 fe:01 13131"..., 1024) = 1024 read(5, "00 fe:01 1317916 "..., 1024) = 1024 read(5, " /usr/lib/x86_64"..., 1024) = 1024 read(5, "f4dd6eea000 r--p 0017b000 fe:01 "..., 1024) = 1024 read(5, " \n7f4dd6f88000-7f4dd6f98000 r--p"..., 1024) = 1024 close(5) = 0 getpid() = 1077 openat(AT_FDCWD, "/proc/1077/maps", O_RDONLY) = 5 newfstatat(5, "", {st_mode=S_IFREG|0444, st_size=0, ...}, AT_EMPTY_PATH) = 0 read(5, "565232cb0000-565232cb1000 r--p 0"..., 1024) = 1024 read(5, "000-7f4dd67e2000 r--p 00025000 f"..., 1024) = 1024 read(5, "/libidn2.so.0.3.8\n7f4dd67f1000-7"..., 1024) = 1024 read(5, "p 00000000 fe:01 1312019 "..., 1024) = 1024 read(5, "00 fe:01 1312291 "..., 1024) = 1024 read(5, "b5b000 r--p 001b1000 fe:01 13131"..., 1024) = 1024 read(5, "00 fe:01 1317916 "..., 1024) = 1024 read(5, " /usr/lib/x86_64"..., 1024) = 1024 read(5, "f4dd6eea000 r--p 0017b000 fe:01 "..., 1024) = 1024 read(5, " \n7f4dd6f88000-7f4dd6f98000 r--p"..., 1024) = 1024 close(5) = 0 newfstatat(AT_FDCWD, "/usr/lib/x86_64-linux-gnu/taler-exchange/", {st_mode=S_IFDIR|0755, st_size=4096, ...}, 0) = 0 access("/usr/lib/x86_64-linux-gnu/taler-exchange/", R_OK|X_OK) = 0 getpid() = 1077 openat(AT_FDCWD, "/proc/1077/maps", O_RDONLY) = 5 newfstatat(5, "", {st_mode=S_IFREG|0444, st_size=0, ...}, AT_EMPTY_PATH) = 0 read(5, "565232cb0000-565232cb1000 r--p 0"..., 1024) = 1024 read(5, "000-7f4dd67e2000 r--p 00025000 f"..., 1024) = 1024 read(5, "/libidn2.so.0.3.8\n7f4dd67f1000-7"..., 1024) = 1024 read(5, "p 00000000 fe:01 1312019 "..., 1024) = 1024 read(5, "00 fe:01 1312291 "..., 1024) = 1024 read(5, "b5b000 r--p 001b1000 fe:01 13131"..., 1024) = 1024 read(5, "00 fe:01 1317916 "..., 1024) = 1024 read(5, " /usr/lib/x86_64"..., 1024) = 1024 read(5, "f4dd6eea000 r--p 0017b000 fe:01 "..., 1024) = 1024 read(5, " \n7f4dd6f88000-7f4dd6f98000 r--p"..., 1024) = 1024 close(5) = 0 getpid() = 1077 openat(AT_FDCWD, "/proc/1077/maps", O_RDONLY) = 5 newfstatat(5, "", {st_mode=S_IFREG|0444, st_size=0, ...}, AT_EMPTY_PATH) = 0 read(5, "565232cb0000-565232cb1000 r--p 0"..., 1024) = 1024 read(5, "000-7f4dd67e2000 r--p 00025000 f"..., 1024) = 1024 read(5, "/libidn2.so.0.3.8\n7f4dd67f1000-7"..., 1024) = 1024 read(5, "p 00000000 fe:01 1312019 "..., 1024) = 1024 read(5, "00 fe:01 1312291 "..., 1024) = 1024 read(5, "b5b000 r--p 001b1000 fe:01 13131"..., 1024) = 1024 read(5, "00 fe:01 1317916 "..., 1024) = 1024 read(5, " /usr/lib/x86_64"..., 1024) = 1024 read(5, "f4dd6eea000 r--p 0017b000 fe:01 "..., 1024) = 1024 read(5, " \n7f4dd6f88000-7f4dd6f98000 r--p"..., 1024) = 1024 close(5) = 0 getpid() = 1077 openat(AT_FDCWD, "/proc/1077/maps", O_RDONLY) = 5 newfstatat(5, "", {st_mode=S_IFREG|0444, st_size=0, ...}, AT_EMPTY_PATH) = 0 read(5, "565232cb0000-565232cb1000 r--p 0"..., 1024) = 1024 read(5, "000-7f4dd67e2000 r--p 00025000 f"..., 1024) = 1024 read(5, "/libidn2.so.0.3.8\n7f4dd67f1000-7"..., 1024) = 1024 read(5, "p 00000000 fe:01 1312019 "..., 1024) = 1024 read(5, "00 fe:01 1312291 "..., 1024) = 1024 read(5, "b5b000 r--p 001b1000 fe:01 13131"..., 1024) = 1024 read(5, "00 fe:01 1317916 "..., 1024) = 1024 read(5, " /usr/lib/x86_64"..., 1024) = 1024 read(5, "f4dd6eea000 r--p 0017b000 fe:01 "..., 1024) = 1024 read(5, " \n7f4dd6f88000-7f4dd6f98000 r--p"..., 1024) = 1024 close(5) = 0 getpid() = 1077 openat(AT_FDCWD, "/proc/1077/maps", O_RDONLY) = 5 newfstatat(5, "", {st_mode=S_IFREG|0444, st_size=0, ...}, AT_EMPTY_PATH) = 0 read(5, "565232cb0000-565232cb1000 r--p 0"..., 1024) = 1024 read(5, "000-7f4dd67e2000 r--p 00025000 f"..., 1024) = 1024 read(5, "/libidn2.so.0.3.8\n7f4dd67f1000-7"..., 1024) = 1024 read(5, "p 00000000 fe:01 1312019 "..., 1024) = 1024 read(5, "00 fe:01 1312291 "..., 1024) = 1024 read(5, "b5b000 r--p 001b1000 fe:01 13131"..., 1024) = 1024 read(5, "00 fe:01 1317916 "..., 1024) = 1024 read(5, " /usr/lib/x86_64"..., 1024) = 1024 read(5, "f4dd6eea000 r--p 0017b000 fe:01 "..., 1024) = 1024 read(5, " \n7f4dd6f88000-7f4dd6f98000 r--p"..., 1024) = 1024 close(5) = 0 getpid() = 1077 openat(AT_FDCWD, "/proc/1077/maps", O_RDONLY) = 5 newfstatat(5, "", {st_mode=S_IFREG|0444, st_size=0, ...}, AT_EMPTY_PATH) = 0 read(5, "565232cb0000-565232cb1000 r--p 0"..., 1024) = 1024 read(5, "000-7f4dd67e2000 r--p 00025000 f"..., 1024) = 1024 read(5, "/libidn2.so.0.3.8\n7f4dd67f1000-7"..., 1024) = 1024 read(5, "p 00000000 fe:01 1312019 "..., 1024) = 1024 read(5, "00 fe:01 1312291 "..., 1024) = 1024 read(5, "b5b000 r--p 001b1000 fe:01 13131"..., 1024) = 1024 read(5, "00 fe:01 1317916 "..., 1024) = 1024 read(5, " /usr/lib/x86_64"..., 1024) = 1024 read(5, "f4dd6eea000 r--p 0017b000 fe:01 "..., 1024) = 1024 read(5, " \n7f4dd6f88000-7f4dd6f98000 r--p"..., 1024) = 1024 close(5) = 0 getpid() = 1077 openat(AT_FDCWD, "/proc/1077/maps", O_RDONLY) = 5 newfstatat(5, "", {st_mode=S_IFREG|0444, st_size=0, ...}, AT_EMPTY_PATH) = 0 read(5, "565232cb0000-565232cb1000 r--p 0"..., 1024) = 1024 read(5, "000-7f4dd67e2000 r--p 00025000 f"..., 1024) = 1024 read(5, "/libidn2.so.0.3.8\n7f4dd67f1000-7"..., 1024) = 1024 read(5, "p 00000000 fe:01 1312019 "..., 1024) = 1024 read(5, "00 fe:01 1312291 "..., 1024) = 1024 read(5, "b5b000 r--p 001b1000 fe:01 13131"..., 1024) = 1024 read(5, "00 fe:01 1317916 "..., 1024) = 1024 read(5, " /usr/lib/x86_64"..., 1024) = 1024 read(5, "f4dd6eea000 r--p 0017b000 fe:01 "..., 1024) = 1024 read(5, " \n7f4dd6f88000-7f4dd6f98000 r--p"..., 1024) = 1024 close(5) = 0 newfstatat(AT_FDCWD, "/usr/lib/x86_64-linux-gnu/taler-exchange/libexec/", 0x7fffc2d805f0, 0) = -1 ENOENT (No such file or directory) newfstatat(AT_FDCWD, "/usr/lib64/taler-exchange/libexec/", 0x7fffc2d805f0, 0) = -1 ENOENT (No such file or directory) getpid() = 1077 readlink("/proc/1077/exe", "/usr/bin/taler-exchange-config", 1023) = 30 newfstatat(1, "", {st_mode=S_IFCHR|0620, st_rdev=makedev(0x88, 0), ...}, AT_EMPTY_PATH) = 0 write(1, "#\n# Configuration file diagnosti"..., 3072) = 3072 write(1, "xchange-system.conf:11\n", 23) = 23 write(1, "DB = postgres\n", 14) = 14 write(1, "\n", 1) = 1 write(1, "# /etc/taler-exchange/conf.d/exc"..., 55) = 55 write(1, "ATTRIBUTE_ENCRYPTION_KEY = SET_M"..., 41) = 41 write(1, "\n", 1) = 1 write(1, "# /etc/taler-exchange/conf.d/exc"..., 55) = 55 write(1, "BASE_URL = http://taler-exchange"..., 34) = 34 write(1, "\n", 1) = 1 write(1, "# /etc/taler-exchange/conf.d/exc"..., 54) = 54 write(1, "MASTER_PUBLIC_KEY = HH4V4DWTZT7D"..., 73) = 73 write(1, "\n", 1) = 1 write(1, "# /etc/taler-exchange/taler-exch"..., 45) = 45 write(1, "currency_round_unit = KUDOS:0.01"..., 33) = 33 write(1, "\n", 1) = 1 write(1, "# /etc/taler-exchange/taler-exch"..., 45) = 45 write(1, "currency = KUDOS\n", 17) = 17 write(1, "\n", 1) = 1 write(1, "\n", 1) = 1 write(1, "[PATHS]\n", 8) = 8 write(1, "\n", 1) = 1 write(1, "# /etc/taler-exchange/taler-exch"..., 45) = 45 write(1, "TALER_DATA_HOME = /var/lib/taler"..., 43) = 43 write(1, "\n", 1) = 1 write(1, "# /etc/taler-exchange/taler-exch"..., 45) = 45 write(1, "TALER_CONFIG_HOME = /etc/taler-e"..., 41) = 41 write(1, "\n", 1) = 1 write(1, "# /etc/taler-exchange/taler-exch"..., 45) = 45 write(1, "TALER_CACHE_HOME = /var/cache/ta"..., 46) = 46 write(1, "\n", 1) = 1 write(1, "# /etc/taler-exchange/taler-exch"..., 45) = 45 write(1, "TALER_RUNTIME_DIR = /run/taler-e"..., 41) = 41 write(1, "\n", 1) = 1 write(1, "# /etc/taler-exchange/taler-exch"..., 45) = 45 write(1, "TALER_HOME = /var/lib/taler-exch"..., 38) = 38 write(1, "\n", 1) = 1 write(1, "\n", 1) = 1 pselect6(0, 0x5652360e82b8, 0x5652360e8348, NULL, {tv_sec=0, tv_nsec=0}, NULL) = 0 (Timeout) rt_sigaction(SIGINT, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x7f4dd6d58050}, {sa_handler=0x7f4dd6f597c0, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x7f4dd6d58050}, 8) = 0 rt_sigaction(SIGTERM, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x7f4dd6d58050}, {sa_handler=0x7f4dd6f597c0, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x7f4dd6d58050}, 8) = 0 rt_sigaction(SIGPIPE, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x7f4dd6d58050}, {sa_handler=0x7f4dd6f57cd0, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x7f4dd6d58050}, 8) = 0 rt_sigaction(SIGQUIT, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x7f4dd6d58050}, {sa_handler=0x7f4dd6f597c0, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x7f4dd6d58050}, 8) = 0 rt_sigaction(SIGHUP, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x7f4dd6d58050}, {sa_handler=0x7f4dd6f597c0, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x7f4dd6d58050}, 8) = 0 close(3) = 0 close(4) = 0 exit_group(0) = ? +++ exited with 0 +++ |
|
For brevity please take a look at this grep output: $ grep -A5 '/usr/share/taler-exchange/config.d' taler-exchange.strace newfstatat(AT_FDCWD, "/usr/share/taler-exchange/config.d", {st_mode=S_IFDIR|0755, st_size=4096, ...}, 0) = 0 access("/usr/share/taler-exchange/config.d", R_OK|X_OK) = 0 openat(AT_FDCWD, "/usr/share/taler-exchange/config.d", O_RDONLY|O_NONBLOCK|O_CLOEXEC|O_DIRECTORY) = 3 newfstatat(3, "", {st_mode=S_IFDIR|0755, st_size=4096, ...}, AT_EMPTY_PATH) = 0 getdents64(3, 0x5652360e7ef0 /* 19 entries */, 32768) = 832 getdents64(3, 0x5652360e7ef0 /* 0 entries */, 32768) = 0 close(3) = 0 openat(AT_FDCWD, "/etc/localtime", O_RDONLY|O_CLOEXEC) = 3 -- newfstatat(AT_FDCWD, "/usr/share/taler-exchange/config.d", {st_mode=S_IFDIR|0755, st_size=4096, ...}, 0) = 0 access("/usr/share/taler-exchange/config.d", R_OK|X_OK) = 0 openat(AT_FDCWD, "/usr/share/taler-exchange/config.d", O_RDONLY|O_NONBLOCK|O_CLOEXEC|O_DIRECTORY) = 5 newfstatat(5, "", {st_mode=S_IFDIR|0755, st_size=4096, ...}, AT_EMPTY_PATH) = 0 getdents64(5, 0x5652360f0a50 /* 19 entries */, 32768) = 832 getdents64(5, 0x5652360f0a50 /* 0 entries */, 32768) = 0 close(5) = 0 newfstatat(AT_FDCWD, "/etc/localtime", {st_mode=S_IFREG|0644, st_size=2137, ...}, 0) = 0 |
|
Hmm. A bit strange that you get 19 entries and I get 17. But the real question is why the code doesn't even attempt to open the files. If you did compile (or were to compile) the code with "-g -O0" you could use gdb and we should see where it freaks out: gdb /usr/bin/taler-exchange-config (gdb) break collect_files_cb (gdb) run => you should see 17 calls to 'collect_files_cb' (excluding the "." and "..") Debug using mostly: (gdb) n # for next (gdb) bt full # show entire stacktrace, possibly useful especially after we get somewhere interesting... After this point in the code where you put the breakpoint, GNUNET_DISK_directory_scan() *should* return 17 to the caller GNUNET_CONFIGURATION_load_from(). There, the result should be qsort'ed, and then each filename given to GNUNET_CONFIGURATION_parse(), unless they do not end in ".conf" (but in that case, a WARNING is logged). GNUNET_CONFIGURATION_parse() expands the filename and then calls stat(), which is something we do not see in your strace, so before then there must be the error. However, the only plausible one is the cycle detection logic (in GNUNET_CONFIGURATION_parse()) and that can't be it as it would have logged an ERROR if it did something. So anyway, if you can, it would be great if you could gdb around this code path a bit, to see where it takes a wrong turn. I did visual inspection, and see nothing even suspicious. |
|
The two extra files are just vim swap files. I have not modified the files there as to the best of my knowledge. I've only used vim there to view the files and read the documentation therein. I think I will not have time to build and run a debug taler-exchange build until after easter. $ ls -a . .. coins.conf currencies.conf exchange.conf exchangedb.conf exchangedb-postgres.conf exchange-offline.conf exchange-paths.conf kyclogic.conf kyclogic-kycaid.conf kyclogic-oauth2.conf kyclogic-persona.conf taler-exchange.conf taler-exchange-secmod-cs.conf taler-exchange-secmod-eddsa.conf .taler-exchange-secmod-eddsa.conf.swp taler-exchange-secmod-rsa.conf .taler-exchange-secmod-rsa.conf.swp |
|
Ok interesting. Removing the swap files I get progress! The config files are read. So I guess the error happens when there's a file in that directory that doesn't ind in .conf or something like that. |
|
More data points: If I do `touch /usr/share/taler-exchange/config.d/not-a-config` I observe taler-exchange-config looks at the files in the directory. But if I do `touch /usr/share/taler-exchange/config.d/.not-a-config` it does not look at the files there. So the problem is perhaps files with a leading dot for whatever reason. |
|
Ok, fixed in gnunet.git :: b25dae060..f7e69b2ee Note: you SHOULD have seen a warning in the logs, at least I did get one. But of course the config loader should not have stopped if there was a file with the wrong name it. Note that this fix will only be in GNUnet >= 0.24.2. |
Date Modified | Username | Field | Change |
---|---|---|---|
2025-04-08 13:08 | reynir | New Issue | |
2025-04-08 13:08 | reynir | Status | new => assigned |
2025-04-08 13:08 | reynir | Assigned To | => Christian Grothoff |
2025-04-08 13:37 | Christian Grothoff | Note Added: 0024442 | |
2025-04-08 13:37 | Christian Grothoff | Status | assigned => feedback |
2025-04-08 15:32 | reynir | Note Added: 0024443 | |
2025-04-08 15:32 | reynir | Status | feedback => assigned |
2025-04-08 17:20 | reynir | Note Added: 0024444 | |
2025-04-08 19:20 | Christian Grothoff | Note Added: 0024449 | |
2025-04-09 09:58 | reynir | Note Added: 0024459 | |
2025-04-09 10:51 | Christian Grothoff | Note Added: 0024466 | |
2025-04-09 11:40 | reynir | Note Added: 0024471 | |
2025-04-10 13:53 | Christian Grothoff | Note Added: 0024497 | |
2025-04-14 10:52 | reynir | Note Added: 0024524 | |
2025-04-14 10:52 | reynir | File Added: strace.txt | |
2025-04-14 11:00 | reynir | Note Added: 0024525 | |
2025-04-14 11:49 | Christian Grothoff | Note Added: 0024526 | |
2025-04-14 13:44 | reynir | Note Added: 0024527 | |
2025-04-14 13:49 | reynir | Note Added: 0024528 | |
2025-04-14 13:58 | reynir | Note Added: 0024529 | |
2025-04-14 15:07 | Christian Grothoff | Note Added: 0024531 | |
2025-04-14 15:07 | Christian Grothoff | Status | assigned => resolved |
2025-04-14 15:07 | Christian Grothoff | Resolution | open => fixed |
2025-04-14 15:07 | Christian Grothoff | Fixed in Version | => 1.0 |
2025-04-14 15:07 | Christian Grothoff | Target Version | => 1.0 |