Re: pkg/59808 (random python3 process crashes in NetBSD VMs)

Taylor R Campbell <[email protected]>
Newsgroups gmane.os.netbsd.devel.pkgsrc.bugs
Message-ID <[email protected]>
> Date: Sun, 30 Nov 2025 16:59:09 +0100
> From: [email protected]
> 
> > Is there any output you can share?  Is there a core dump?
> 
> Currently I don't have anything more. It's hard to debug on the github 
> runners, but I can also run a netbsd vagrant virtualbox VM locally and 
> reproduce if you like.
> 
> I am not really familiar with NetBSD. I just want to make sure that 
> borgbackup runs well on this platform, but I am no (real) user myself.
> 
> So, can you tell me what to look for, how and where?

I think the next diagnostics are likely to be more about the
borgbackup or tox test harness than about NetBSD, and how they handle
a process crashing generally.

- Is there stdout/stderr stored anywhere?

- Did the parent process determine it terminated on a signal, and if
  so, what signal, and did it dump core?

  (These are standard Unix questions answered by the wait family of
  system calls and associated predicates WIFSIGNALED, WTERMSIG,
  WCOREDUMP -- nothing different about NetBSD.)

- Can you find a core dump?

  By default, it will be called %n.core where %n is the program name,
  and it will appear in the process's working directory -- unless it's
  run from a set-user-id or set-group-id executable, in which case a
  core dump will go in /var/crash but only if you set the sysctl knob
  kern.coredump.setid.dump=1.

  (See `sysctl kern.defcorename' and `sysctl kern.coredump' for all
  the parameters.  Enable setid core dumps with `sysctl -w
  kern.coredump.setid.dump=1', though I doubt you're using any setid
  processes.  More information:
  https://man.NetBSD.org/NetBSD-10.1/core.5,
  https://man.NetBSD.org/NetBSD-10.1/sysctl.7)

  If you can find a core dump, and it's (say) from a program called
  /usr/pkg/bin/foo, can you get a stack trace out of gdb?

  # gdb /usr/pkg/bin/foo /path/to/foo.core
  (gdb) bt
  (gdb) info registers
  (gdb) frame apply all info locals

- If it terminated on a signal but there's no core dump: Are you
  running with any resource limits (getrlimit/setrlimit, or the shell
  ulimit builtin -- all standard POSIX) that prevent core dumps, or
  are you running a set-user-id or set-group-id executable?

- Is there any relevant output in `dmesg'?  It might say whether a
  core was dumped, in case the parent process ignores that
  information.

I ran the test suite three times in a VM by loosely following the
instructions at
https://github.com/borgbackup/borg/blob/9a0122995c32aa657a2b1cac7a015cec6d1a89ab/.github/workflows/ci.yml#L432-L468
but so far I haven't seen any crashes.  Takes about an hour to run;
how often do the crashes occur?
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.