Crash on archlinux

dhcpcd crashes after some set of actions I do(I have not yet pin pointed when exactly it happens)
sudo systemctl status dhcpcd
× dhcpcd.service - DHCP/ IPv4LL/ IPv6RA/ DHCPv6 client on all interfaces
     Loaded: loaded (/usr/lib/systemd/system/dhcpcd.service; enabled; preset: disabled)
     Active: failed (Result: core-dump) since Thu 2024-11-14 12:42:26 +0330; 1min 9s ago
   Duration: 1min 56.251s
 Invocation: da6d92bbb82f47a7866966b4d4211a9e
    Process: 991 ExecStart=/usr/bin/dhcpcd -q -B (code=dumped, signal=SEGV)
   Main PID: 991 (code=dumped, signal=SEGV)
   Mem peak: 9M
        CPU: 46ms

Nov 14 12:40:35 17F dhcpcd[1013]: enp56s0u1u1c2: probing address <IP_ADDRESS>/24
Nov 14 12:40:39 17F dhcpcd[1013]: enp56s0u1u1c2: leased <IP_ADDRESS> for 720 seconds
Nov 14 12:40:39 17F dhcpcd[1013]: enp56s0u1u1c2: adding route to <IP_ADDRESS>/24
Nov 14 12:40:39 17F dhcpcd[1013]: enp56s0u1u1c2: adding default route via <IP_ADDRESS>
Nov 14 12:40:39 17F dhcpcd[1891]: Dropped protocol specifier '.dhcp' from 'enp56s0u1u1c2.dhcp'. Using 'enp56s0u1u1c2' (ifindex=3).
Nov 14 12:40:39 17F dhcpcd[1891]: Failed to set DNS configuration: Could not activate remote peer 'org.freedesktop.resolve1': activation req>
Nov 14 12:40:45 17F dhcpcd[1013]: enp56s0u1u1c2: no IPv6 Routers available
Nov 14 12:42:26 17F dhcpcd[1013]: enp56s0u1u1c2: pid 985 deleted IP address <IP_ADDRESS>/24
Nov 14 12:42:26 17F systemd[1]: dhcpcd.service: Main process exited, code=dumped, status=11/SEGV
Nov 14 12:42:26 17F systemd[1]: dhcpcd.service: Failed with result 'core-dump'.

dhcpcd --version
dhcpcd 10.1.0
Copyright (c) 2006-2024 Roy Marples
Compiled in features: INET ARP ARPing IPv4LL INET6 DHCPv6 AUTH PRIVSEP
I use archlinux with linux-zen kernel
I also use NetworkManager and a bridge connection
I think this happens when I delete my Ethernet connection not entirely sure though
I'd gladly provide any additional information on the matter.

Not exactly the same Error, but similar I guess -> https://github.com/NetworkConfiguration/dhcpcd/issues/410

It sounds to me like network-manager and dhcpcd try to act on the same interfaces and conflict with each others' actions.

Not in my Case at least, since I explicitely disabled NetworkManager while trying (I thought that they might conflict indeed).

It's making me pull my Hair out.
Now I need to fix like 6-8 Fedora Servers and either move everything to NetworkManager which is an absolute PITA (and will need lots of Reconfiguration since IPv6 DUID is for whatever Reason different than the one used by dhcpcd) OR have to write my own set of Scripts so I can assign a Static IP Address.
Add Insult to Injury the fact that I have IPv6 Connectivity BUT ssh will NOT, for whatever Reason, Connect to the Server like that.
I also tried to install dhcpcd-10.0.10-1.fc42.x86_64.rpm from Fedora koji (Build Server) fc42 Build but also that crashes :(.

You might have some other dhcp client running like systemd-networkd, network manager will automatically detect it and control over dbus. dhcpcd does not do that, either way recommend to make sure it’s off

It's disabled and off ...
systemctl status systemd-networkd
○ systemd-networkd.service - Network Configuration
     Loaded: loaded (/usr/lib/systemd/system/systemd-networkd.service; disabled; preset: disabled)
    Drop-In: /usr/lib/systemd/system/service.d
             └─10-timeout-abort.conf, 50-keep-warm.conf
     Active: inactive (dead)
TriggeredBy: ○ systemd-networkd.socket
       Docs: man:systemd-networkd.service(8)
             man:org.freedesktop.network1(5)
   FD Store: 0 (limit: 512)

Based on a previous similar Issue, I start suspecting glibc Update that occurred a few Days ago.
Other likely culprit as usual might be SELinux although I couldn't find anything of relevance in the logs :disappointed:.

I just found I have 1 or 2 Fedora 41 Systems where the Issue apparently does NOT appear ... Weird.

On the working System (with only 1 Network Connection), applying one (BIG) Update broke dhcpcd.
So something happened and one of these Packages is responsible for it:
Transaction ID : 2
Begin time     : 2024-11-30 11:42:55
Begin rpmdb    : fdcc10d6fb4b7213fb9f38fe68933bec97d02ea835b437323e0908b1f222f016
End time       : 2024-11-30 11:44:11
End rpmdb      : efc2770252f2ec9a491a3db6f96ea6c0d7eee85aad28a6c3e65da65f3f2d6250
User           : 0 Super User <root>
Status         : Ok
Releasever     : 41
Description    : dnf update
Comment        :
Packages altered:
  Action   Package                                                       Reason          Repository
  Install  hiredis-0:1.2.0-3.fc41.x86_64                                 Dependency      fedora
  Upgrade  clevis-0:21-6.fc41.x86_64                                     Dependency      updates
  Upgrade  clevis-luks-0:21-6.fc41.x86_64                                Weak Dependency updates
  Upgrade  cockpit-0:329.1-1.fc41.x86_64                                 Group           updates
  Upgrade  cockpit-bridge-0:329.1-1.fc41.x86_64                          Dependency      updates
  Upgrade  cockpit-networkmanager-0:329.1-1.fc41.noarch                  Group           updates
  Upgrade  cockpit-packagekit-0:329.1-1.fc41.noarch                      Group           updates
  Upgrade  cockpit-selinux-0:329.1-1.fc41.noarch                         Group           updates
  Upgrade  cockpit-storaged-0:329.1-1.fc41.noarch                        Group           updates
  Upgrade  cockpit-system-0:329.1-1.fc41.noarch                          Dependency      updates
  Upgrade  cockpit-ws-0:329.1-1.fc41.x86_64                              Dependency      updates
  Upgrade  dracut-0:103-3.fc41.x86_64                                    Dependency      updates
  Upgrade  dracut-squash-0:103-3.fc41.x86_64                             Dependency      updates
  Upgrade  dracut-network-0:103-3.fc41.x86_64                            Dependency      updates
  Upgrade  dracut-config-rescue-0:103-3.fc41.x86_64                      Group           updates
  Upgrade  efi-srpm-macros-0:5-13.fc41.noarch                            External User   updates
  Upgrade  exfatprogs-0:1.2.6-1.fc41.x86_64                              Group           updates
  Upgrade  fprintd-0:1.94.4-1.fc41.x86_64                                Dependency      updates
  Upgrade  fprintd-pam-0:1.94.4-1.fc41.x86_64                            Group           updates
  Upgrade  git-0:2.47.1-1.fc41.x86_64                                    Weak Dependency updates
  Upgrade  git-core-0:2.47.1-1.fc41.x86_64                               Dependency      updates
  Upgrade  git-core-doc-0:2.47.1-1.fc41.noarch                           Dependency      updates
  Upgrade  perl-Git-0:2.47.1-1.fc41.noarch                               Dependency      updates
  Upgrade  glibc-0:2.40-12.fc41.x86_64                                   Group           updates
  Upgrade  glibc-common-0:2.40-12.fc41.x86_64                            Dependency      updates
  Upgrade  glibc-langpack-en-0:2.40-12.fc41.x86_64                       Dependency      updates
  Upgrade  glibc-gconv-extra-0:2.40-12.fc41.x86_64                       Dependency      updates
  Upgrade  glibc-devel-0:2.40-12.fc41.x86_64                             Dependency      updates
  Upgrade  grub2-common-1:2.12-15.fc41.noarch                            Dependency      updates
  Upgrade  grub2-tools-minimal-1:2.12-15.fc41.x86_64                     Dependency      updates
  Upgrade  grub2-tools-1:2.12-15.fc41.x86_64                             Dependency      updates
  Upgrade  grub2-pc-modules-1:2.12-15.fc41.noarch                        Dependency      updates
  Upgrade  grub2-pc-1:2.12-15.fc41.x86_64                                User            updates
  Upgrade  libibverbs-0:51.0-5.fc41.x86_64                               Dependency      updates
  Upgrade  libldb-2:4.21.2-1.fc41.x86_64                                 Dependency      updates
  Upgrade  libnfsidmap-1:2.8.1-1.rc2.fc41.x86_64                         Dependency      updates
  Upgrade  libwbclient-2:4.21.2-1.fc41.x86_64                            Dependency      updates
  Upgrade  samba-client-libs-2:4.21.2-1.fc41.x86_64                      Dependency      updates
  Upgrade  samba-common-2:4.21.2-1.fc41.noarch                           Dependency      updates
  Upgrade  samba-common-libs-2:4.21.2-1.fc41.x86_64                      Dependency      updates
  Upgrade  libxcrypt-0:4.4.36-11.fc41.x86_64                             Dependency      updates
  Upgrade  libxcrypt-devel-0:4.4.36-11.fc41.x86_64                       Dependency      updates
  Upgrade  nfs-utils-1:2.8.1-1.rc2.fc41.x86_64                           Group           updates
  Upgrade  nspr-0:4.36.0-1.fc41.x86_64                                   Dependency      updates
  Upgrade  nss-0:3.106.0-1.fc41.x86_64                                   Dependency      updates
  Upgrade  nss-softokn-0:3.106.0-1.fc41.x86_64                           Dependency      updates
  Upgrade  nss-util-0:3.106.0-1.fc41.x86_64                              Dependency      updates
  Upgrade  nss-softokn-freebl-0:3.106.0-1.fc41.x86_64                    Dependency      updates
  Upgrade  nss-sysinit-0:3.106.0-1.fc41.x86_64                           Dependency      updates
  Upgrade  pam-0:1.6.1-7.fc41.x86_64                                     Dependency      updates
  Upgrade  pam-libs-0:1.6.1-7.fc41.x86_64                                Dependency      updates
  Upgrade  passt-0:0^20241121.g238c69f-1.fc41.x86_64                     Dependency      updates
  Upgrade  passt-selinux-0:0^20241121.g238c69f-1.fc41.noarch             Dependency      updates
  Upgrade  pcp-conf-0:6.3.2-2.fc41.x86_64                                External User   updates
  Upgrade  pcp-libs-0:6.3.2-2.fc41.x86_64                                External User   updates
  Upgrade  perl-CPAN-0:2.38-1.fc41.noarch                                External User   updates
  Upgrade  pkcs11-provider-0:0.6-2.fc41.x86_64                           Weak Dependency updates
  Upgrade  podman-5:5.3.1-1.fc41.x86_64                                  User            updates
  Upgrade  python3-boto3-0:1.35.69-1.fc41.noarch                         Weak Dependency updates
  Upgrade  python3-botocore-0:1.35.69-1.fc41.noarch                      Dependency      updates
  Upgrade  python3-s3transfer-0:0.10.4-1.fc41.noarch                     Dependency      updates
  Upgrade  python3-unbound-0:1.22.0-8.fc41.x86_64                        Weak Dependency updates
  Upgrade  unbound-libs-0:1.22.0-8.fc41.x86_64                           Dependency      updates
  Upgrade  unbound-anchor-0:1.22.0-8.fc41.x86_64                         Weak Dependency updates
  Upgrade  qemu-user-static-2:9.1.2-1.fc41.x86_64                        Weak Dependency updates
  Upgrade  qemu-user-static-aarch64-2:9.1.2-1.fc41.x86_64                Dependency      updates
  Upgrade  qemu-user-static-alpha-2:9.1.2-1.fc41.x86_64                  Dependency      updates
  Upgrade  qemu-user-static-arm-2:9.1.2-1.fc41.x86_64                    Dependency      updates
  Upgrade  qemu-user-static-cris-2:9.1.2-1.fc41.x86_64                   Dependency      updates
  Upgrade  qemu-user-static-hexagon-2:9.1.2-1.fc41.x86_64                Dependency      updates
  Upgrade  qemu-user-static-hppa-2:9.1.2-1.fc41.x86_64                   Dependency      updates
  Upgrade  qemu-user-static-loongarch64-2:9.1.2-1.fc41.x86_64            Dependency      updates
  Upgrade  qemu-user-static-m68k-2:9.1.2-1.fc41.x86_64                   Dependency      updates
  Upgrade  qemu-user-static-microblaze-2:9.1.2-1.fc41.x86_64             Dependency      updates
  Upgrade  qemu-user-static-mips-2:9.1.2-1.fc41.x86_64                   Dependency      updates
  Upgrade  qemu-user-static-or1k-2:9.1.2-1.fc41.x86_64                   Dependency      updates
  Upgrade  qemu-user-static-ppc-2:9.1.2-1.fc41.x86_64                    Dependency      updates
  Upgrade  qemu-user-static-riscv-2:9.1.2-1.fc41.x86_64                  Dependency      updates
  Upgrade  qemu-user-static-s390x-2:9.1.2-1.fc41.x86_64                  Dependency      updates
  Upgrade  qemu-user-static-sh4-2:9.1.2-1.fc41.x86_64                    Dependency      updates
  Upgrade  qemu-user-static-sparc-2:9.1.2-1.fc41.x86_64                  Dependency      updates
  Upgrade  qemu-user-static-x86-2:9.1.2-1.fc41.x86_64                    Dependency      updates
  Upgrade  qemu-user-static-xtensa-2:9.1.2-1.fc41.x86_64                 Dependency      updates
  Upgrade  setroubleshoot-server-0:3.3.35-1.fc41.x86_64                  Dependency      updates
  Upgrade  systemtap-sdt-devel-0:5.2-1.fc41.x86_64                       External User   updates
  Upgrade  systemtap-sdt-dtrace-0:5.2-1.fc41.x86_64                      Dependency      updates
  Replaced clevis-0:21-5.fc41.x86_64                                     Dependency      @System
  Replaced clevis-luks-0:21-5.fc41.x86_64                                Weak Dependency @System
  Replaced cockpit-0:329-1.fc41.x86_64                                   Group           @System
  Replaced cockpit-bridge-0:329-1.fc41.x86_64                            Dependency      @System
  Replaced cockpit-networkmanager-0:329-1.fc41.noarch                    Group           @System
  Replaced cockpit-packagekit-0:329-1.fc41.noarch                        Group           @System
  Replaced cockpit-selinux-0:329-1.fc41.noarch                           Group           @System
  Replaced cockpit-storaged-0:329-1.fc41.noarch                          Group           @System
  Replaced cockpit-system-0:329-1.fc41.noarch                            Dependency      @System
  Replaced cockpit-ws-0:329-1.fc41.x86_64                                Dependency      @System
  Replaced dracut-0:102-3.fc41.x86_64                                    Dependency      @System
  Replaced dracut-config-rescue-0:102-3.fc41.x86_64                      Group           @System
  Replaced dracut-network-0:102-3.fc41.x86_64                            Dependency      @System
  Replaced dracut-squash-0:102-3.fc41.x86_64                             Dependency      @System
  Replaced efi-srpm-macros-0:5-12.fc41.noarch                            External User   @System
  Replaced exfatprogs-0:1.2.5-1.fc41.x86_64                              Group           @System
  Replaced fprintd-0:1.94.2-12.fc41.x86_64                               Dependency      @System
  Replaced fprintd-pam-0:1.94.2-12.fc41.x86_64                           Group           @System
  Replaced git-0:2.47.0-1.fc41.x86_64                                    Weak Dependency @System
  Replaced git-core-0:2.47.0-1.fc41.x86_64                               Dependency      @System
  Replaced git-core-doc-0:2.47.0-1.fc41.noarch                           Dependency      @System
  Replaced glibc-0:2.40-11.fc41.x86_64                                   Group           @System
  Replaced glibc-common-0:2.40-11.fc41.x86_64                            Dependency      @System
  Replaced glibc-devel-0:2.40-11.fc41.x86_64                             Dependency      @System
  Replaced glibc-gconv-extra-0:2.40-11.fc41.x86_64                       Dependency      @System
  Replaced glibc-langpack-en-0:2.40-11.fc41.x86_64                       Dependency      @System
  Replaced grub2-common-1:2.12-13.fc41.noarch                            Dependency      @System
  Replaced grub2-pc-1:2.12-13.fc41.x86_64                                User            @System
  Replaced grub2-pc-modules-1:2.12-13.fc41.noarch                        Dependency      @System
  Replaced grub2-tools-1:2.12-13.fc41.x86_64                             Dependency      @System
  Replaced grub2-tools-minimal-1:2.12-13.fc41.x86_64                     Dependency      @System
  Replaced libibverbs-0:51.0-4.fc41.x86_64                               Dependency      @System
  Replaced libldb-2:4.21.1-7.fc41.x86_64                                 Dependency      @System
  Replaced libnfsidmap-1:2.8.1-1.rc1.fc41.x86_64                         Dependency      @System
  Replaced libwbclient-2:4.21.1-7.fc41.x86_64                            Dependency      @System
  Replaced libxcrypt-0:4.4.36-10.fc41.x86_64                             Dependency      @System
  Replaced libxcrypt-devel-0:4.4.36-10.fc41.x86_64                       Dependency      @System
  Replaced nfs-utils-1:2.8.1-1.rc1.fc41.x86_64                           Group           @System
  Replaced nspr-0:4.35.0-30.fc41.x86_64                                  Dependency      @System
  Replaced nss-0:3.105.0-1.fc41.x86_64                                   Dependency      @System
  Replaced nss-softokn-0:3.105.0-1.fc41.x86_64                           Dependency      @System
  Replaced nss-softokn-freebl-0:3.105.0-1.fc41.x86_64                    Dependency      @System
  Replaced nss-sysinit-0:3.105.0-1.fc41.x86_64                           Dependency      @System
  Replaced nss-util-0:3.105.0-1.fc41.x86_64                              Dependency      @System
  Replaced pam-0:1.6.1-6.fc41.x86_64                                     Dependency      @System
  Replaced pam-libs-0:1.6.1-6.fc41.x86_64                                Dependency      @System
  Replaced passt-0:0^20241030.gee7d0b6-1.fc41.x86_64                     Dependency      @System
  Replaced passt-selinux-0:0^20241030.gee7d0b6-1.fc41.noarch             Dependency      @System
  Replaced pcp-conf-0:6.3.1-1.fc41.x86_64                                External User   @System
  Replaced pcp-libs-0:6.3.1-1.fc41.x86_64                                External User   @System
  Replaced perl-CPAN-0:2.37-1.fc41.noarch                                External User   @System
  Replaced perl-Git-0:2.47.0-1.fc41.noarch                               Dependency      @System
  Replaced pkcs11-provider-0:0.5-4.fc41.x86_64                           Weak Dependency @System
  Replaced podman-5:5.3.0-1.fc41.x86_64                                  User            @System
  Replaced python3-boto3-0:1.35.63-1.fc41.noarch                         Weak Dependency @System
  Replaced python3-botocore-0:1.35.63-1.fc41.noarch                      Dependency      @System
  Replaced python3-s3transfer-0:0.10.3-1.fc41.noarch                     Dependency      @System
  Replaced python3-unbound-0:1.21.1-1.fc41.x86_64                        Weak Dependency @System
  Replaced qemu-user-static-2:9.1.1-2.fc41.x86_64                        Weak Dependency @System
  Replaced qemu-user-static-aarch64-2:9.1.1-2.fc41.x86_64                Dependency      @System
  Replaced qemu-user-static-alpha-2:9.1.1-2.fc41.x86_64                  Dependency      @System
  Replaced qemu-user-static-arm-2:9.1.1-2.fc41.x86_64                    Dependency      @System
  Replaced qemu-user-static-cris-2:9.1.1-2.fc41.x86_64                   Dependency      @System
  Replaced qemu-user-static-hexagon-2:9.1.1-2.fc41.x86_64                Dependency      @System
  Replaced qemu-user-static-hppa-2:9.1.1-2.fc41.x86_64                   Dependency      @System
  Replaced qemu-user-static-loongarch64-2:9.1.1-2.fc41.x86_64            Dependency      @System
  Replaced qemu-user-static-m68k-2:9.1.1-2.fc41.x86_64                   Dependency      @System
  Replaced qemu-user-static-microblaze-2:9.1.1-2.fc41.x86_64             Dependency      @System
  Replaced qemu-user-static-mips-2:9.1.1-2.fc41.x86_64                   Dependency      @System
  Replaced qemu-user-static-or1k-2:9.1.1-2.fc41.x86_64                   Dependency      @System
  Replaced qemu-user-static-ppc-2:9.1.1-2.fc41.x86_64                    Dependency      @System
  Replaced qemu-user-static-riscv-2:9.1.1-2.fc41.x86_64                  Dependency      @System
  Replaced qemu-user-static-s390x-2:9.1.1-2.fc41.x86_64                  Dependency      @System
  Replaced qemu-user-static-sh4-2:9.1.1-2.fc41.x86_64                    Dependency      @System
  Replaced qemu-user-static-sparc-2:9.1.1-2.fc41.x86_64                  Dependency      @System
  Replaced qemu-user-static-x86-2:9.1.1-2.fc41.x86_64                    Dependency      @System
  Replaced qemu-user-static-xtensa-2:9.1.1-2.fc41.x86_64                 Dependency      @System
  Replaced samba-client-libs-2:4.21.1-7.fc41.x86_64                      Dependency      @System
  Replaced samba-common-2:4.21.1-7.fc41.noarch                           Dependency      @System
  Replaced samba-common-libs-2:4.21.1-7.fc41.x86_64                      Dependency      @System
  Replaced setroubleshoot-server-0:3.3.34-1.fc41.x86_64                  Dependency      @System
  Replaced systemtap-sdt-devel-0:5.2~pre17250223gd07e4284-1.fc41.x86_64  External User   @System
  Replaced systemtap-sdt-dtrace-0:5.2~pre17250223gd07e4284-1.fc41.x86_64 Dependency      @System
  Replaced unbound-anchor-0:1.21.1-1.fc41.x86_64                         Weak Dependency @System
  Replaced unbound-libs-0:1.21.1-1.fc41.x86_64                           Dependency      @System

@F8RZD: you might want to obfuscate your IPv6 Prefix :wink:.
About the Segmentation Fault, that Message seems a bit different than mine (I am on a slightly older Version).
Either Way, I wouldn't call either of the behaviors (Segmentation Fault / Hungup) as "normal".
It mentioned Could not activate remote peer 'org.freedesktop.resolve1': activation request failed: unknown unit in your Error, whereas mine just says "hungup". Could it be dbus / systemd / udev related then ?

Weird.
In my Case it seems that with 2 Network Interfaces "physically" (well, it's a Virtual Server in my Case) presents and configured in /etc/dhcpcd.conf, then it seems to NOT hungup and crash.
That's basically the only situation where it doesn't :(.
Not sure if we need to try to run using gdb (I don't think on Fedora the Debugging Symbols are included anyways), something like this maybe:
gdb --args dhcpcd --debug -w --reconfigure ens18 --nolink --ipv6only

I tried with gdb Quickly but not sure how much it can be useful for the Developers, since it's been a VERY long time since I played around with gdb and C/C++ in General:
root@HOST:~# gdb -ex=r --args dhcpcd "--debug" "-w" "--reconfigure" "ens18" "--nolink" "--ipv6only"
GNU gdb (Fedora Linux) 15.2-3.fc41
Copyright (C) 2024 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details.
This GDB was configured as "x86_64-redhat-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<https://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
    <http://www.gnu.org/software/gdb/documentation/>.

For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from dhcpcd...

This GDB supports auto-downloading debuginfo from the following URLs:
  <https://debuginfod.fedoraproject.org/>
Enable debuginfod for this session? (y or [n]) y
Debuginfod has been enabled.
To make this setting permanent, add 'set debuginfod enabled on' to .gdbinit.
Reading symbols from /root/.cache/debuginfod_client/ae337d25a5c0762467309cc1c5a23adda6b888e6/debuginfo...
Starting program: /usr/sbin/dhcpcd --debug -w --reconfigure ens18 --nolink --ipv6only
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
dhcpcd-10.0.8 starting
[Detaching after fork from child process 29642]
chrooting as dhcpcd to /var/lib/dhcpcd
sandbox: seccomp
spawned manager process on PID 29643
spawned privileged proxy on PID 29644
spawned network proxy on PID 29645
spawned controller proxy on PID 29646
DUID XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX
ens18: spawned DHCP6 proxy 2aXX:XXXX:XXXX:XXXX::8:13 on PID 29647
ens18: spawned DHCP6 proxy 2aXX:XXXX:XXXX:XXXX:YYYY:YYYY:YYYY:YYYY on PID 29648
ens18: spawned DHCP6 proxy 2aXX:XXXX:XXXX:XXXX:YYYY:YYYY:YYYY:YYYY on PID 29649
ens18: spawned DHCP6 proxy fe80::YYYY:YYYY:YYYY:YYYY on PID 29650
dhcp6_openudp: Address already in use
ps_inet_listenin6: Address already in use
ps_root_recvmsg: Address already in use
ens18: executing: /usr/libexec/dhcpcd-run-hooks PREINIT
ens18: IAID YY:YY:YY:YY
ens18: IA type 3 IAID 00:00:00:01
ens18: deleting address 2aXX:XXXX:XXXX:XXXX::8:13/128
ens18: adding address 2aXX:XXXX:XXXX:XXXX::8:13/64
ens18: pltime infinity, vltime infinity
ens18: DHCP6 proxy fe80::YYYY:YYYY:YYYY:YYYY exited unexpectedly from PID 29650, code=1
ens18: adding route to 2aXX:XXXX:XXXX:1::/64
ens18: DHCP6 proxy 2aXX:XXXX:XXXX:XXXX::8:13 exited from PID 29647
dhcpcd_fork_cb: dhcpcd manager hungup
[Inferior 1 (process 29639) exited with code 01]
(gdb) b dhcpcd_fork_cb
Breakpoint 1 at 0x561b24a60be0: file /usr/src/debug/dhcpcd-10.0.8-1.fc41.x86_64/src/dhcpcd.c, line 1844.
(gdb) run
Starting program: /usr/sbin/dhcpcd --debug -w --reconfigure ens18 --nolink --ipv6only
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
dhcpcd-10.0.8 starting
[Detaching after fork from child process 29708]
chrooting as dhcpcd to /var/lib/dhcpcd
sandbox: seccomp
spawned manager process on PID 29709
spawned privileged proxy on PID 29710
spawned network proxy on PID 29711
spawned controller proxy on PID 29712
DUID XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX
ens18: spawned DHCP6 proxy 2aXX:XXXX:XXXX:XXXX::8:13 on PID 29713
ens18: spawned DHCP6 proxy 2aXX:XXXX:XXXX:XXXX:YYYY:YYYY:YYYY:YYYY on PID 29714
ens18: spawned DHCP6 proxy 2aXX:XXXX:XXXX:XXXX:YYYY:YYYY:YYYY:YYYY on PID 29715
ens18: spawned DHCP6 proxy fe80::YYYY:YYYY:YYYY:YYYY on PID 29716
dhcp6_openudp: Address already in use
ps_inet_listenin6: Address already in use
ps_root_recvmsg: Address already in use
ens18: executing: /usr/libexec/dhcpcd-run-hooks PREINIT
ens18: IAID YY:YY:YY:YY
ens18: IA type 3 IAID 00:00:00:01
Dropped protocol specifier '.static6' from 'ens18.static6'. Using 'ens18' (ifindex=2).
ens18: adding address 2aXX:XXXX:XXXX:XXXX::8:13/64
ens18: pltime infinity, vltime infinity
ens18: adding route to 2aXX:XXXX:XXXX:1::/64
ens18: executing: /usr/libexec/dhcpcd-run-hooks STATIC6
ens18: DHCP6 proxy fe80::YYYY:YYYY:YYYY:YYYY exited unexpectedly from PID 29716, code=1

Breakpoint 1, dhcpcd_fork_cb (arg=0x7ffcd96e0870, events=513) at /usr/src/debug/dhcpcd-10.0.8-1.fc41.x86_64/src/dhcpcd.c:1844
1844	{
(gdb) backtrace full
#0  dhcpcd_fork_cb (arg=0x7ffcd96e0870, events=513) at /usr/src/debug/dhcpcd-10.0.8-1.fc41.x86_64/src/dhcpcd.c:1844
        ctx = <optimized out>
        exit_code = 32764
        len = <optimized out>
        __func__ = "dhcpcd_fork_cb"
#1  0x000055c8a57a4a1b in eloop_run_ppoll (eloop=<optimized out>, ts=<optimized out>, signals=0x7ffcd96e0ab0) at /usr/src/debug/dhcpcd-10.0.8-1.fc41.x86_64/src/eloop.c:1106
        nn = 0
        e = 0x55c8d3b46070
        n = <optimized out>
        pfd = <optimized out>
        events = <optimized out>
        n = <optimized out>
        nn = <optimized out>
        e = <optimized out>
        pfd = <optimized out>
        events = <optimized out>
#2  eloop_start (eloop=0x55c8d3b3cea0, signals=signals@entry=0x7ffcd96e0ab0) at /usr/src/debug/dhcpcd-10.0.8-1.fc41.x86_64/src/eloop.c:1228
        error = <optimized out>
        t = <optimized out>
        ts = {tv_sec =<PHONE_NUMBER>6576, tv_nsec = -7284361494481477376}
        tsp = <optimized out>
#3  0x000055c8a57a1ee7 in main (argc=<optimized out>, argv=<optimized out>, envp=<optimized out>) at /usr/src/debug/dhcpcd-10.0.8-1.fc41.x86_64/src/dhcpcd.c:2651
        ctx = {pidfile = "/run/dhcpcd/ens18-6.pid", '\000' <repeats 15 times>, vendor = '\000' <repeats 255 times>, fork_fd = 5, cffile = 0x55c8a57e94bd "/etc/dhcpcd.conf", options =<PHONE_NUMBER>375844905, logfile = 0x0, argc = 7, argv = 0x7ffcd96e0e48,
          ifac = 0, ifav = 0x0, ifdc = 0, ifdv = 0x0, ifc = 1, ifv = 0x7ffcd96e0e78, ifcc = 1, ifcv = 0x55c8d3b3ce60, duid_type = 1 '\001', duid = 0x0, duid_len = 0, ifaces = 0x0, ctl_buf = 0x0, ctl_buflen = 0, ctl_bufpos = 0, ctl_extra = 0, routes = {
            rbt_root = 0x0, rbt_ops = 0x55c8a57fb7a0 <rt_compare_os_ops.lto_priv>, rbt_minmax = {0x0, 0x0}}, froutes = {rbt_root = 0x0, rbt_ops = 0x55c8a57fb780 <rt_compare_free_ops.lto_priv>, rbt_minmax = {0x0, 0x0}}, rt_order = 0, pf_inet_fd = -1,
          priv = 0x0, link_fd = -1, link_rcvbuf = 0, seq = 0, sseq = 0, sigset = {__val = {0 <repeats 16 times>}}, eloop = 0x55c8d3b3cea0, script = 0x55c8a57e9745 "/usr/libexec/dhcpcd-run-hooks", script_fp = 0x0, script_buf = 0x0, script_buflen = 0,
          script_env = 0x0, script_envlen = 0, control_fd = -1, control_unpriv_fd = -1, control_fds = {tqh_first = 0x0, tqh_last = 0x7ffcd96e0b70}, control_sock = '\000' <repeats 40 times>, control_sock_unpriv = '\000' <repeats 47 times>,
          control_group = 0, vivso = 0x0, vivso_len = 0, randomstate = 0x0, ps_user = 0x7f819d754200 <resbuf>, ps_processes = {tqh_first = 0x0, tqh_last = 0x7ffcd96e0c00}, ps_root = 0x0, ps_inet = 0x0, ps_ctl = 0x0, ps_data_fd = 0, ps_log_fd = -1,
          ps_log_root_fd = -1, ps_eloop = 0x0, ps_control = 0x0, ps_control_client = 0x0, dhcp_opts = 0x55c8d3b39e70, dhcp_opts_len = 157, udp_rfd = -1, udp_wfd = -1, opt_buffer = 0x0, opt_buffer_len = 0, secret = 0x0, secret_len = 0, nd_fd = -1,
          ra_routers = 0x0, nd_opts = 0x55c8d3b271f0, nd_opts_len = 7, dhcp6_rfd = -1, dhcp6_wfd = -1, dhcp6_opts = 0x55c8d3b448c0, dhcp6_opts_len = 84, dev_load = 0x0, dev_fd = -1, dev = 0x0, dev_handle = 0x0}
        ifaddrs = 0x0
        ifo = 0x55c8d3b29720
        ifp = <optimized out>
        family = <optimized out>
        opt = <optimized out>
        oi = 53
        i = 0
        logopts = <optimized out>
        t = <optimized out>
        len = <optimized out>
        pid = <optimized out>
        fork_fd = {5, 6}
        sig = <optimized out>
        siga = <optimized out>
        si = 1
        __func__ = "main"
(gdb) q
A debugging session is active.

	Inferior 1 [process 29707] will be killed.

Quit anyway? (y or n) y

$ cat .gdbinit
echo ################################\nhandle SIG33 pass nostop noprint\n
handle SIG33 pass nostop noprint
echo ##################\nset pagination off\n
set pagination off
echo ##############\nbacktrace full\n
backtrace full
echo ##############\ninfo registers\n
info registers
echo ###############################\nthread apply all backtrace full\n
thread apply all backtrace full
echo #########\nx/16i $pc\n
x/16i $pc
echo ##########################\nthread apply all backtrace\n
thread apply all backtrace

@perkelix: do you want me to run the previous Command that I tried to run with these Settings ?
Can you please put it in a Code block so it's clear which \n is needed and which not ?

@perkelix: do you want me to run the previous Command that I tried to run with these Settings ?

If you don't use gdb too often, putting these into your config produces a good basic set of data.

Well something isn't working unfortunately :disappointed:
/root/.gdbinit:6: Error in sourced command file:
No stack.

Anyway, complete Command & Output
root@HOST:~# gdb -ex=r --args dhcpcd "--debug" "-w" "--reconfigure" "ens18" "--nolink" "--ipv6only"
GNU gdb (Fedora Linux) 15.2-3.fc41
Copyright (C) 2024 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details.
This GDB was configured as "x86_64-redhat-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<https://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
    <http://www.gnu.org/software/gdb/documentation/>.

For help, type "help".
Type "apropos word" to search for commands related to "word"...
################################
handle SIG33 pass nostop noprint
##################
set pagination off
##############
backtrace full
/root/.gdbinit:6: Error in sourced command file:
No stack.
Reading symbols from dhcpcd...

This GDB supports auto-downloading debuginfo from the following URLs:
  <https://debuginfod.fedoraproject.org/>
Enable debuginfod for this session? (y or [n]) y
Debuginfod has been enabled.
To make this setting permanent, add 'set debuginfod enabled on' to .gdbinit.
Reading symbols from /root/.cache/debuginfod_client/ae337d25a5c0762467309cc1c5a23adda6b888e6/debuginfo...
Starting program: /usr/sbin/dhcpcd --debug -w --reconfigure ens18 --nolink --ipv6only
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
dhcpcd-10.0.8 starting
[Detaching after fork from child process 37200]
chrooting as dhcpcd to /var/lib/dhcpcd
sandbox: seccomp
spawned manager process on PID 37201
spawned privileged proxy on PID 37202
spawned network proxy on PID 37203
spawned controller proxy on PID 37204
DUID XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX
ens18: spawned DHCP6 proxy 2aXX:XXXX:XXXX:XXXX::8:13 on PID 37205
ens18: spawned DHCP6 proxy 2aXX:XXXX:XXXX:XXXX:YYYY:YYYY:YYYY:YYYY on PID 37206
ens18: spawned DHCP6 proxy 2aXX:XXXX:XXXX:XXXX:YYYY:YYYY:YYYY:YYYY on PID 37207
ens18: spawned DHCP6 proxy fe80::YYYY:YYYY:YYYY:YYYY on PID 37208
ens18: executing: /usr/libexec/dhcpcd-run-hooks PREINIT
dhcp6_openudp: Address already in use
ps_inet_listenin6: Address already in use
ps_root_recvmsg: Address already in use
ens18: IAID YY:YY:YY:YY
ens18: IA type 3 IAID 00:00:00:01
ens18: deleting address 2aXX:XXXX:XXXX:XXXX::8:13/128
ens18: DHCP6 proxy fe80::YYYY:YYYY:YYYY:YYYY exited unexpectedly from PID 37208, code=1
ens18: adding address 2aXX:XXXX:XXXX:XXXX::8:13/64
ens18: pltime infinity, vltime infinity
ens18: adding route to 2aXX:XXXX:XXXX:1::/64
ens18: DHCP6 proxy 2aXX:XXXX:XXXX:XXXX::8:13 exited from PID 37205
dhcpcd_fork_cb: dhcpcd manager hungup
[Inferior 1 (process 37197) exited with code 01]
(gdb) run
Starting program: /usr/sbin/dhcpcd --debug -w --reconfigure ens18 --nolink --ipv6only
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
dhcpcd-10.0.8 starting
[Detaching after fork from child process 37264]
chrooting as dhcpcd to /var/lib/dhcpcd
spawned manager process on PID 37265
sandbox: seccomp
spawned privileged proxy on PID 37266
spawned network proxy on PID 37267
spawned controller proxy on PID 37268
DUID XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX
ens18: spawned DHCP6 proxy 2aXX:XXXX:XXXX:XXXX::8:13 on PID 37269
ens18: spawned DHCP6 proxy 2aXX:XXXX:XXXX:XXXX:YYYY:YYYY:YYYY:YYYY on PID 37270
ens18: spawned DHCP6 proxy 2aXX:XXXX:XXXX:XXXX:YYYY:YYYY:YYYY:YYYY on PID 37271
ens18: spawned DHCP6 proxy fe80::YYYY:YYYY:YYYY:YYYY on PID 37272
dhcp6_openudp: Address already in use
ps_inet_listenin6: Address already in use
ps_root_recvmsg: Address already in use
ens18: executing: /usr/libexec/dhcpcd-run-hooks PREINIT
ens18: IAID YY:YY:YY:YY
ens18: IA type 3 IAID 00:00:00:01
ens18: deleting address 2aXX:XXXX:XXXX:XXXX::8:13/128
ens18: adding address 2aXX:XXXX:XXXX:XXXX::8:13/64
ens18: pltime infinity, vltime infinity
ens18: DHCP6 proxy fe80::YYYY:YYYY:YYYY:YYYY exited unexpectedly from PID 37272, code=1
ens18: adding route to 2aXX:XXXX:XXXX:1::/64
ens18: DHCP6 proxy 2aXX:XXXX:XXXX:XXXX::8:13 exited from PID 37269
dhcpcd_fork_cb: dhcpcd manager hungup
[Inferior 1 (process 37263) exited with code 01]
(gdb) b dhcpcd_fork_cb
Breakpoint 1 at 0x55e74a202be0: file /usr/src/debug/dhcpcd-10.0.8-1.fc41.x86_64/src/dhcpcd.c, line 1844.
(gdb) run
Starting program: /usr/sbin/dhcpcd --debug -w --reconfigure ens18 --nolink --ipv6only
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
dhcpcd-10.0.8 starting
[Detaching after fork from child process 37326]
chrooting as dhcpcd to /var/lib/dhcpcd
sandbox: seccomp
spawned manager process on PID 37327
spawned privileged proxy on PID 37328
spawned network proxy on PID 37329
spawned controller proxy on PID 37330
DUID XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX
ens18: spawned DHCP6 proxy 2aXX:XXXX:XXXX:XXXX::8:13 on PID 37331
ens18: spawned DHCP6 proxy 2aXX:XXXX:XXXX:XXXX:YYYY:YYYY:YYYY:YYYY on PID 37332
ens18: spawned DHCP6 proxy 2aXX:XXXX:XXXX:XXXX:YYYY:YYYY:YYYY:YYYY on PID 37333
ens18: spawned DHCP6 proxy fe80::YYYY:YYYY:YYYY:YYYY on PID 37334
dhcp6_openudp: Address already in use
ps_inet_listenin6: Address already in use
ps_root_recvmsg: Address already in use
ens18: executing: /usr/libexec/dhcpcd-run-hooks PREINIT
ens18: DHCP6 proxy fe80::YYYY:YYYY:YYYY:YYYY exited unexpectedly from PID 37334, code=1
ens18: IAID YY:YY:YY:YY
ens18: IA type 3 IAID 00:00:00:01
ens18: deleting address 2aXX:XXXX:XXXX:XXXX::8:13/128
ens18: adding address 2aXX:XXXX:XXXX:XXXX::8:13/64
ens18: pltime infinity, vltime infinity
ens18: adding route to 2aXX:XXXX:XXXX:1::/64
ens18: DHCP6 proxy 2aXX:XXXX:XXXX:XXXX::8:13 exited from PID 37331

Breakpoint 1, dhcpcd_fork_cb (arg=0x7fffdee007d0, events=513) at /usr/src/debug/dhcpcd-10.0.8-1.fc41.x86_64/src/dhcpcd.c:1844
1844	{
(gdb) step
1849		if (!(events & ELE_READ))
(gdb) step
1852		len = read(ctx->fork_fd, &exit_code, sizeof(exit_code));
(gdb) step
read (__fd=<optimized out>, __buf=<optimized out>, __nbytes=<optimized out>, __fd=<optimized out>, __buf=<optimized out>, __nbytes=<optimized out>) at /usr/include/bits/unistd.h:32
warning: Source file is more recent than executable.
32	  return __glibc_fortify (read, __nbytes, sizeof (char),
(gdb) continue
Continuing.
dhcpcd_fork_cb: dhcpcd manager hungup
[Inferior 1 (process 37325) exited with code 01]
(gdb) backtrace full
No stack.
(gdb) b dhcpcd_fork_cb
Note: breakpoint 1 also set at pc 0x55ae6d3f0be0.
Breakpoint 2 at 0x55ae6d3f0be0: file /usr/src/debug/dhcpcd-10.0.8-1.fc41.x86_64/src/dhcpcd.c, line 1844.
(gdb) run
Starting program: /usr/sbin/dhcpcd --debug -w --reconfigure ens18 --nolink --ipv6only
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
dhcpcd-10.0.8 starting
[Detaching after fork from child process 37469]
chrooting as dhcpcd to /var/lib/dhcpcd
sandbox: seccomp
spawned manager process on PID 37470
spawned privileged proxy on PID 37471
spawned network proxy on PID 37472
spawned controller proxy on PID 37473
DUID XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX
ens18: spawned DHCP6 proxy 2aXX:XXXX:XXXX:XXXX::8:13 on PID 37474
ens18: spawned DHCP6 proxy 2aXX:XXXX:XXXX:XXXX:YYYY:YYYY:YYYY:YYYY on PID 37475
ens18: spawned DHCP6 proxy 2aXX:XXXX:XXXX:XXXX:YYYY:YYYY:YYYY:YYYY on PID 37476
ens18: spawned DHCP6 proxy fe80::YYYY:YYYY:YYYY:YYYY on PID 37477
dhcp6_openudp: Address already in use
ps_inet_listenin6: Address already in use
ps_root_recvmsg: Address already in use
ens18: executing: /usr/libexec/dhcpcd-run-hooks PREINIT
ens18: IAID YY:YY:YY:YY
ens18: IA type 3 IAID 00:00:00:01
ens18: deleting address 2aXX:XXXX:XXXX:XXXX::8:13/128
ens18: adding address 2aXX:XXXX:XXXX:XXXX::8:13/64
ens18: pltime infinity, vltime infinity
ens18: DHCP6 proxy fe80::YYYY:YYYY:YYYY:YYYY exited unexpectedly from PID 37477, code=1
ens18: adding route to 2aXX:XXXX:XXXX:1::/64
ens18: DHCP6 proxy 2aXX:XXXX:XXXX:XXXX::8:13 exited from PID 37474

Breakpoint 1, dhcpcd_fork_cb (arg=0x7ffc749e5910, events=513) at /usr/src/debug/dhcpcd-10.0.8-1.fc41.x86_64/src/dhcpcd.c:1844
1844	{
(gdb) backtrace full
#0  dhcpcd_fork_cb (arg=0x7ffc749e5910, events=513) at /usr/src/debug/dhcpcd-10.0.8-1.fc41.x86_64/src/dhcpcd.c:1844
        ctx = <optimized out>
        exit_code = 32764
        len = <optimized out>
        __func__ = "dhcpcd_fork_cb"
#1  0x000055902ac1aa1b in eloop_run_ppoll (eloop=<optimized out>, ts=<optimized out>, signals=0x7ffc749e5b50) at /usr/src/debug/dhcpcd-10.0.8-1.fc41.x86_64/src/eloop.c:1106
        nn = 0
        e = 0x55904be19070
        n = <optimized out>
        pfd = <optimized out>
        events = <optimized out>
        n = <optimized out>
        nn = <optimized out>
        e = <optimized out>
        pfd = <optimized out>
        events = <optimized out>
#2  eloop_start (eloop=0x55904be0fea0, signals=signals@entry=0x7ffc749e5b50) at /usr/src/debug/dhcpcd-10.0.8-1.fc41.x86_64/src/eloop.c:1228
        error = <optimized out>
        t = <optimized out>
        ts = {tv_sec =<PHONE_NUMBER>8032, tv_nsec = -9217119560907659776}
        tsp = <optimized out>
#3  0x000055902ac17ee7 in main (argc=<optimized out>, argv=<optimized out>, envp=<optimized out>) at /usr/src/debug/dhcpcd-10.0.8-1.fc41.x86_64/src/dhcpcd.c:2651
        ctx = {pidfile = "/run/dhcpcd/ens18-6.pid", '\000' <repeats 15 times>, vendor = '\000' <repeats 255 times>, fork_fd = 5, cffile = 0x55902ac5f4bd "/etc/dhcpcd.conf", options =<PHONE_NUMBER>375844905, logfile = 0x0, argc = 7, argv = 0x7ffc749e5ee8,
          ifac = 0, ifav = 0x0, ifdc = 0, ifdv = 0x0, ifc = 1, ifv = 0x7ffc749e5f18, ifcc = 1, ifcv = 0x55904be0fe60, duid_type = 1 '\001', duid = 0x0, duid_len = 0, ifaces = 0x0, ctl_buf = 0x0, ctl_buflen = 0, ctl_bufpos = 0, ctl_extra = 0, routes = {
            rbt_root = 0x0, rbt_ops = 0x55902ac717a0 <rt_compare_os_ops.lto_priv>, rbt_minmax = {0x0, 0x0}}, froutes = {rbt_root = 0x0, rbt_ops = 0x55902ac71780 <rt_compare_free_ops.lto_priv>, rbt_minmax = {0x0, 0x0}}, rt_order = 0, pf_inet_fd = -1,
          priv = 0x0, link_fd = -1, link_rcvbuf = 0, seq = 0, sseq = 0, sigset = {__val = {0 <repeats 16 times>}}, eloop = 0x55904be0fea0, script = 0x55902ac5f745 "/usr/libexec/dhcpcd-run-hooks", script_fp = 0x0, script_buf = 0x0, script_buflen = 0,
          script_env = 0x0, script_envlen = 0, control_fd = -1, control_unpriv_fd = -1, control_fds = {tqh_first = 0x0, tqh_last = 0x7ffc749e5c10}, control_sock = '\000' <repeats 40 times>, control_sock_unpriv = '\000' <repeats 47 times>,
          control_group = 0, vivso = 0x0, vivso_len = 0, randomstate = 0x0, ps_user = 0x7fca15062200 <resbuf>, ps_processes = {tqh_first = 0x0, tqh_last = 0x7ffc749e5ca0}, ps_root = 0x0, ps_inet = 0x0, ps_ctl = 0x0, ps_data_fd = 0, ps_log_fd = -1,
          ps_log_root_fd = -1, ps_eloop = 0x0, ps_control = 0x0, ps_control_client = 0x0, dhcp_opts = 0x55904be0ce70, dhcp_opts_len = 157, udp_rfd = -1, udp_wfd = -1, opt_buffer = 0x0, opt_buffer_len = 0, secret = 0x0, secret_len = 0, nd_fd = -1,
          ra_routers = 0x0, nd_opts = 0x55904bdfa1f0, nd_opts_len = 7, dhcp6_rfd = -1, dhcp6_wfd = -1, dhcp6_opts = 0x55904be178c0, dhcp6_opts_len = 84, dev_load = 0x0, dev_fd = -1, dev = 0x0, dev_handle = 0x0}
        ifaddrs = 0x0
        ifo = 0x55904bdfc720
        ifp = <optimized out>
        family = <optimized out>
        opt = <optimized out>
        oi = 53
        i = 0
        logopts = <optimized out>
        t = <optimized out>
        len = <optimized out>
        pid = <optimized out>
        fork_fd = {5, 6}
        sig = <optimized out>
        siga = <optimized out>
        si = 1
        __func__ = "main"
(gdb) exit;
Invalid character ';' in expression.
(gdb) exit
A debugging session is active.

	Inferior 1 [process 37468] will be killed.

Quit anyway? (y or n) y


[Package Request] btpd

Project description
Btpd is a utility for sharing files over the BitTorrent network protocol. It runs in daemon mode, thus needing no controlling terminal or gui. Instead, the daemon is controlled by btcli, its command line utility, or other programs capable of sending commands and queries on the control socket.
Metadata

homepage URL: https://github.com/btpd/btpd
source URL: https://github.com/btpd/btpd
license: https://github.com/btpd/btpd/blob/master/COPYRIGHT
platforms: linux

#56279

Thanks, I searched the issues but not the pull requests. I'll leave this open until it's merged.

@MicrosoftTakeover Would you mind testing that PR?

I could test the binary but I'm not sure how to test a module yet.

Closing this since the posting account has been deleted. (this may still be completed if https://github.com/NixOS/nixpkgs/pull/56279 lands)


Add video-converter extension

Description

Screencast

Checklist

[x] I read the extension guidelines
[x] I read the documentation about publishing
[x] I ran npm run build and tested this distribution build in Raycast
[x] I checked that files in the assets folder are used by the extension itself
[x] I checked that assets used by the README are placed outside of the metadata folder

Hi 👋
Thanks for your contribution 🔥
I think this is already possible in this extension, could you have a look?

Hi!
Oh, I see. At first, I looked at the store and didn't find any video converter.
Thank you for sharing!


passing project version info from gradle to external Dockerfile

Is there a way to pass version info that I could use in Dockerfile . It seems there is a enhancemnt in progress to pass arguments https://github.com/Transmode/gradle-docker/issues/91. Is there another way I can accomplish this ?

Unfortunately, I don´t think so. At least not any way I am aware of.


How to achieve GPU exclusivity and GPU sharing?

How to achieve GPU exclusivity and GPU sharing?

Something is not right in your setup. Did you run the demo scripts exactly as indicated in the README (i.e. with kind), or did you attempt to do something different?

The code has been updated to adhere to the latest DRA APIs in Kubernetes v1.31.
This is a major overhaul of the code base, please try updating to the latest and let me know if you still have issues.
Closing the issue for now -- please reopen if you are still seeing issues.


Incorporate MSVC's __declspec(noalias)

Microsoft's __declspec(noalias) is documented  as:

noalias means that a function call doesn't modify or reference visible global state and only modifies the memory pointed to directly by pointer parameters (first-level indirections).

So it is analogous to gcc/clang __attribute__((const)). Currently HEDLEY_CONST does not generate it.

According to the gcc docs.
const functions should never take pointer or, in C++, reference arguments.
This seems to conflict with msdn noalias docs
noalias means that a function call doesn't modify or reference visible global state and only modifies the memory pointed to directly by pointer parameters (first-level indirections).
These appear to be incompatible, im not sure HEDLEY_CONST would be a correct place for __declspec(noalias)


[Bug]: Protoc invocation failed

Brief description
[ERROR] Failed to execute goal io.github.ascopes:protobuf-maven-plugin:2.7.0:generate (default) on project device-module-iot-biz: Protoc invocation failed -> [Help 1]
Steps to reproduce
springboot 3.3.4
protobuf 4.28.3
protobuf-maven-plugin 2.7.0
grpc 1.68.2
Error message
No response
Logs
No response
Operating system
macOS
JDK version
21
Maven version
3.8.2
Plugin version
2.7.0
Protoc version
4.28.3
Additional details
No response
Would you like to contribute a bugfix?

[ ] Yes, I'd like to contribute a bugfix!

myconfig xml:

    <build>
        <plugins>
            <plugin>
                <groupId>io.github.ascopes</groupId>
                <artifactId>protobuf-maven-plugin</artifactId>
                <version>${protobuf-maven-plugin.version}</version>

                <configuration>
                    <protocVersion>${protobuf.version}</protocVersion>

                    <binaryMavenPlugins>
                        <binaryMavenPlugin>
                            <groupId>io.grpc</groupId>
                            <artifactId>protoc-gen-grpc-java</artifactId>
                            <version>${grpc.version}</version>
                        </binaryMavenPlugin>
                    </binaryMavenPlugins>

                    <jvmMavenPlugins>
                        <jvmMavenPlugin>
                            <groupId>com.salesforce.servicelibs</groupId>
                            <artifactId>reactor-grpc</artifactId>
                            <version>${reactor-grpc.version}</version>
                        </jvmMavenPlugin>
                    </jvmMavenPlugins>
                </configuration>

                <executions>
                    <execution>
                        <goals>
                            <goal>generate</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>

I moved *.proto directory from src/proto/ to src/protobuf/ and solved the problem.

Glad you fixed the problem, @zoujiaqing.
Please may I ask... did the plugin provide you with a warning that no sources were detected? Usually I would expect the default settings to have given you a warning so if it didn't, then I'd like to potentially adjust that.


DOAP standard

intro
Why I'm for using DOAP?

Because it can be used as a standard to share data, similarly to XBEL and vCard.
Because XML is a very robust filetype to transfer information.
Because JSON is really unprofessional.
~~ If you disagree, I'll sue you in court. ~~

issue
As proposed by @Echolon at https://github.com/ge0rg/easy-xmpp-invitation/pull/32#issuecomment-1130198114
@ge0rg, please assign me for this task.
Design:
Add custom tags to link to app stores.
Use XPath to retrieve content.

@Echolon I need help in design.
Problem
I can add a great amount of apps for each platform, which is what I'm going to do.
There are two problems:

User might be flooded with an overwhelming list
Some web admins will not know how to make their own selection other than deleting those that they don't want; some might as well want to have just a single choice.

Proposal
Please note that we will have a DOAP file per client.
Question
How should we design the client selection mechanism?
Example:
Use a JSON file/array, similarly to how we do it right now, and according to JSON file, DOAP files will be retrieved accordingly.
For instance:
File: clients_Android.json
[
    "yaxim",
    "Conversation",
    "Xabber",
    "Bruno",
    "Monocles"
]

Will use files: yaxim.doap conversation xabber.doap bruno.doap monocles.doap (or .rdf or .xml whatever the file extension is)
What do you think?

@sjehuda not easy the question. One thing we will have in the future I think is to evaluate the compliance level via doaps. Maybe go for the moment with entries that dont have outdated timestamps + are listed in the xmpp.org "Getting Started" page (afaik)

I think is to evaluate the compliance level via doaps

Great idea. Thank you @Echolon
I'll keep it at that, because I know how to approach the proposed design above in a concise and clear manner, and especially XPath-wise.
If anyone has an objection to the proposed design, please let me know.

Focusing on yaximyaxim yaxim.rdf.xml
<?xml version="1.0" encoding="UTF-8"?>
<rdf:RDF xmlns="http://usefulinc.com/ns/doap#"
        xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
        xmlns:xmpp="https://linkmauve.fr/ns/xmpp-doap#"
        xmlns:foaf="http://xmlns.com/foaf/0.1/"
        xmlns:schema="https://schema.org/">
  <Project>

    <name>yaxim</name>

    <shortdesc xml:lang="en">yet another XMPP instant messenger</shortdesc>
    <description xml:lang="en">yaxim is an Android XMPP/Jabber client with a clean user interface and open source (GPLv3).</description>
    <schema:logo rdf:resource="https://yaxim.org/images/yaxim.svg"/>
    <schema:screenshot rdf:resource="https://yaxim.org/screenshots/tiny/roster.png"/>
    <schema:documentation rdf:resource="https://github.com/yaxim-org/yaxim/wiki"/>

    <homepage rdf:resource="https://yaxim.org/" />
    <wiki rdf:resource="https://github.com/yaxim-org/yaxim/wiki" />
    <bug-database rdf:resource="https://github.com/yaxim-org/yaxim/issues" />
    <category rdf:resource="https://linkmauve.fr/ns/xmpp-doap#category-client" />
    <category rdf:resource="http://api.gnome.org/doap-extensions#apps" />
    <license rdf:resource="http://usefulinc.com/doap/licenses/gplv3" />

    <programming-language>Java</programming-language>
    <os>Android</os>

    <repository>
      <GitRepository>
        <location rdf:resource="https://github.com/yaxim-org/yaxim.git" />
        <browse rdf:resource="https://github.com/yaxim-org/yaxim" />
      </GitRepository>
    </repository>

    <download>
      <play>
        <location rdf:resource="https://play.google.com/store/apps/details?id=org.yaxim.androidclient" />
        <browse rdf:resource="https://play.google.com/store/apps/details?id=org.yaxim.androidclient" />
      </play>
      <fdroid>
        <location rdf:resource="https://f-droid.org/packages/org.yaxim.androidclient/" />
        <browse rdf:resource="https://f-droid.org/packages/org.yaxim.androidclient/" />
      </fdroid>
      <fallback>
        <location rdf:resource="https://yaxim.org/archive/yaxim-bb.apk" />
        <browse rdf:resource="https://yaxim.org/archive/yaxim-bb.apk" />
      </fallback>
    </download>

  </Project>
</rdf:RDF>

I then retrieve the name from <name>, logo from <schema:logo> and description from <description> and the the download links from .
My question is, what JS mechanism (on cliebnt side) do we have that would allow XSS, that is to check for status 200 for 3rd part links?
P.S. Awesome work on the XSL style!

Maybe we need some server-side code to download the DOAP files and provide an extract of the data. We don't need this much anyway from them, so this could be done periodically by a job that would populate clients_XYZ.json

Maybe we need some server-side code to download the DOAP files and provide an extract of the data. We don't need this much anyway from them, so this could be done periodically by a job that would populate clients_XYZ.json

Stupod question: Isn't the xsf client.json what you need if you just query the top keys?

This is the code that xmpp.org uses to fetch and extract info from DOAP files (including logos): https://github.com/xsf/xmpp.org/blob/master/tools/prepare_software_list.py

The DOAP files might be useful when they have "available languages" of which a program is available in.

The compliance concern is valid, but is relevant when we don't do a manual check, which is what we are doing right now by sending code  and discussing about it.
We might want to use INI, YAML files instead.
I'm closing this.


Bug: duplicating a product results in handle and description being "undefined"

this occurs because the fields included in the query to list-products are limited to what is shown in the table, and don't include description or handle.
When the product is duplicated the fields are copied from the row entity which lacks some of the fields.
possible solutions:

include fields in list products query
fetch the product when duplicating it to ensure all the proper fields are included

I can't seem to reproduce this issue in the latest release. Closing for now. Let me know if you are still experiencing this after having updated your project.


toString() prevent compile errors

Added @Override annotation on toString method to make a strict contract that has compile-time checks

Also, can we decompose the class MappedRelationship and introduce some more classes(objects)? Simply because this class encapsulates too many objects inside it.

This is nice, but I don't see that we have compile errors, merely warnings?
I'm happy to merge this, though, but can you please sign the CLA? https://neo4j.com/developer/cla/ and CC me<EMAIL_ADDRESS>

@michael-simons I've already signed CLA. but don't cc you.


 Started!")

        container_host = Reaper._container.get_container_host_ip()
        container_port = int(Reaper._container.get_exposed_port(8080))

        last_connection_exception: Optional[Exception] = None
        for _ in range(50):
            try:
                Reaper._socket = socket()
>               Reaper._socket.connect((container_host, container_port))
E               ConnectionRefusedError: [Errno 111] Connection refused
../env/lib/python3.10/site-packages/testcontainers/core/container.py:228: ConnectionRefusedError

To Reproduce
Run your test on linux in a container while mounting /var/run/docker. sock without specifying DOCKER_HOST.
Runtime environment
Docker image: python:3.10
Testcontainers version: 4.4.0
Source of the bug
Reaper._container.get_container_host_ip() does not return the correct value.
In docker_client.py:
    def host(self) -> str:
        """
        Get the hostname or ip address of the docker host.
        """
        # https://github.com/testcontainers/testcontainers-go/blob/dd76d1e39c654433a3d80429690d07abcec04424/docker.go#L644
        # if os env TC_HOST is set, use it
        host = os.environ.get("TC_HOST")
        if not host:
            host = os.environ.get("TESTCONTAINERS_HOST_OVERRIDE")
        if host:
            return host
        try:
            url = urllib.parse.urlparse(self.client.api.base_url)

        except ValueError:
            return None
        if "http" in url.scheme or "tcp" in url.scheme:
            return url.hostname
        if inside_container() and ("unix" in url.scheme or "npipe" in url.scheme):
            ip_address = default_gateway_ip()
            if ip_address:
                return ip_address
        return "localhost"

This method return localhost because the client api base_url is http+docker://localhost/v1.41/containers/create
So the first condition is true, and the method return localhost.
It should test if we are inside a container and if true, get the default_gateway_ip().
Furthermore this method so throw an error if the subprocess return an error. For now, it just return None if the command ip is not installed.
def default_gateway_ip() -> str:
    """
    Returns gateway IP address of the host that testcontainer process is
    running on

    https://github.com/testcontainers/testcontainers-java/blob/3ad8d80e2484864e554744a4800a81f6b7982168/core/src/main/java/org/testcontainers/dockerclient/DockerClientConfigUtils.java#L27
    """
    cmd = ["sh", "-c", "ip route|awk '/default/ { print $3 }'"]
    try:
        process = subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
        ip_address = process.communicate()[0]
        if ip_address and process.returncode == 0:
            return ip_address.decode("utf-8").strip().strip("\n")
    except subprocess.SubprocessError:
        return None

Last weird comportement in get_exposed_port:
    def get_exposed_port(self, port: int) -> str:
        mapped_port = self.get_docker_client().port(self._container.id, port)
        if inside_container():
            gateway_ip = self.get_docker_client().gateway_ip(self._container.id)
            host = self.get_docker_client().host()

            if gateway_ip == host:
                return port
        return mapped_port

I don't understand the condition if we are inside a container, if the host is the same as the gateway ip we should return the mapped_port.
In this case, we are in a container, so using the gateway_ip as host we should use the mapped_port to connect to the mapped port on the host.

this has not worked since #388 - i do not know how to test it so it has not been reverted in any meaningful way but you can discover more of these threads about the dind issue here #517 including, ultimately the workaround - https://github.com/testcontainers/testcontainers-python/issues/475#issuecomment-2040182302
I do think this project should fix itself but im going to close this issue because i dont think it differs from the other issues. feel free to correct if this is not the case.


Closable reference?

Could a popup be programmatically closed? From what I understand, uglipop() itself opens a new modal (with the content specified in an argument, or statically). Do you think it would be possible for uglipop() to return a reference of some kind, like setTimeout() would? Or maybe it could return an object with an .close() method?
Either way, thanks for this lib :)

@athanclark Sure this could be a great feature enhancement ! Till then you might wanna check out remove() function


Fix #23

Changes 'memory' to 'mem' for rule examples. This should solve issue #23

@DavidXArnold This is an easy review. A readme fix...

Simple documentation update. +1 for the merge


Matching contains array of objects to array of objects

Hello,
I am trying to match the below and for some reason it does not pass.
Scenario:
parent is ACTUAL and cancelResponse.data.parent is EXPECTED
my question is why doesn't a json array of objects as the actual match a sub-set json array of objects?
all the keys and values in the expected are in the actual so contains should cover that.

* match parent contains ['#(cancelResponse.data.parent)']

```js
ACTUAL:
[{"num":"111111111111111111","Tdate":"2019-11-22","type":"cars",
"orig":"555555555555",
"tdate":"2019-11-22","part":3,"sessId":"777","evtTyp":"fly",
"src":"nyx","token":"hal","evtTs":"2019-11-22T13:27:58.246235000",
"orgt":"xx","ord":"bba",
"loren":"dim","lao":"foo","car":"234234234",
"order":"6621","ordback":"1","ordTyp":"1","ordCpcty":"A"}]

 EXPECTED:
 [{"num":"111111111111111111",
"Tdate":"2019-11-22","type":"cars",
"orig":"555555555555"}],

reason: actual value does not contain expected

@si-mikey sorry I can't understand your question as it is incomplete. but first can you read this issue (and the linked issues) to see if that answers your question: https://github.com/intuit/karate/issues/925


feat(configparser): update to 3.11

Lib: https://github.com/python/cpython/blob/3.11/Lib/configparser.py
Test: https://github.com/python/cpython/blob/3.11/Lib/test/test_configparser.py

Test
RUSTPYTHONPATH=Lib cargo run --release Lib/test/test_configparser.py
    Updating git repository `https://github.com/youknowone/unicode_names2.git`
    Finished release [optimized] target(s) in 0.92s
     Running `target/release/rustpython Lib/test/test_configparser.py`
...
Ran 343 tests in 1.312s

OK (skipped=5)

When I update a library from a newer version of CPython, I usually do this:

Copy/paste the library straight from CPython unless it has any RustPython-related annotations, and put that into the first commit. (Your first commit is fine as is, but personally, I would title it Update configparser.py from CPython 3.11 in accordance with this guide.)
Copy/paste the test straight from CPython, without touching the RustPython-related annotations, and put that into a second commit, titled something like Update test_configparser.py from CPython 3.11. (You can follow the guide in the wiki, but I use Meld for this.)
Run the new test. Add/remove any necessary RustPython-related annotations, and put that into one or more commits, titled something like Mark failing/erroring tests or Unmark passing tests or Skip panicking test.

#4597 will make it simpler

When I update a library from a newer version of CPython, I usually do this:

Copy/paste the library straight from CPython unless it has any RustPython-related annotations, and put that into the first commit. (Your first commit is fine as is, but personally, I would title it Update configparser.py from CPython 3.11 in accordance with this guide.)
Copy/paste the test straight from CPython, without touching the RustPython-related annotations, and put that into a second commit, titled something like Update test_configparser.py from CPython 3.11. (You can follow the guide in the wiki, but I use Meld for this.)
Run the new test. Add/remove any necessary RustPython-related annotations, and put that into one or more commits, titled something like Mark failing/erroring tests or Unmark passing tests or Skip panicking test.

@fanninpm thanks for your suggestions, I was trying to follow conventional commits convention but will stick with your suggestion next time.

Copy/paste the test straight from CPython, without touching the RustPython-related annotations

Sorry I'm a bit confused here, let's say the test has some annotations, if I'm copying it straight from CPython how would I not touch those?


Hyperlinked source links to pattern synonyms don't work

In the hyperlinked sources, clicking on a pattern synonym does not bring you to its definition. Ditto for modules in export lists.

A wild guess: we don't generate anchors for these yet?

Ah, we are missing a case for PatBind here https://github.com/haskell/haddock/blob/4aa69143fd620644bbc899a5996089865cbafd34/haddock-api/src/Haddock/Backends/Hyperlinker/Ast.hs#L112-L114

I figured we need to handle pattern synonyms in Haddock.Backends.Hyperlinker.Ast (PatSynBind and PatSynSig)


Support other Language

Why does PhoneticMatching support only English?

The repo uses Flite to do grapheme-to-phoneme [G2P] (text input to sound) and mappings exist for languages to go from phoneme-to-vector space [P2V] (to do distance matching such that similar sounds are near each other in the vector space).
However, generating a phoneme is language dependent and at the time the G2P used only had a way of generating as if it was an English speaker. This implies the distance matching is done as if it sounds similar to an English speaker. The trivial case is if everything being compared is an English word/name. In the context of an English speaker trying to pronounce a foreign name in their contact list, this may make sense to compare non-English words/names. However, in the context of a non-English native speaker disambiguating between native sounding words/names/etc., especially if the only difference between the words are sounds acute to English but make a big meaningful impact in the native language, then I would expect you'd get poor results.
To support other languages we would need a way to produce G2P for that language. Hopefully with an engine that scales easily to other languages. There exist sources for P2V mappings already so that component is doable.


Introduced shared objects that can be safely shared between P# state-machines

SharedCounter: uses Interlocked operations in production.
SharedRegister: uses a lock in production.
SharedDictionary: uses a ConcurrentDictionary in production.
In test mode, they all internally use a machine. Multiple test cases added.

I think this will be really useful. Btw, did a couple of modifications before merging: introduced an individual factory for each shared object (e.g. SharedCounter.Create(...)), placed shared objects in their own namespace Microsoft.PSharp.SharedObjects, placed the shared object tests in their own test-project to mirror how we do it for the rest of the solution, and various other minor code-convention-related updates.


Add general text to each e-Service

We should add a text to each e-Service (e-link, e-entity, ...) to give a general explanation about this service.
I remember that it is possible to write a text next to the heading but that looks like a subheading. We should try to manipulate the CSS in order to change it into a normal text.
So the first step is to find out if the CSS hack works. When the first step workend then in the second step I send you the texts for each e-Service and you integrate it.

Take the e-Service descriptions from http://api.freme-project.eu/doc/0.6/knowledge-base/freme-for-sysadmins/e-services.html as text.
e-Entity: Detect named entities in text. The service performs named entity recognition, classification and linking. The service also supports the upload of custom datasets for linking.
e-Link: Enrich data with contents from the Linked Open Data cloud.
User: User management APIs to create, read, update, delete users and create authentication tokens. More information in the LINK authentication article.
toolbox: Configure postprocessing filters that can be used to LINK simplify output. Further use the LINK converter endpoint to convert various document formats into NIF.
pipelining: Configure workflows and share the workflows with other users using FREMEs pipelining API.

TODO: fix converter endpoint link

Implemented, except "fix nif-converter endpoint link" (no trivial solution found).


test: Trigger a more reliable error in TestAddFailingJob

We were previously relying on the artifact pull from example.com to return a 404, thus generating a "repo not found" error, but example.com recently starting returning a 500 instead. We probably shouldn't be relying on the reliability of example.com :wink:

LGTM


Normalize accountImage component usage

Project organization

Closes #87
Related trello card

Description
There has been changes on this component since this issue has been created.
But there were still different kind of usages that wasn't matching rest of the usage.
This PR normalizes the usage of <AccountImage /> component across the application.
How to test
Everything should be same, except navbar profile icon positioning and height. (Which wasn't centered before because of the wrong height)
Checklist

[x] Base branch of the PR is dev

I guess now that the alignment is correct for the image, the notification button feels off, maybe it's not aligned as well.

Also related to your comment

I guess now that the alignment is correct for the image, the notification button feels off, maybe it's not aligned as well.

Needs to be wrapped with flex because how next/image wraps it's content


Opt persist

Pull Request Description
What issue does this change request address? (Use "#" before the issue to link it, i.e., #42.)
Closes #1316
What are the significant changes in functionality due to this change request?
The persistence was unintentionally being set to False (aka 0) when flagging convergence criteria as False when a point was rejected. This has been corrected, so that persistence only resets to 0 when a new point is accepted, but no convergence criteria are met.
This involved regolding several tests; while the answer obtained is further from the analytic optimal solution, this is the correct behavior, because they exit due to the convergence criteria earlier than the original tests with the flawed persistence.

For Change Control Board: Change Request Review
The following review must be completed by an authorized member of the Change Control Board.

[x] 1. Review all computer code.
[x] 2. If any changes occur to the input syntax, there must be an accompanying change to the user manual and xsd schema. If the input syntax change deprecates existing input files, a conversion script needs to be added (see Conversion Scripts).
[x] 3. Make sure the Python code and commenting standards are respected (camelBack, etc.) - See on the wiki for details.
[x] 4. Automated Tests should pass, including run_tests, pylint, manual building and xsd tests. If there are changes to Simulation.py or JobHandler.py the qsub tests must pass.
[x] 5. If significant functionality is added, there must  be tests added to check this. Tests should cover all possible options.  Multiple short tests are preferred over one large test. If new development on the internal JobHandler parallel system is performed, a cluster test must be added setting, in  XML block, the node <internalParallel> to True.
[x] 6. If the change modifies or adds a requirement or a requirement based test case, the Change Control Board's Chair or designee also needs to approve the change.  The requirements and the requirements test shall be in sync.
[x] 7. The merge request must reference an issue.  If the issue is closed, the issue close checklist shall be done.
[x] 8. If an analytic test is changed/added is the the analytic documentation updated/added?
[x] 9. If any test used as a basis for documentation examples (currently found in raven/tests/framework/user_guide and raven/docs/workshop) have been changed, the associated documentation must be reviewed and assured the text matches the example.

Checklist passed and PR approved...
Merging...


Make receiving messages event driven

I originally wanted to stop #get from blocking so the main loop could do other things. I thought messages would be in the queue and could be checked occasionally.
Then I realized the mqtt event objects all point to the same location for topic and data, so every subsequent message overwrites the previous.
Instead of using another queue with the actual values, I went ahead and made the whole thing event driven. The client sets a generic mruby proc that gets called inside the event handler, similar to the Wi-Fi gem.
When a message is received:

Suspend main task
Generic proc called (gives topic and message to mruby)
In mruby, look up (array of procs) if there's a specific callback for the given topic
Run the callback if it exists, giving the message
Resume main task

@vickash
Thanks for your Pull Request.
You are correct, #get had a problem with subsequent messages being overwritten.
I also had an idea to use asynchronous callbacks. But in this way mrb_state is referenced by multiple tasks. Is there any concern about this?

But in this way mrb_state is referenced by multiple tasks. Is there any concern about this?

That's a good question. Unless I'm mistaken, the only other time the mruby task is paused and "taken over" is during the Wi-Fi connect and disconnect blocks?
So would be hard to notice if this is an issue, since MQTT events won't happen until Wi-Fi connects anyway.
Either way, could be solved with a semaphore, no?

@vickash
You are right, the only situations in mruby-esp32 that suspend tasks are Wi-Fi and MQTT.
However, similar situations are expected to increase as SPI and I2C are supported in the future.
For example, the following code may cause mruby to crash.

wifi = ESP32::WiFi.new

wifi.on_connected do |ip|
  mqtt.connect
  mqtt.subscribe("mruby-esp32-mqtt") do |message|
    # Process messages
  end
end

wifi.connect('SSID', 'password')

After much consideration, I decided that "mrb_state should only be handled in a single task.
If you have a better way, please let me know 🙏

wifi = ESP32::WiFi.new

wifi.on_connected do |ip|
  mqtt.connect
  mqtt.subscribe("mruby-esp32-mqtt") do |message|
    # Process messages
  end
end

wifi.connect('SSID', 'password')

You're right that this doesn't work, but it isn't because #subscribe is hooking its callback. All that does is set a few variables. MQTT data events aren't happening yet, and that isn't running in the context of an MQTT event. It's a Wi-Fi event.
The root cause is mqtt_wait_for_event. Leaving mqtt.connect alone inside the block causes the spinlock error too.
I haven't dug deeper, but my guess is that the block given to wifi.on_connected is happening inside an event handler where the RTOS doesn't want you to wait indefinitely for another event.
This style of code is probably possible only if everything becomes event driven.
Example:

#connect is called inside the WiFi event.

Set @connected ivar in mqtt client to false

Call C function to start the connection, but return immediately from #connect

Meanwhile in the mqtt event handler, wait for the connected event. When it arrives, pause mruby_task, set @connected to true, and run any blocks saved to run on connect (see below)

#subscribe is called now

Set @subscribed to false (would have to be an array or hash, but simplifying)

Check if @connected is true

If it is, call C function to subscribe and add message callback immediately
If it isn't, then hook a callback to the connect event that will start the subscription and hook the message callback
There could be a weird race condition here if mruby_task gets paused exactly after checking the value of @connected
Either way, the subscribe event handler sets @subscribed to true

This should work in the wifi.on_connected block, and is a cleaner looking way of handling disconnects, but it's probably a lot of work, and we'll need a way for mruby to interact with the RTOS semaphores to avoid race conditions like that example.
That should be the eventual goal, but I'm just trying to make message subscription usable for now.
To deal with disconnects, I was planning to use ivars (set by the event handlers) to store the state of the wifi and mqtt connections. Then, in the main loop, check those ivars periodically, and rerun the setup process in the same linear blocking way as the startup procedure.
This ties up the main task, but shouldn't be needed often. Event driven absolutely will be better since it leaves the main task free to do whatever in case it can't reconnect, but we'll get there eventually.

However, similar situations are expected to increase as SPI and I2C are supported in the future.

Yes, but only for SPI and I2C slave modes I think? I also want to do interrupt driven digital input pins eventually, so it will matter there too, but I think the semaphore will be fine.
Think of it like using interrupts on an Arduino. mruby_task is our main loop and the other RTOS tasks with their events want to interrupt it. Each event handler takes the semaphore before it pauses mruby and releases it after it resumes. This prevents "interrupts" from overlapping. If we add an interface so mruby can "disable interrupts", i.e. take the semaphore, we can run mruby code guaranteed not to be paused for an event, solving problems like the @connected race condition above.

@yuuu, it looks like there is no need to suspend and resume mruby_task. In fact, doing so was causing delays in my main loop to end prematurely when a message is received.
Simply calling mrb_yield_argv and running a block works just fine, with delays staying the correct length, or at least close enough. Might be adding the event time? Haven't tried to figure that out yet.
I used the same pattern as adding the data callback to deal with these events:

Connected
Disconnected
Unsubscribed

The wait functions have been removed, and code like that example you gave should work. However, you'll need to increase the event loop's stack size. I used 16k.
Try this for a more thorough test:
wifi = ESP32::WiFi.new
mqtt = ESP32::MQTT::Client.new('test.mosquitto.org', 1883)

message_counter = 0

# Nested callback hooks
wifi.on_connected do |ip|
  puts "Connected with IP: #{ip}"

  mqtt.connect
  mqtt.subscribe("mruby-esp32-rx") do |message|
    message_counter += 1
    puts "Message from mruby-esp32-rx: #{message}. Counter: #{message_counter}"
  end
end

wifi.connect('SSID', 'password')

# Ensure connection before trying to publish. Not sure if needed.
while !mqtt.connected do
  ESP32::System.delay(100)
end

loop do
  mqtt.publish("mruby-esp32-tx", 'message')
  ESP32::System.delay(10000)
end

I added comments for where the semaphore should be given and released, but I'm not sure this is even necessary. It looks like mrb_yield_argv is doing something similar to the GIL on CRuby, but I can't find any documentation on it. Can you figure that out and confirm?
If that's the case, the two event handlers in the wifi gem could be changed so they don't suspend mruby_task and everything will play well together.

I added comments for where the semaphore should be given and released, but I'm not sure this is even necessary. It looks like mrb_yield_argv is doing something similar to the GIL on CRuby, but I can't find any documentation on it. Can you figure that out and confirm?

Ok, this definitely isn't the case. It only worked because I had a long delay.

This has gotten too complex, so I'm giving up on this branch.
@yuuu let me know how this sounds instead:

Block for non data events, just like the original code
Don't block for data, but add the messages to some new queue
Add callbacks through #subscribe like my first commit here
Add a method like Client#run that the user has to call in the main loop. It empties the queue and runs the callbacks with each message.

This gives the same feel, with one extra line. We could do something similar to handle both wifi and mqtt disconnect and reconnect too.

@vickash
I really appreciate your various validations.
mrb_yield_argv without suspend is as risky as you say, and it's hard for me to accept. I'm sorry I can't give you a better suggestion.
I have some concerns about the suggestion at https://github.com/mruby-esp32/mruby-esp32-mqtt/pull/2#issuecomment-1648524805.

A callback would be ideal. However, it is difficult to execute yield in another context (another task), and I think that various side effects will occur.

In what context will yield be executed in your plan?

Is it necessary to add Client#run ?

The specification of this mrbgems is the same as https://github.com/njh/ruby-mqtt. I'm afraid it will break.

In what context will yield be executed in your plan?

There's no yield at all in my new plan. By "callback" I meant a block to handle messages for the topic up front, rather than having that code inside the main loop. Client#run pops messages off the queue, checks the topic and calls the right block with it. That all happens inside mruby_task.
The only thing happening outside is adding items to the queue. This isn't truly asynchronous, since you're checking for messages once every loop, but I looked at how CircuitPython handles MQTT, and it's basically this.
The only thing the user has to remember to add to their main loop is Client#run.

The specification of this mrbgems is the same as https://github.com/njh/ruby-mqtt. I'm afraid it will break.

It might, but doesn't have to, if you're ok with extending it.
#get can be reworked to pop a message off the new queue (i.e. the one holding actual message values, not pointers) while still blocking.

@vickash
I see. If there is no yielding in another task and #get can get the message, I think it is a good plan.


Region Detection: Detect minimum regions

What it does
If region is smaller than X size, collapse region and add to neighbor with biggest border.
Check if neighbor is smaller than min region before collapse and recurse?
Implementation

The island detection code should be able to handle this, just modify to detect regions instead, find neighbor region, merge border into bigger region and merge this into region.


DOCS 4.0.0 changelog is missing upgrade path for CompositeField::setID

CompositeField::setID is gone in 4.0.0-beta2. There should be a suggested upgrade path for user code in the 4.0.0 changelog.
PR

[ ] https://github.com/silverstripe/silverstripe-framework/pull/7533

PR at https://github.com/silverstripe/silverstripe-framework/pull/7533


MWPW-152082 - Utils to Scripts

Moves set/getLibs from utils into scripts to remove dependency for performance reasons.

Resolves: MWPW-152082

Test URLs:

Before: https://main--bacom--adobecom.hlx.live/?martech=off
After: https://utils-to-scripts--bacom--adobecom.hlx.live/?martech=off

Is this the only reference to set/getlibs? Don't we use them in tests too?

We do use set/getLibs in tests and other files which is why I left it as an export in the utils.js file and did not delete utils.js.
I don't think the removal of the import from scripts ought to effect anything, but Dennis should probably run a full smoke test.

Is this the only reference to set/getlibs? Don't we use them in tests too?

We do use set/getLibs in tests and other files which is why I left it as an export in the utils.js file and did not delete utils.js.
I don't think the removal of the import from scripts ought to effect anything, but Dennis should probably run a full smoke test.

Oh yeah. I didn't notice that you hadn't deleted utils.js. I assumed you were moving the function, not duplicating it. I don't understand how that works. Isn't libs scoped to that function, not on the window? I don't see how you can set libs in scripts.js and get it in utils.js or am I missing something...

Oh yeah. I didn't notice that you hadn't deleted utils.js. I assumed you were moving the function, not duplicating it. I don't understand how that works. Isn't libs scoped to that function, not on the window? I don't see how you can set libs in scripts.js and get it in utils.js or am I missing something...

In this instance, not so sure the closure matters since the function runs immediately and returns the get/set pattern and scripts looks for the global of window.location if a location is not provided to the first arrow function. We actually don't need libs for our utils.js, and we definitely don't need to make the call for our marquees. Before copying the libs pattern into scripts, we were essentially saying "scripts, go get bacom utils to figure out which path to load milo utils", now we're saying "scripts use setLibs which you have to figure out which utils to get". Were' cutting out the utils call here that blocks milo utils from running loadArea etc.

I left the function in utils because quite a bit of our code uses getLibs in order to use Milo core functionality: https://github.com/search?q=repo%3Aadobecom%2Fbacom getLibs&type=code

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Please upload report for BASE (stage@512d0a6). Learn more about missing BASE report.
Report is 1 commits behind head on stage.

Additional details and impacted files
@@           Coverage Diff            @@
##             stage     #209   +/-   ##
========================================
  Coverage         ?   95.43%
========================================
  Files            ?       11
  Lines            ?      899
  Branches         ?        0
========================================
  Hits             ?      858
  Misses           ?       41
  Partials         ?        0

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

@JasonHowellSlavin Shouldn't this be working? https://utils-to-scripts--bacom--adobecom.hlx.page/drafts/methomas/tree-view

Also, what about the tests? If we don't need to set the libs anymore, can we remove that from the tests?

Also, what about the tests? If we don't need to set the libs anymore, can we remove that from the tests?

We need some tests here, this is too important not to test.

Also, what about the tests? If we don't need to set the libs anymore, can we remove that from the tests?

We need some tests here, this is too important not to test.

Agreed, but I think we're talking about two different things:

Like you said, we need unit tests for this. Maybe the tests from utils.test.js can be moved/adapted.
I'd also like us to clean up the block tests like tree-view.test.js that import and use setLibs from utils. If we're no longer using setLibs in the block code, then we don't need to have in the block tests, right?

Also, what about the tests? If we don't need to set the libs anymore, can we remove that from the tests?

We need some tests here, this is too important not to test.

Agreed, but I think we're talking about two different things:

Like you said, we need unit tests for this. Maybe the tests from utils.test.js can be moved/adapted.
I'd also like us to clean up the block tests like tree-view.test.js that import and use setLibs from utils. If we're no longer using setLibs in the block code, then we don't need to have in the block tests, right?

@Brandon32 , I will adapt the unit.test.js for this use case as Megan is saying, good point both.
For point 2. I think we need to look into that issue separately from this. There is some flakiness in our tests as they stand now, we may need an issue to look into them and refactor a bit. Right now many of the tests are throwing errors into the Browser logs, but are still passing, like tree-view, redirects-formatter, etc.

After discussing with team, and in light of my absence for a few weeks, we are closing this PR in favor of https://github.com/adobecom/bacom/pull/220.


EPROM Emulator with Slint GUI

The source code for the emulator and graphical front-end.
coding-assignment\src\main.cpp
coding-assignment\ui\appwindow.slint
Instructions for how to build and run the emulator.
coding-assignment\TOOL_MANUAL.md
A short video demonstrating the use of the emulator
coding-assignment\Demo.gif

Thanks for the submission!


Allow tcp_keepalive option in Redis settings

This involves:

Bumping Redis and Resque
Allowing to passing tcp_keepalive option on Redis conf

Frontend tests were OK :+1: (details)

is this production safe?

@javisantana I'm testing it. By default it only exposes the tcp_keepalive to be able to enable it on the config, and it is false by default, so it won't change anything on behavior.
The only problems that could arise (that I can think of) come from upgrading resque/redis gem versions.

nice, let merge/deploy it tomorrow morning

Frontend tests were OK :+1: (details)

Frontend tests were OK :+1: (details)

Frontend tests were OK :+1: (details)

hey, quick review please? :angel: @kartones @rafatower

+1

:+1:


[Bug] Duplicate Entries in Autocomplete with Maps and slash command

Description
Observed Duplicate entries in Map Widget autocomplete while using slash command.
Steps to reproduce the behaviour:
Add steps to reproduce this behaviour, include console / network logs & screenshots

Add map widget
Open Property Pane
Click Default Marker. Cmd+A , del
Press / and select map from Bind data

https://www.loom.com/share/a844ebf853f849228e871a181d8a78bc
Important Details

Version: cloud
OS: MacOS 11.3.1(Apple m1)
Browser: Chromium Version 94.0.4582.0 (Developer Build) (x86_64 translated)
Environment: release-frozen(Created on 19July2021)

Fixed with #5798


[4228] Add apply_application_sync_requests.recruitment_cycle_year

Context
This is migration only PR to prepare for storing one ApplyApplicationSyncRequest record per recruitment_cycle_year. At the moment we store only one record when syncing multiple years even if the sync works for one year and fails for another.
Changes proposed in this pull request
Add apply_application_sync_requests.recruitment_cycle_year to the database schema with an index.
Guidance to review

Does this make sense?
Do we need to include this in analytics.yml? (I don't think we include this table)

Important business

[x] Does this PR introduce any PII fields that need to be overwritten or deleted in db/scripts/sanitise.sql?
[ ] Does this PR change the database schema? If so, have you updated the config/analytics.yml file and considered whether you need to send 'import_entity' events?

NB: Please notify the #twd_data_insights team and ask for a review if new fields are being added to analytics.yml

 2022 Apply applications not being requested properly


Api change PlayList Error

Uncaught TypeError: Cannot read property 'classList' of undefined
at e.value (eval at  (app.js:1931), :7:55624)
at HTMLAudioElement.eval (eval at  (app.js:1931), :7:58294)
value @ APlayer.min.js?065a:7
(anonymous) @ APlayer.min.js?065a:7

这个后来怎么解决的, 我启用 pjax 后就疯狂报错
Uncaught TypeError: Cannot read property 'classList' of undefined
    at e.value (list.js:176)
    at e.value (player.js:516)
    at player.js:184

this.player.container.querySelectorAll('.aplayer-list li')[this.index].classList.add('aplayer-list-light');


Two issues i found today

Please use the below as a template when making your report.
Describe the bug
The SPAS-12 shotgun is invisible, the binoculars when used stay in the hud of the binoculars and you can only fix by reloading a previous save.
Is it already a known issue?
Not that I have seen?
Steps to reproduce
Equip then watch...oh no....
Environment
-Rad storm, summer, local pub you name it
Contact:
Please list your discord name if you are in our discord:

Additional context
Add any other context about the problem here or screenshots/videos/ticket transcript from discord.

Hey there, I haven't been able to reproduce the spas12 issue but I do know it can happen. Can you get a picture of it in your inventory.
The binocular issue I confirmed and will have a fix out for it sometime today.

Ok i will have to take another picture, i already deleted it. i will try reinstalling it first.  Also now Sim Settlements is not showing built plots. I tried refreshing and even a new start up. I had previously downloaded Rise of the commonwealth and a sanctuary plan and thought that was the problem, but the latest wabbajack update let it visually not showing. I will try reloading that as well.

Binoculars have been fixed.


how to Migration old nullable table column

I am trying to support room db component but one crash I can not find any useful answer:
The crash log just like:
 java.lang.RuntimeException: Unable to resume activity
: java.lang.IllegalStateException: Migration didn't properly handle search_record(entity.user.SearchRecord).
                                                                     Expected:
                                                                    TableInfo{name='search_record', columns={_id=Column{name='_id', type='INTEGER', notNull=true, primaryKeyPosition=1}, search_num=Column{name='search_num', type='INTEGER', notNull=true, primaryKeyPosition=0}, key_word=Column{name='key_word', type='TEXT', notNull=false, primaryKeyPosition=0}, recent_date=Column{name='recent_date', type='INTEGER', notNull=true, primaryKeyPosition=0}}, foreignKeys=[], indices=[]}
                                                                     Found:
                                                                    TableInfo{name='search_record', columns={_id=Column{name='_id', type='INTEGER', notNull=false, primaryKeyPosition=1}, search_num=Column{name='search_num', type='INTEGER', notNull=false, primaryKeyPosition=0}, key_word=Column{name='key_word', type='TEXT', notNull=false, primaryKeyPosition=0}, recent_date=Column{name='recent_date', type='INTEGER', notNull=false, primaryKeyPosition=0}}, foreignKeys=[], indices=[]}

It seems that the old db table created before is designed notNull = false , but the room only allow notNull = true int column . so is there any way for me to migration the table without delete table and recreate a new one.

@george5613 I met this problem too, I updated room to 1.0.0-rc1, when I add new columns to a table, it just crashed , and I found this for a while , old nullable column must be not null , but how can I do in migrations?
-id=Column{name='id', type='TEXT', notNull=true, primaryKeyPosition=1},
+id=Column{name='id', type='TEXT', notNull=false, primaryKeyPosition=1},
-time_stamp=Column{name='time_stamp', type='INTEGER', notNull=true, primaryKeyPosition=0},
+time_stamp=Column{name='time_stamp', type='INTEGER', notNull=false, primaryKeyPosition=0},
-state=Column{name='state', type='INTEGER', notNull=true, primaryKeyPosition=0},
+state=Column{name='state', type='INTEGER', notNull=false, primaryKeyPosition=0}

@yaraki Since the part of room component annotationProcessor SDK is not open source At this moment. The only way to solve this problem is follow the way in the sample :
1.Create a tmp table
2.Insert old rows to the tmp table
3.Drop old table
4.Rename the tmp table the same as the old one.
Maybe it has another simple solution but for me it's the only way I can find now.

Today i faced this issue too. But, after spending some time in thinking i came up with this little idea which solved the issue. So, the idea is to use  data type as Integer instead of int. int is a primitive data-type so it cant be null but Integer is a class so object of this class can be null.