Subject: bug#74907: 31.0.50; nsm-check-local-subnet-ipv4 test fails on macOS with VPN enabled

From: Stefan Kangas <[email-masked]>
Date: Mon, 16 Dec 2024 02:03:53 +0000

I see the below test failure when running with a VPN enabled on macOS.
It fails predictably every time, but when I disable the VPN, the test
passes.

Looking into it, it seems like it's this call that leads to the
backtrace:

    (nsm-should-check "localhost")

However, when edebugging `nsm-should-check` and step through the code, I
do not get a backtrace, and it correctly returns t.

Any ideas for how to continue debugging this?

Running 2 tests (2024-12-16 02:41:49+0100, selector ‘(not (or (tag
:expensive-test) (tag :unstable) (tag :nativecomp)))’)
Test nsm-check-local-subnet-ipv4 backtrace:
  signal(wrong-type-argument (arrayp (0 . [0 0 255 0 0 0 16 2 0 0 10 1
  signal(wrong-type-argument (arrayp (0 . [0 0 255 0 0 0 16 2 0 0 10 1
  apply(signal (wrong-type-argument (arrayp (0 . [0 0 255 0 0 0 16 2 0
  #f(compiled-function () #<bytecode 0xb0a4a42ef70c609>)()
  #f(compiled-function () #<bytecode 0x14ecd754278a5065>)()
  handler-bind-1(#f(compiled-function () #<bytecode 0x14ecd754278a5065
  ert--run-test-internal(#s(ert--test-execution-info :test #s(ert-test
  ert-run-test(#s(ert-test :name nsm-check-local-subnet-ipv4 :document
  ert-run-or-rerun-test(#s(ert--stats :selector (not (or (tag :expensi
  ert-run-tests((not (or (tag :expensive-test) (tag :unstable) (tag :n
  ert-run-tests-batch((not (or (tag :expensive-test) (tag :unstable) (
  ert-run-tests-batch-and-exit((not (or (tag :expensive-test) (tag :un
  eval((ert-run-tests-batch-and-exit '(not (or (tag :expensive-test) (
  command-line-1(("-L" ":." "-l" "ert" "--eval" "(setq treesit-extra-l
  command-line()
  normal-top-level()
Test nsm-check-local-subnet-ipv4 condition:
    (wrong-type-argument arrayp (0 . [0 0 255 0 0 0 16 2 0 0 ...]))
   FAILED  1/2  nsm-check-local-subnet-ipv4 (0.021312 sec) at
lisp/net/nsm-tests.el:30
  skipped  2/2  nsm-check-local-subnet-ipv6 (0.000127 sec)

Ran 2 tests, 0 results as expected, 1 unexpected, 1 skipped
(2024-12-16 02:41:49+0100, 0.108002 sec)

1 unexpected results:
   FAILED  nsm-check-local-subnet-ipv4

1 skipped results:
  SKIPPED  nsm-check-local-subnet-ipv6

In GNU Emacs 31.0.50 (build 17, aarch64-apple-darwin24.1.0, NS
 appkit-2575.20 Version 15.1.1 (Build 24B91)) of 2024-12-16 built on
 foo.local
Repository revision: 29058579e9f27872d47e9d5146dfd9ce79697a0d
Repository branch: master
Windowing system distributor 'Apple', version 10.3.2575
System Description:  macOS 15.1.1

Configured using:
 'configure --without-dbus'