Bug 267193 - devel/gettext-tools: msgmerge -q /dev/null /dev/null hangs uninterruptedly on amd64 in kvm
Summary: devel/gettext-tools: msgmerge -q /dev/null /dev/null hangs uninterruptedly on...
Status: Open
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: amd64 Any
: --- Affects Some People
Assignee: freebsd-virtualization (Nobody)
URL:
Keywords: needs-qa
Depends on:
Blocks:
 
Reported: 2022-10-19 05:41 UTC by Elizabeth Myers
Modified: 2023-06-12 06:46 UTC (History)
4 users (show)

See Also:
koobs: maintainer-feedback? (elizabeth.jennifer.myers)
koobs: maintainer-feedback? (tijl)


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Elizabeth Myers 2022-10-19 05:41:19 UTC
Hi,

On FreeBSD 13.1, msgmerge -q /dev/null /dev/null hangs in amd64 in KVM. Signals do not do anything, not even SIGKILL. Rebuilding the port or using the one from pkg makes no difference.

The only weird thing about my setup is that I am using 12 cores in the VM and 32GB of RAM. Other than that, it's a totally normal setup and relatively unmodified.

I don't know how to debug this issue further on my end, but I would be happy to help. I have a feeling this is a bug more with the system than with msgmerge itself, but I have no proof of that.

Thank you for your consideration.
Comment 1 Kubilay Kocak freebsd_committer freebsd_triage 2022-11-09 23:01:12 UTC
^Triage: devel/gettext-tools maintainer re-assigned to virtualization@ (nobody), this issue will be difficult to progress without a coordinator / someone to assist in isolation.


In the absence of positive evidence of a root cause in base, the component as reported (devel/gettext-tools) is more appropriate until we have that. If and when we have that, we can create a dependent base issue to track resolution there.

As far as additional information / debugging that might help isolate, things I can think of:

- Assuming 'KVM' means this is a FreeBSD guest on another OS, full details of the host system / environment

- run msgmerge under truss, and providing that trace log as an attachment, which might provide some hints as to whats going on.

- test msgmerge under latest 12.4-RELEASE and 14-CURRENT images, to see if and how behaviour differs.

- provide a full `pkg version -v` output (as an attachment), of the software versions necessary in the reproduction case

- provide a full /var/run/dmesg.boot (as an attachment), of the system details of the reproduction case

@Tijl As maintainer, we'd appreciate any assistance/clues/advice to help progress the issue. Can you think of any other things that might be handy to isolate?
Comment 2 Tijl Coosemans freebsd_committer freebsd_triage 2022-11-10 09:54:40 UTC
(In reply to Kubilay Kocak from comment #1)
I can't add anything to what you've already said.  I looked at the code and didn't see anything special.  -q means no output to stderr.  And both /dev/null are opened with fopen("/dev/null", "r"), read with getc (which returns EOF), and closed with fclose.  Because the result is empty no output file is opened.
Comment 3 markus 2023-02-03 13:00:59 UTC
I ran into the exact same problem. Poudriere on an 13.1 VM on a KVM similar hypervisor. No matter wich port I try to build, if NLS option is enbaled and the configure process checks for msgmerge, the process hangs.

I reconfigured the chipset in die VM (to I440FX instead of Q35) and now everything works.
Comment 4 Zeus Panchenko 2023-06-12 05:37:48 UTC
same for me
13.1 and 13.2 on Hetzner AMD VMs causes exactly same behavior and switching to Intel VM solved everything ...


> truss -f -d -s 400 /usr/local/bin/msgmerge --update -q /dev/null /dev/null
...
69098: 0.021860797 sigprocmask(SIG_SETMASK,{ },0x0) = 0 (0x0)
69098: 0.021970072 sigprocmask(SIG_SETMASK,{ SIGHUP|SIGINT|SIGQUIT|SIGILL|SIGTRAP|SIGABRT|SIGEMT|SIGFPE|SIGKILL|SIGBUS|SIGSEGV|SIGSYS|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTSTP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF|SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2 },{ }) = 0 (0x0)
69098: 0.022076361 sigaction(SIGPIPE,0x0,{ SIG_DFL SA_RESTART ss_t }) = 0 (0x0)
69098: 0.022158451 sigprocmask(SIG_SETMASK,{ },0x0) = 0 (0x0)
69098: 0.022254249 cpuset_getaffinity(0x3,0x1,0xffffffffffffffff,0x20,0x800e1a140) = 0 (0x0)
69098: 0.022351039 cpuset_getaffinity(0x3,0x1,0xffffffffffffffff,0x20,0x800e1a1c0) = 0 (0x0)
69098: 0.022462919 cpuset_setaffinity(0x3,0x1,0xffffffffffffffff,0x20,0x800e1a240) = 0 (0x0)