[883/906] env PKG_CONFIG_PATH=/var/tmp/portage/net-misc/networkmanager-1.44.2/temp/pkgconfig:/var/tmp/portage/net-misc/networkmanager-1.44.2/temp/python3.11/pkgconfig:/usr/share/pkgconfig:/var/tmp/portage/net-misc/networkmanager-1.44.2/work/NetworkManager-1.44.2-abi_x86_64.amd64/meson-uninstalled PKG_CONFIG_LIBDIR=/usr/lib64/pkgconfig CC=x86_64-pc-linux-gnu-gcc /usr/bin/g-ir-scanner --quiet --no-libtool --namespace=NM --nsversion=1.0 --warn-all --output src/libnm-client-impl/NM-1.0.gir --c-include=NetworkManager.h -DNETWORKMANAGER_COMPILATION -I/var/tmp/portage/net-misc/networkmanager-1.44.2/work/NetworkManager-1.44.2/src/libnm-client-impl -I/var/tmp/portage/net-misc/networkmanager-1.44.2/work/NetworkManager-1.44.2-abi_x86_64.amd64/src/libnm-client-impl -I/var/tmp/portage/net-misc/networkmanager-1.44.2/work/NetworkManager-1.44.2/src/libnm-core-public/. -I/var/tmp/portage/net-misc/networkmanager-1.44.2/work/NetworkManager-1.44.2-abi_x86_64.amd64/src/libnm-core-public/. -I/var/tmp/portage/net-misc/networkmanager-1.44.2/work/NetworkManager-1.44.2/src/. -I/var/tmp/portage/net-misc/networkmanager-1.44.2/work/NetworkManager-1.44.2-abi_x86_64.amd64/src/. -I/var/tmp/portage/net-misc/networkmanager-1.44.2/work/NetworkManager-1.44.2/. -I/var/tmp/portage/net-misc/networkmanager-1.44.2/work/NetworkManager-1.44.2-abi_x86_64.amd64/. -I/var/tmp/portage/net-misc/networkmanager-1.44.2/work/NetworkManager-1.44.2/src/libnm-client-public/. -I/var/tmp/portage/net-misc/networkmanager-1.44.2/work/NetworkManager-1.44.2-abi_x86_64.amd64/src/libnm-client-public/. --filelist=/var/tmp/portage/net-misc/networkmanager-1.44.2/work/NetworkManager-1.44.2-abi_x86_64.amd64/src/libnm-client-impl/libnm.so.0.1.0.p/NM_1.0_gir_filelist --include=Gio-2.0 --symbol-prefix=nm --identifier-prefix=NM --pkg-export=libnm --cflags-begin -I/var/tmp/portage/net-misc/networkmanager-1.44.2/work/NetworkManager-1.44.2/src/libnm-core-public/. -I/var/tmp/portage/net-misc/networkmanager-1.44.2/work/NetworkManager-1.44.2-abi_x86_64.amd64/src/libnm-core-public/. -I/var/tmp/portage/net-misc/networkmanager-1.44.2/work/NetworkManager-1.44.2/src/. -I/var/tmp/portage/net-misc/networkmanager-1.44.2/work/NetworkManager-1.44.2-abi_x86_64.amd64/src/. -I/var/tmp/portage/net-misc/networkmanager-1.44.2/work/NetworkManager-1.44.2/. -I/var/tmp/portage/net-misc/networkmanager-1.44.2/work/NetworkManager-1.44.2-abi_x86_64.amd64/. -I/var/tmp/portage/net-misc/networkmanager-1.44.2/work/NetworkManager-1.44.2/src/libnm-client-public/. -I/var/tmp/portage/net-misc/networkmanager-1.44.2/work/NetworkManager-1.44.2-abi_x86_64.amd64/src/libnm-client-public/. -DGLIB_VERSION_MIN_REQUIRED=GLIB_VERSION_2_40 -DGLIB_VERSION_MAX_ALLOWED=GLIB_VERSION_2_40 -I/usr/include/gio-unix-2.0 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/libmount -I/usr/include/blkid -I/usr/lib64/libffi/include -UGLIB_VERSION_MIN_REQUIRED -UGLIB_VERSION_MAX_ALLOWED -I/usr/include/gobject-introspection-1.0 --cflags-end -I/var/tmp/portage/net-misc/networkmanager-1.44.2/work/NetworkManager-1.44.2/src/libnm-core-public/. -I/var/tmp/portage/net-misc/networkmanager-1.44.2/work/NetworkManager-1.44.2-abi_x86_64.amd64/src/libnm-core-public/. -I/var/tmp/portage/net-misc/networkmanager-1.44.2/work/NetworkManager-1.44.2/src/libnm-client-public/. -I/var/tmp/portage/net-misc/networkmanager-1.44.2/work/NetworkManager-1.44.2-abi_x86_64.amd64/src/libnm-client-public/. -I/var/tmp/portage/net-misc/networkmanager-1.44.2/work/NetworkManager-1.44.2/src/. -I/var/tmp/portage/net-misc/networkmanager-1.44.2/work/NetworkManager-1.44.2-abi_x86_64.amd64/src/. -I/var/tmp/portage/net-misc/networkmanager-1.44.2/work/NetworkManager-1.44.2/. -I/var/tmp/portage/net-misc/networkmanager-1.44.2/work/NetworkManager-1.44.2-abi_x86_64.amd64/. --add-include-path=/usr/share/gir-1.0 --add-include-path=/var/tmp/portage/net-misc/networkmanager-1.44.2/work/NetworkManager-1.44.2/src/libnm-core-public/. --add-include-path=/var/tmp/portage/net-misc/networkmanager-1.44.2/work/NetworkManager-1.44.2-abi_x86_64.amd64/src/libnm-core-public/. --add-include-path=/var/tmp/portage/net-misc/networkmanager-1.44.2/work/NetworkManager-1.44.2/src/libnm-client-public/. --add-include-path=/var/tmp/portage/net-misc/networkmanager-1.44.2/work/NetworkManager-1.44.2-abi_x86_64.amd64/src/libnm-client-public/. --add-include-path=/var/tmp/portage/net-misc/networkmanager-1.44.2/work/NetworkManager-1.44.2/src/. --add-include-path=/var/tmp/portage/net-misc/networkmanager-1.44.2/work/NetworkManager-1.44.2-abi_x86_64.amd64/src/. --add-include-path=/var/tmp/portage/net-misc/networkmanager-1.44.2/work/NetworkManager-1.44.2/. --add-include-path=/var/tmp/portage/net-misc/networkmanager-1.44.2/work/NetworkManager-1.44.2-abi_x86_64.amd64/. -L/var/tmp/portage/net-misc/networkmanager-1.44.2/work/NetworkManager-1.44.2-abi_x86_64.amd64/src/libnm-client-impl --library nm --extra-library=gio-2.0 --extra-library=glib-2.0 --extra-library=gobject-2.0 --extra-library=gmodule-2.0 --extra-library=udev --extra-library=girepository-1.0 --sources-top-dirs /var/tmp/portage/net-misc/networkmanager-1.44.2/work/NetworkManager-1.44.2/ --sources-top-dirs /var/tmp/portage/net-misc/networkmanager-1.44.2/work/NetworkManager-1.44.2-abi_x86_64.amd64/ [884/906] /usr/bin/vapigen-0.56 --quiet --library=libnm --directory=/var/tmp/portage/net-misc/networkmanager-1.44.2/work/NetworkManager-1.44.2-abi_x86_64.amd64/vapi --pkg=gio-2.0 --metadatadir=/var/tmp/portage/net-misc/networkmanager-1.44.2/work/NetworkManager-1.44.2/vapi /var/tmp/portage/net-misc/networkmanager-1.44.2/work/NetworkManager-1.44.2-abi_x86_64.amd64/src/libnm-client-impl/NM-1.0.gir FAILED: vapi/libnm.vapi /usr/bin/vapigen-0.56 --quiet --library=libnm --directory=/var/tmp/portage/net-misc/networkmanager-1.44.2/work/NetworkManager-1.44.2-abi_x86_64.amd64/vapi --pkg=gio-2.0 --metadatadir=/var/tmp/portage/net-misc/networkmanager-1.44.2/work/NetworkManager-1.44.2/vapi /var/tmp/portage/net-misc/networkmanager-1.44.2/work/NetworkManager-1.44.2-abi_x86_64.amd64/src/libnm-client-impl/NM-1.0.gir [885/906] /usr/bin/g-ir-compiler src/libnm-client-impl/NM-1.0.gir --output src/libnm-client-impl/NM-1.0.typelib --includedir=/usr/share/gir-1.0 [886/906] x86_64-pc-linux-gnu-gcc -o src/core/NetworkManager-all-sym src/core/NetworkManager-all-sym.p/main.c.o -flto -Wl,--as-needed -Wl,--no-undefined -Wl,--whole-archive -Wl,--start-group src/core/libNetworkManager.a src/core/libNetworkManagerBase.a src/libnm-core-aux-intern/libnm-core-aux-intern.a src/libnm-core-impl/libnm-core-impl.a src/libnm-crypto/libnm-crypto.a src/libnm-lldp/libnm-lldp.a src/libnm-platform/libnm-platform.a src/libnm-base/libnm-base.a src/libnm-log-core/libnm-log-core.a src/libnm-udev-aux/libnm-udev-aux.a src/libnm-glib-aux/libnm-glib-aux.a src/libnm-std-aux/libnm-std-aux.a src/libn-acd.a src/libn-dhcp4.a src/libc-rbtree.a src/libc-siphash.a -Wl,--no-whole-archive -flto-partition=none -O3 -march=znver3 -pipe -Wno-incompatible-function-pointer-types -Wl,-O1 -Wl,--as-needed src/libnm-systemd-core/libnm-systemd-core.a src/libnm-systemd-shared/libnm-systemd-shared.a src/libnm-crypto/libnm-crypto-nss.a -Wl,--no-gc-sections /usr/lib64/libgio-2.0.so /usr/lib64/libglib-2.0.so /usr/lib64/libgobject-2.0.so -Wl,--export-dynamic /usr/lib64/libgmodule-2.0.so -pthread -ldl /usr/lib64/libndp.so /usr/lib64/libudev.so /usr/lib64/libsystemd.so /usr/lib64/libcurl.so /usr/lib64/libuuid.so /usr/lib64/libssl3.so /usr/lib64/libsmime3.so /usr/lib64/libnss3.so /usr/lib64/libnssutil3.so /usr/lib64/libplds4.so /usr/lib64/libplc4.so /usr/lib64/libnspr4.so -Wl,--end-group In function ‘explicit_bzero’, inlined from ‘nm_explicit_bzero’ at ../NetworkManager-1.44.2/src/libnm-glib-aux/nm-secret-utils.c:27:5, inlined from ‘nm_explicit_bzero’ at ../NetworkManager-1.44.2/src/libnm-glib-aux/nm-secret-utils.c:18:1, inlined from ‘nm_str_buf_set_size’ at ../NetworkManager-1.44.2/src/libnm-glib-aux/nm-str-buf.h:137:13, inlined from ‘nm_utils_fd_read’ at ../NetworkManager-1.44.2/src/libnm-glib-aux/nm-io-utils.c:586:9: /usr/include/bits/string_fortified.h:72:3: warning: ‘__explicit_bzero_chk’ specified size between 9223372036854775809 and 18446744073709551615 exceeds maximum object size 9223372036854775807 [-Wstringop-overflow=] 72 | __explicit_bzero_chk (__dest, __len, __glibc_objsize0 (__dest)); | ^ In function ‘nm_str_buf_set_size’, inlined from ‘nm_utils_fd_read’ at ../NetworkManager-1.44.2/src/libnm-glib-aux/nm-io-utils.c:586:9: ../NetworkManager-1.44.2/src/libnm-glib-aux/nm-str-buf.h:137:38: note: destination object allocated here 137 | nm_explicit_bzero(&strbuf->_priv_str[new_len], strbuf->_priv_len - new_len); | ^ /usr/include/bits/string_fortified.h: In function ‘nm_utils_fd_read’: /usr/include/bits/string_fortified.h:66:6: note: in a call to function ‘__explicit_bzero_chk’ declared with attribute ‘access (write_only, 1, 2)’ 66 | void __explicit_bzero_chk (void *__dest, size_t __len, size_t __destlen) | ^ In function ‘explicit_bzero’, inlined from ‘nm_explicit_bzero’ at ../NetworkManager-1.44.2/src/libnm-glib-aux/nm-secret-utils.c:27:5, inlined from ‘nm_explicit_bzero’ at ../NetworkManager-1.44.2/src/libnm-glib-aux/nm-secret-utils.c:18:1, inlined from ‘nm_str_buf_set_size’ at ../NetworkManager-1.44.2/src/libnm-glib-aux/nm-str-buf.h:137:13, inlined from ‘nm_utils_fd_read’ at ../NetworkManager-1.44.2/src/libnm-glib-aux/nm-io-utils.c:586:9, inlined from ‘helper_have_err_data’ at ../NetworkManager-1.44.2/src/core/nm-core-utils.c:5053:14: /usr/include/bits/string_fortified.h:72:3: warning: ‘__explicit_bzero_chk’ specified size between 9223372036854775809 and 18446744073709551615 exceeds maximum object size 9223372036854775807 [-Wstringop-overflow=] 72 | __explicit_bzero_chk (__dest, __len, __glibc_objsize0 (__dest)); | ^ In function ‘nm_str_buf_set_size’, inlined from ‘nm_utils_fd_read’ at ../NetworkManager-1.44.2/src/libnm-glib-aux/nm-io-utils.c:586:9, inlined from ‘helper_have_err_data’ at ../NetworkManager-1.44.2/src/core/nm-core-utils.c:5053:14: ../NetworkManager-1.44.2/src/libnm-glib-aux/nm-str-buf.h:137:38: note: destination object allocated here 137 | nm_explicit_bzero(&strbuf->_priv_str[new_len], strbuf->_priv_len - new_len); | ^ /usr/include/bits/string_fortified.h: In function ‘helper_have_err_data’: /usr/include/bits/string_fortified.h:66:6: note: in a call to function ‘__explicit_bzero_chk’ declared with attribute ‘access (write_only, 1, 2)’ 66 | void __explicit_bzero_chk (void *__dest, size_t __len, size_t __destlen) | ^ Reproducible: Always
Created attachment 872119 [details] Full-Build-Log
Created attachment 872120 [details] emerge-info
USE=-vala is a workaround.
(In reply to Nick Wallingford from comment #3) > USE=-vala is a workaround. Thanks, it's working for me now
I don't see how this could fail, and without really telling about the actual failure. Here it works fine, but has a lot of warnings of this kind: NM-1.0.metadata:124.69-125.12: warning: argument never used Same vala version and everything. Could you try to get to the failure again, cd into the build directory and run the vapigen-0.56 command manually. Perhaps it gives more details. If not, check `echo $?` right after for the exit code. If fails, try adding --disable-warnings to rule out the warnings I see making it fail for you instead for some reason, etc.
(In reply to Mart Raudsepp from comment #5) > I don't see how this could fail, and without really telling about the actual > failure. > Here it works fine, but has a lot of warnings of this kind: > NM-1.0.metadata:124.69-125.12: warning: argument never used > > Same vala version and everything. > > Could you try to get to the failure again, cd into the build directory and > run the vapigen-0.56 command manually. Perhaps it gives more details. If > not, check `echo $?` right after for the exit code. If fails, try adding > --disable-warnings to rule out the warnings I see making it fail for you > instead for some reason, etc. Just encountered the same error, well it was on step 807/829, but error seems the same. When I cd to the work directory: > cd /var/tmp/portage/net-misc/networkmanager-1.44.2/work/NetworkManager-1.44.2-abi_x86_64.amd64/ And launch the vapigen-0.56, by simply copying the line before it FAILED: > /usr/bin/vapigen-0.56 --quiet --library=libnm --directory=/var/tmp/portage/net-misc/networkmanager-1.44.2/work/NetworkManager-1.44.2-abi_x86_64.amd64/vapi --pkg=gio-2.0 --metadatadir=/var/tmp/portage/net-misc/networkmanager-1.44.2/work/NetworkManager-1.44.2/vapi /var/tmp/portage/net-misc/networkmanager-1.44.2/work/NetworkManager-1.44.2-abi_x86_64.amd64/src/libnm-client-impl/NM-1.0.gir I get this result: > Neoprávněný přístup do paměti (SIGSEGV) (core dumped [obraz paměti uložen]) In english: > Unprivileged access to memory (SIGSEGV) (core dumped [memory saved]) echo $? returns: 139 Should I try anything else? Thanks, Regards, Petr Sourek
Could you get a backtrace of the crash? Should be simple if you have coredumpctl, as a core dump will be saved automatically and then you can process that. Might need to rebuild used vala slot with some debug symbols though. https://wiki.gentoo.org/wiki/Project:Quality_Assurance/Backtraces might help further on how to get one.
https://wiki.gentoo.org/wiki/Debugging#Per-package is a bit friendlier too
looks like q66 hit this too: https://gitlab.gnome.org/GNOME/vala/-/issues/1485
Was NM 1.44.0 failing too or not, btw?
For me, net-misc/networkmanager-1.44.0-r1 compiles with USE="vala", net-misc/networkmanager-1.44.2 fails. I've tried looking for their differences but I'm unable to make sense of them. $ /usr/bin/vapigen-0.56 --library=libnm --directory=/var/tmp/portage/net-misc/networkmanager-1.44.2/work/NetworkManager-1.44.2-abi_x86_64.amd64/vapi --pkg=gio-2.0 --metadatadir=/var/tmp/portage/net-misc/networkmanager-1.44.2/work/NetworkManager-1.44.2/vapi /var/tmp/portage/net-misc/networkmanager-1.44.2/work/NetworkManager-1.44.2-abi_x86_64.amd64/src/libnm-client-impl/NM-1.0.gir Segmentation fault (core dumped) $ /usr/bin/vapigen-0.56 --library=libnm --directory=/var/tmp/portage/net-misc/networkmanager-1.44.0-r1/work/NetworkManager-1.44.0-abi_x86_64.amd64/vapi --pkg=gio-2.0 --metadatadir=/var/tmp/portage/net-misc/networkmanager-1.44.0-r1/work/NetworkManager-1.44.0/vapi /var/tmp/portage/net-misc/networkmanager-1.44.0-r1/work/NetworkManager-1.44.0-abi_x86_64.amd64/src/libnm-client-impl/NM-1.0.gir NM-1.0.metadata:21.69-22.13: warning: argument never used 21 | SETTING_BOND_PORT_* parent="NM.SettingBondPort" name="SETTING_BOND_PORT_(.+)" | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 22 | SETTING_BOND_* parent="NM.SettingBond" name="SETTING_BOND_(.+)" | ~~~~~~~~~~~~~ -------------------------- and so on up to ------------------------ NM-1.0.metadata:135.29-135.72: warning: argument never used 135 | DEVICE_WPAN_* parent="NM.DeviceWpan" name="DEVICE_WPAN_(.+)" | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Generation succeeded - 66 warning(s) So I've tried to use the NM-1.0.gir of 1.44.0-r1 with all the other parameters of 1.44.2: $ /usr/bin/vapigen-0.56 --library=libnm --directory=/var/tmp/portage/net-misc/networkmanager-1.44.2/work/NetworkManager-1.44.2-abi_x86_64.amd64/vapi --pkg=gio-2.0 --metadatadir=/var/tmp/portage/net-misc/networkmanager-1.44.2/work/NetworkManager-1.44.2/vapi /var/tmp/portage/net-misc/networkmanager-1.44.0-r1/work/NetworkManager-1.44.0-abi_x86_64.amd64/src/libnm-client-impl/NM-1.0.gir NM-1.0.metadata:21.69-22.13: warning: argument never used 21 | SETTING_BOND_PORT_* parent="NM.SettingBondPort" name="SETTING_BOND_PORT_(.+)" | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 22 | SETTING_BOND_* parent="NM.SettingBond" name="SETTING_BOND_(.+)" | ~~~~~~~~~~~~~ ------------------------------ and so on up to ---------------------------- NM-1.0.metadata:135.29-135.72: warning: argument never used 135 | DEVICE_WPAN_* parent="NM.DeviceWpan" name="DEVICE_WPAN_(.+)" | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Generation succeeded - 66 warning(s) This is not much surprising, so what are the differences between thos two .gir files? $ diff /var/tmp/portage/net-misc/networkmanager-1.44.0-r1/work/NetworkManager-1.44.0-abi_x86_64.amd64/src/libnm-client-impl/NM-1.0.gir /var/tmp/portage/net-misc/networkmanager-1.44.2/work/NetworkManager-1.44.2-abi_x86_64.amd64/src/libnm-client-impl/NM-1.0.gir 28141c28141 < <constant name="MICRO_VERSION" value="0" c:type="NM_MICRO_VERSION"> --- > <constant name="MICRO_VERSION" value="2" c:type="NM_MICRO_VERSION"> 50646,50647c50646,50648 < line="730">How many additional levels of encapsulation are permitted to be prepended < to packets. This property applies only to IPv6 tunnels. To disable this option, add %NM_IP_TUNNEL_FLAG_IP6_IGN_ENCAP_LIMIT to ip-tunnel flags.</doc> --- > line="741">How many additional levels of encapsulation are permitted to be prepended > to packets. This property applies only to IPv6 tunnels. To disable this option, > add %NM_IP_TUNNEL_FLAG_IP6_IGN_ENCAP_LIMIT to ip-tunnel flags.</doc> 50658c50659 < line="806">Tunnel flags. Currently, the following values are supported: --- > line="826">Tunnel flags. Currently, the following values are supported: 50673c50674 < line="749">The flow label to assign to tunnel packets. This property applies only to --- > line="769">The flow label to assign to tunnel packets. This property applies only to 50685c50686 < line="768">The fwmark value to assign to tunnel packets. This property can be set --- > line="788">The fwmark value to assign to tunnel packets. This property can be set 50697c50698 < line="698">The key used for tunnel input packets; the property is valid only for --- > line="709">The key used for tunnel input packets; the property is valid only for 50709c50710 < line="612">The local endpoint of the tunnel; the value can be empty, otherwise it --- > line="623">The local endpoint of the tunnel; the value can be empty, otherwise it 50721,50722c50722,50726 < line="593">The tunneling mode, for example %NM_IP_TUNNEL_MODE_IPIP or < %NM_IP_TUNNEL_MODE_GRE.</doc> --- > line="593">The tunneling mode. Valid values: %NM_IP_TUNNEL_MODE_IPIP, > %NM_IP_TUNNEL_MODE_GRE, %NM_IP_TUNNEL_MODE_SIT, %NM_IP_TUNNEL_MODE_ISATAP, > %NM_IP_TUNNEL_MODE_VTI, %NM_IP_TUNNEL_MODE_IP6IP6, %NM_IP_TUNNEL_MODE_IPIP6, > %NM_IP_TUNNEL_MODE_IP6GRE, %NM_IP_TUNNEL_MODE_VTI6, %NM_IP_TUNNEL_MODE_GRETAP > and %NM_IP_TUNNEL_MODE_IP6GRETAP</doc> 50733c50737 < line="787">If non-zero, only transmit packets of the specified size or smaller, --- > line="807">If non-zero, only transmit packets of the specified size or smaller, 50745c50749 < line="714">The key used for tunnel output packets; the property is valid only for --- > line="725">The key used for tunnel output packets; the property is valid only for 50770c50774 < line="682">Whether to enable Path MTU Discovery on this tunnel.</doc> --- > line="693">Whether to enable Path MTU Discovery on this tunnel.</doc> 50781c50785 < line="628">The remote endpoint of the tunnel; the value must contain an IPv4 or IPv6 --- > line="639">The remote endpoint of the tunnel; the value must contain an IPv4 or IPv6 50793c50797 < line="663">The type of service (IPv4) or traffic class (IPv6) field to be set on --- > line="674">The type of service (IPv4) or traffic class (IPv6) field to be set on 50805c50809 < line="644">The TTL to assign to tunneled packets. 0 is a special value meaning that --- > line="655">The TTL to assign to tunneled packets. 0 is a special value meaning that These differences look rather innocent, perhaps with the exception of 50721,50722c50722,50726 < line="593">The tunneling mode, for example %NM_IP_TUNNEL_MODE_IPIP or < %NM_IP_TUNNEL_MODE_GRE.</doc> --- > line="593">The tunneling mode. Valid values: %NM_IP_TUNNEL_MODE_IPIP, > %NM_IP_TUNNEL_MODE_GRE, %NM_IP_TUNNEL_MODE_SIT, %NM_IP_TUNNEL_MODE_ISATAP, > %NM_IP_TUNNEL_MODE_VTI, %NM_IP_TUNNEL_MODE_IP6IP6, %NM_IP_TUNNEL_MODE_IPIP6, > %NM_IP_TUNNEL_MODE_IP6GRE, %NM_IP_TUNNEL_MODE_VTI6, %NM_IP_TUNNEL_MODE_GRETAP > and %NM_IP_TUNNEL_MODE_IP6GRETAP</doc> so I've tried to copy the NM-1.0.gir file of 1.44.2 to NM-1.0b.gir, edit it a bit, just delete one line of the long list, and use it: $ diff /var/tmp/portage/net-misc/networkmanager-1.44.2/work/NetworkManager-1.44.2-abi_x86_64.amd64/src/libnm-client-impl/NM-1.0.gir /var/tmp/portage/net-misc/networkmanager-1.44.2/work/NetworkManager-1.44.2-abi_x86_64.amd64/src/libnm-client-impl/NM-1.0b.gir 50725d50724 < %NM_IP_TUNNEL_MODE_IP6GRE, %NM_IP_TUNNEL_MODE_VTI6, %NM_IP_TUNNEL_MODE_GRETAP $ /usr/bin/vapigen-0.56 --library=libnm --directory=/var/tmp/portage/net-misc/networkmanager-1.44.2/work/NetworkManager-1.44.2-abi_x86_64.amd64/vapi --pkg=gio-2.0 --metadatadir=/var/tmp/portage/net-misc/networkmanager-1.44.2/work/NetworkManager-1.44.2/vapi /var/tmp/portage/net-misc/networkmanager-1.44.2/work/NetworkManager-1.44.2-abi_x86_64.amd64/src/libnm-client-impl/NM-1.0b.gir NM-1.0b.gir:3199.7-3199.64: error: `Client' already contains a definition for `.new' 3199 | <function name="new_async" c:identifier="nm_client_new_async"> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ NM-1.0b.gir:3120.7-3120.43: note: previous definition of `.new' was here 3120 | <constructor name="new" c:identifier="nm_client_new" throws="1"> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ NM-1.0b.gir:68039.7-68039.19: warning: Virtual method `NM.VpnEditorPlugin.get_vt' conflicts with method of the same name 68039 | <virtual-method name="get_vt"> | ^~~~~~~~~~~~~ Generation failed: 1 error(s), 1 warning(s) No segmentation fault now, but vapigen fails anyway, moreover complaining of new and new_async being the same name. Just to check the part of NM-1.0.gir, apparently causing this error, is the same in 1.44.2 and 1.44.0-r1: $ grep nm_client_new /var/tmp/portage/net-misc/networkmanager-1.44.0-r1/work/NetworkManager-1.44.0-abi_x86_64.amd64/src/libnm-client-impl/NM-1.0.gir <constructor name="new" c:identifier="nm_client_new" throws="1"> using g_async_initable_init_async() or nm_client_new_async() instead. c:identifier="nm_client_new_finish" line="7979">Gets the result of an nm_client_new_async() call.</doc> <function name="new_async" c:identifier="nm_client_new_async"> nm_client_new_finish() to get the result. $ grep nm_client_new /var/tmp/portage/net-misc/networkmanager-1.44.2/work/NetworkManager-1.44.2-abi_x86_64.amd64/src/libnm-client-impl/NM-1.0.gir <constructor name="new" c:identifier="nm_client_new" throws="1"> using g_async_initable_init_async() or nm_client_new_async() instead. c:identifier="nm_client_new_finish" line="7979">Gets the result of an nm_client_new_async() call.</doc> <function name="new_async" c:identifier="nm_client_new_async"> nm_client_new_finish() to get the result. And if I replace the one supposedly problematic part of NM-1.0.gir of 1.44.2 completely with the respective part of that of 1.44.0-r1? The same result: $ diff /var/tmp/portage/net-misc/networkmanager-1.44.2/work/NetworkManager-1.44.2-abi_x86_64.amd64/src/libnm-client-impl/NM-1.0.gir /var/tmp/portage/net-misc/networkmanager-1.44.2/work/NetworkManager-1.44.2-abi_x86_64.amd64/src/libnm-client-impl/NM-1.0b.gir 50722,50726c50722,50723 < line="593">The tunneling mode. Valid values: %NM_IP_TUNNEL_MODE_IPIP, < %NM_IP_TUNNEL_MODE_GRE, %NM_IP_TUNNEL_MODE_SIT, %NM_IP_TUNNEL_MODE_ISATAP, < %NM_IP_TUNNEL_MODE_VTI, %NM_IP_TUNNEL_MODE_IP6IP6, %NM_IP_TUNNEL_MODE_IPIP6, < %NM_IP_TUNNEL_MODE_IP6GRE, %NM_IP_TUNNEL_MODE_VTI6, %NM_IP_TUNNEL_MODE_GRETAP < and %NM_IP_TUNNEL_MODE_IP6GRETAP</doc> --- > line="593">The tunneling mode, for example %NM_IP_TUNNEL_MODE_IPIP or > %NM_IP_TUNNEL_MODE_GRE.</doc> $ /usr/bin/vapigen-0.56 --library=libnm --directory=/var/tmp/portage/net-misc/networkmanager-1.44.2/work/NetworkManager-1.44.2-abi_x86_64.amd64/vapi --pkg=gio-2.0 --metadatadir=/var/tmp/portage/net-misc/networkmanager-1.44.2/work/NetworkManager-1.44.2/vapi /var/tmp/portage/net-misc/networkmanager-1.44.2/work/NetworkManager-1.44.2-abi_x86_64.amd64/src/libnm-client-impl/NM-1.0b.gir NM-1.0b.gir:3199.7-3199.64: error: `Client' already contains a definition for `.new' 3199 | <function name="new_async" c:identifier="nm_client_new_async"> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ NM-1.0b.gir:3120.7-3120.43: note: previous definition of `.new' was here 3120 | <constructor name="new" c:identifier="nm_client_new" throws="1"> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ NM-1.0b.gir:68037.7-68037.19: warning: Virtual method `NM.VpnEditorPlugin.get_vt' conflicts with method of the same name 68037 | <virtual-method name="get_vt"> | ^~~~~~~~~~~~~ Generation failed: 1 error(s), 1 warning(s) Beats me.
And one more puzzle: the segmentation fault apparently happens when vapigen is parsing a part of NM-1.0.gir that is identical between net-misc/networkmanager-1.44.2 and 1.44.0-r1: $ gdb --args /usr/bin/vapigen-0.56 --library=libnm --directory=/var/tmp/portage/net-misc/networkmanager-1.44.2/work/NetworkManager-1.44.2-abi_x86_64.amd64/vapi --pkg=gio-2.0 --metadatadir=/var/tmp/portage/net-misc/networkmanager-1.44.2/work/NetworkManager-1.44.2/vapi /var/tmp/portage/net-misc/networkmanager-1.44.2/work/NetworkManager-1.44.2-abi_x86_64.amd64/src/libnm-client-impl/NM-1.0.gir GNU gdb (Gentoo 13.2 vanilla) 13.2 Copyright (C) 2023 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-pc-linux-gnu". Type "show configuration" for configuration details. For bug reporting instructions, please see: <https://bugs.gentoo.org/>. 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 /usr/bin/vapigen-0.56... Reading symbols from /usr/lib/debug//usr/bin/vapigen-0.56.debug... (gdb) run Starting program: /usr/bin/vapigen-0.56 --library=libnm --directory=/var/tmp/portage/net-misc/networkmanager-1.44.2/work/NetworkManager-1.44.2-abi_x86_64.amd64/vapi --pkg=gio-2.0 --metadatadir=/var/tmp/portage/net-misc/networkmanager-1.44.2/work/NetworkManager-1.44.2/vapi /var/tmp/portage/net-misc/networkmanager-1.44.2/work/NetworkManager-1.44.2-abi_x86_64.amd64/src/libnm-client-impl/NM-1.0.gir [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib64/libthread_db.so.1". Program received signal SIGSEGV, Segmentation fault. 0x00007ffff7b72940 in ?? () from /lib64/libc.so.6 (gdb) bt #0 0x00007ffff7b72940 in () at /lib64/libc.so.6 #1 0x00007ffff7e80c69 in vala_markup_reader_text (self=self@entry=0x55555707b550 [ValaMarkupReader], end_char=end_char@entry=60 '<', rm_trailing_whitespace=rm_trailing_whitespace@entry=1) at valamarkupreader.c:996 #2 0x00007ffff7e81dfb in vala_markup_reader_read_token (self=0x55555707b550 [ValaMarkupReader], token_begin=token_begin@entry=0x7fffffffd1b0, token_end=token_end@entry=0x7fffffffd1c0) at valamarkupreader.c:899 #3 0x00007ffff7e32e0e in vala_gir_parser_next (self=0x555557077a00 [ValaGirParser]) at valagirparser.c:1486 #4 0x00007ffff7e35f63 in vala_gir_parser_parse_symbol_doc (self=self@entry=0x555557077a00 [ValaGirParser]) at valagirparser.c:5218 #5 0x00007ffff7e39cf0 in vala_gir_parser_parse_symbol_doc (self=0x555557077a00 [ValaGirParser]) at valagirparser.c:5200 #6 vala_gir_parser_parse_function (self=0x555557077a00 [ValaGirParser], element_name=0x7ffff7f29a16 "method") at valagirparser.c:8288 #7 0x00007ffff7e442be in vala_gir_parser_parse_signal (self=0x555557077a00 [ValaGirParser]) at valagirparser.c:9552 #8 vala_gir_parser_parse_class (self=0x555557077a00 [ValaGirParser]) at valagirparser.c:7622 #9 vala_gir_parser_parse_namespace (self=<optimized out>) at valagirparser.c:4907 #10 0x00007ffff7e4a868 in vala_gir_parser_parse_repository (self=0x555557077a00 [ValaGirParser]) at valagirparser.c:3682 #11 vala_gir_parser_parse_file (self=0x555557077a00 [ValaGirParser], source_file=<optimized out>) at valagirparser.c:1466 #12 0x00007ffff7dfddb1 in vala_code_context_accept (self=self@entry=0x555555597550 [ValaCodeContext], visitor=visitor@entry=0x555557077a00 [ValaGirParser]) at valacodecontext.c:2012 #13 0x00007ffff7e49e63 in vala_gir_parser_parse (self=self@entry=0x555557077a00 [ValaGirParser], context=<optimized out>) at valagirparser.c:1004 #14 0x000055555555f200 in vala_vapi_gen_run (self=0x5555555972a0 [ValaVAPIGen]) at valavapigen.c:620 #15 vala_vapi_gen_main (args_length1=<optimized out>, args=<optimized out>) at valavapigen.c:940 #16 main (argc=<optimized out>, argv=<optimized out>) at valavapigen.c:949 (gdb) frame level 1 #1 0x00007ffff7e80c69 in vala_markup_reader_text ( self=self@entry=0x55555707b550 [ValaMarkupReader], end_char=end_char@entry=60 '<', rm_trailing_whitespace=rm_trailing_whitespace@entry=1) at valamarkupreader.c:996 996 if (g_str_has_prefix ((const gchar*) _tmp12_, "amp;")) { (gdb) list 991 gchar* _tmp11_; 992 gchar* _tmp12_; 993 _tmp11_ = self->priv->current; 994 next_pos = _tmp11_ + g_unichar_to_utf8 (u, NULL); 995 _tmp12_ = next_pos; 996 if (g_str_has_prefix ((const gchar*) _tmp12_, "amp;")) { 997 GString* _tmp13_; 998 gchar* _tmp14_; 999 gchar* _tmp15_; 1000 gchar* _tmp16_; (gdb) print _tmp12_ $1 = (gchar *) 0x7fffe9e3cef3 "lt;literal>NM_IS_DEVICE_XXXX</literal> functions to determine what kind of\ndevice member of the returned array is, and then you may use device-specific\nmethods such as nm_device_ethernet_get_"... (gdb) Laugh if you can.
The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6c5ae9d7ce624ce57d6c05104ddee43f4d7d0387 commit 6c5ae9d7ce624ce57d6c05104ddee43f4d7d0387 Author: Guillermo Joandet <gjoandet@gmail.com> AuthorDate: 2023-11-13 12:36:30 +0000 Commit: Sam James <sam@gentoo.org> CommitDate: 2023-11-14 02:21:47 +0000 dev-lang/vala: Version bump to 0.56.14 Closes: https://bugs.gentoo.org/915156 Signed-off-by: Guillermo Joandet <gjoandet@gmail.com> Signed-off-by: Sam James <sam@gentoo.org> dev-lang/vala/Manifest | 1 + dev-lang/vala/vala-0.56.14.ebuild | 48 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 49 insertions(+)