Bug 265351

Summary: emulators/virtualbox-ose update to 6.1.36 or greater
Product: Ports & Packages Reporter: Graham Perrin <grahamperrin>
Component: Individual Port(s)Assignee: Virtualbox Team (Nobody) <vbox>
Status: Closed FIXED    
Severity: Affects Some People CC: grahamperrin, madpilot, vvd
Priority: --- Flags: madpilot: maintainer-feedback+
madpilot: merge-quarterly+
Version: Latest   
Hardware: Any   
OS: Any   
See Also: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=266907
Bug Depends on: 265350    
Bug Blocks:    
Attachments:
Description Flags
Build log with freeze none

Description Graham Perrin freebsd_committer freebsd_triage 2022-07-21 05:30:24 UTC
6.1.36 (2022-07-19) is most recent, at the time of writing. 

<https://www.virtualbox.org/wiki/Changelog-6.1#v36>

Thanks
Comment 1 Guido Falsi freebsd_committer freebsd_triage 2022-07-21 08:30:32 UTC
I'm already working on this.

I have patches almost ready and will also include bug #261729 with the update.

While this update to VirtualBox is an easy one and no breakage came out in testing, please note that properly testing this port requires at least two days, also accounting for build time of it and its dependencies.
Comment 2 commit-hook freebsd_committer freebsd_triage 2022-07-21 09:00:24 UTC
A commit in branch main references this bug:

URL: https://cgit.FreeBSD.org/ports/commit/?id=99d29ee89f6962d13422b337386219898f3a090e

commit 99d29ee89f6962d13422b337386219898f3a090e
Author:     Guido Falsi <madpilot@FreeBSD.org>
AuthorDate: 2022-07-21 08:57:29 +0000
Commit:     Guido Falsi <madpilot@FreeBSD.org>
CommitDate: 2022-07-21 08:59:19 +0000

    emulators/virtualbox-ose: Update to 6.1.36

    Changelog: https://www.virtualbox.org/wiki/Changelog

    PR:             265351

 emulators/virtualbox-ose-additions/Makefile |  2 +-
 emulators/virtualbox-ose-additions/distinfo |  6 +++---
 emulators/virtualbox-ose-kmod/Makefile      |  3 +--
 emulators/virtualbox-ose-kmod/distinfo      |  6 +++---
 emulators/virtualbox-ose-nox11/Makefile     |  1 -
 emulators/virtualbox-ose/Makefile           |  3 +--
 emulators/virtualbox-ose/distinfo           | 10 +++++-----
 7 files changed, 14 insertions(+), 17 deletions(-)
Comment 3 Guido Falsi freebsd_committer freebsd_triage 2022-07-21 09:05:50 UTC
I'll also merge this update to quarterly due to the security advisories.
Comment 4 commit-hook freebsd_committer freebsd_triage 2022-07-21 09:09:27 UTC
A commit in branch 2022Q3 references this bug:

URL: https://cgit.FreeBSD.org/ports/commit/?id=06f83c2e2fcec6bb19876e22011834becc7cb25c

commit 06f83c2e2fcec6bb19876e22011834becc7cb25c
Author:     Guido Falsi <madpilot@FreeBSD.org>
AuthorDate: 2022-07-21 08:57:29 +0000
Commit:     Guido Falsi <madpilot@FreeBSD.org>
CommitDate: 2022-07-21 09:07:53 +0000

    emulators/virtualbox-ose: Update to 6.1.36

    Changelog: https://www.virtualbox.org/wiki/Changelog

    PR:             265351
    (cherry picked from commit 99d29ee89f6962d13422b337386219898f3a090e)

 emulators/virtualbox-ose-additions/Makefile |  2 +-
 emulators/virtualbox-ose-additions/distinfo |  6 +++---
 emulators/virtualbox-ose-kmod/Makefile      |  3 +--
 emulators/virtualbox-ose-kmod/distinfo      |  6 +++---
 emulators/virtualbox-ose-nox11/Makefile     |  1 -
 emulators/virtualbox-ose/Makefile           |  3 +--
 emulators/virtualbox-ose/distinfo           | 10 +++++-----
 7 files changed, 14 insertions(+), 17 deletions(-)
Comment 5 Guido Falsi freebsd_committer freebsd_triage 2022-07-21 09:09:48 UTC
Update committed and merged to quarterly. Thanks for reporting!
Comment 6 Graham Perrin freebsd_committer freebsd_triage 2022-07-22 02:16:57 UTC
(In reply to Guido Falsi from comment #5)

Thank you! 

Incidentally, I didn't intend to rush the update; I was advised that it's customary to have a separate and dependent bug for an update, where an update addresses a vulnerability.
Comment 7 Guido Falsi freebsd_committer freebsd_triage 2022-07-22 07:41:58 UTC
(In reply to Graham Perrin from comment #6)

Sorry, maybe my reply came out harsher than I intended. Maybe I misunderstood your message.

I felt the need to convey that even when an update works fine by just updating the PORTVERSION, it still requires some time for proper testing.

Anyway the update was already underway.
Comment 8 Vladimir Druzenko freebsd_committer freebsd_triage 2022-07-22 15:35:57 UTC
On 13.1 amd64 emulators/virtualbox-ose-additions build freezes on process "ar" if devel/nasm isn't installed.
Comment 9 Guido Falsi freebsd_committer freebsd_triage 2022-07-22 15:53:00 UTC
(In reply to VVD from comment #8)


Curiously enough this is not happening in poudriere, but the log has a line `nasm: not found` in it. It was difficult to spot though and not a critical error.

The freeze could be caused due to an interaction with some other port present on the system though.

Reopening this to address this issue, maybe adding nasm as a dependency would be correct, but I'd like to understand why it is required, or if it is optional.
Comment 10 Vladimir Druzenko freebsd_committer freebsd_triage 2022-07-22 16:42:17 UTC
Created attachment 235428 [details]
Build log with freeze

Guest 13.1 amd64.

Can't kill "ar -M" processes, can't kill build with Ctrl+C, nothing in /var/log/messages and in console, can't shutdown or reboot: "some processes would not die". But VM still work.

top show:
last pid: 12111;  load averages:  0,31,  0,86,  0,73                                                    up 0+02:03:07  19:13:25
53 processes:  2 running, 50 sleeping, 1 waiting
CPU 0:  0,0% user,  0,0% nice,  0,0% system,  0,0% interrupt,  100% idle
CPU 1:  0,0% user,  0,0% nice,  0,0% system,  0,0% interrupt,  100% idle
CPU 2:  0,0% user,  0,0% nice,  0,0% system,  0,0% interrupt,  100% idle
CPU 3:  0,0% user,  0,0% nice,  0,0% system,  0,0% interrupt,  100% idle
Mem: 92M Active, 172M Inact, 11M Laundry, 147M Wired, 33M Buf, 39M Free
Swap: 3716M Total, 1424K Used, 3714M Free

  PID USERNAME    THR PRI NICE   SIZE    RES STATE    C   TIME    WCPU COMMAND
   11 root          4 155 ki31     0B    64K CPU0     0 465:45 403,56% [idle]
    0 root         36 -16    -     0B   576K swapin   0   0:22   0,08% [kernel]
   15 root          1  16    -     0B    16K syncer   1   0:01   0,04% [syncer]
12111 root          1  20    0    14M  3340K CPU2     2   0:00   0,03% top -SPa
   12 root         14 -52    -     0B   224K WAIT     1   0:25   0,03% [intr]
 8544 root          7  52    0    27M  2932K sigwai   0   0:01   0,02% /usr/local/sbin/VBoxService
    7 root          3 -16    -     0B    48K psleep   3   0:05   0,02% [pagedaemon]
    6 root          1 -16    -     0B    16K -        1   0:02   0,02% [rand_harvestq]
 9249 root          1  20    0    21M  6804K select   0   0:01   0,01% sshd: root@pts/1 (sshd)
  396 root          1  20    0    11M   820K select   0   0:01   0,01% /sbin/devd
    9 root          5  20    -     0B    80K psleep   1   0:11   0,01% [bufdaemon]
  647 root          1  20    0    13M  1912K select   1   0:00   0,00% /usr/sbin/syslogd -ss
 8535 root          1 -20    -     0B    16K VBoxIS   3   0:00   0,00% [Timer]
   16 root          1  20    -     0B    16K vlruwt   0   0:00   0,00% [vnlru]
    4 root          2 -16    -     0B    32K -        2   0:15   0,00% [cam]
12045 root          1  21    0    36M    22M wdrain   1   0:09   0,00% ar -M
12043 root          1  21    0    36M    21M wdrain   2   0:08   0,00% ar -M
12044 root          1  21    0    36M    21M wdrain   0   0:08   0,00% ar -M

99 ports installed:
# pkg info -oa
atop-2.0.2.b3_3                sysutils/atop
autoconf-2.71                  devel/autoconf
autoconf-switch-20220527       devel/autoconf-switch
automake-1.16.5                devel/automake
bash-5.1.16                    shells/bash
bash-completion-2.11_1,2       shells/bash-completion
binutils-2.37_2,1              devel/binutils
bison-3.8.2,1                  devel/bison
bsdstats-7.0_2                 sysutils/bsdstats
ca_root_nss-3.80               security/ca_root_nss
check-0.15.2                   devel/check
cmake-3.23.2                   devel/cmake
cpuid-3.3_7                    misc/cpuid
cpuid-etallen-20211031         sysutils/cpuid
curl-7.84.0                    ftp/curl
dialog4ports-0.1.6_1           ports-mgmt/dialog4ports
expat-2.4.8                    textproc/expat2
gawk-5.1.1                     lang/gawk
gcc-11_4                       lang/gcc
gcc11-11.3.0                   lang/gcc11
gettext-runtime-0.21           devel/gettext-runtime
gettext-tools-0.21_1           devel/gettext-tools
gmake-4.3_2                    devel/gmake
gmp-6.2.1                      math/gmp
help2man-1.49.2                misc/help2man
icu-71.1,1                     devel/icu
indexinfo-0.3.1                print/indexinfo
iperf-2.1.7                    benchmarks/iperf
iperf3-3.11                    benchmarks/iperf3
isl-0.24                       devel/isl
jsoncpp-1.9.5                  devel/jsoncpp
kBuild-0.1.9998_14             devel/kBuild
libICE-1.0.10,1                x11/libICE
libSM-1.2.3,1                  x11/libSM
libX11-1.7.2,1                 x11/libX11
libXau-1.0.9                   x11/libXau
libXdmcp-1.1.3                 x11/libXdmcp
libXext-1.3.4,1                x11/libXext
libXmu-1.1.3,1                 x11-toolkits/libXmu
libXt-1.2.1,1                  x11-toolkits/libXt
libffi-3.4.2                   devel/libffi
libgcrypt-1.9.4_1              security/libgcrypt
libgpg-error-1.45              security/libgpg-error
libiconv-1.16                  converters/libiconv
libidn-1.38                    dns/libidn
libidn2-2.3.3                  dns/libidn2
liblz4-1.9.3,1                 archivers/liblz4
libnghttp2-1.48.0              www/libnghttp2
libpthread-stubs-0.4           devel/libpthread-stubs
libsigsegv-2.14                devel/libsigsegv
libssh2-1.10.0,3               security/libssh2
libtextstyle-0.21              devel/libtextstyle
libtool-2.4.7                  devel/libtool
libunistring-1.0               devel/libunistring
libuv-1.42.0                   devel/libuv
libxcb-1.15                    x11/libxcb
libxml2-2.9.13_2               textproc/libxml2
libxslt-1.1.35_3               textproc/libxslt
links-2.27,1                   www/links
lsof-4.95.0,8                  sysutils/lsof
lsop-0.2                       sysutils/lsop
lynx-2.8.9.1_1,1               www/lynx
m4-1.4.19,1                    devel/m4
meson-0.62.2                   devel/meson
mpc-1.2.1                      math/mpc
mpfr-4.1.0_1                   math/mpfr
ninja-1.10.2,2                 devel/ninja
nmap-7.91_2                    security/nmap
p5-Locale-gettext-1.07         devel/p5-Locale-gettext
p5-Locale-libintl-1.32         devel/p5-Locale-libintl
p5-Text-Unidecode-1.30         converters/p5-Text-Unidecode
p5-Unicode-EastAsianWidth-12.0 textproc/p5-Unicode-EastAsianWidth
pcre-8.45_1                    devel/pcre
perl5-5.32.1_1                 lang/perl5.32
pkg-1.18.3                     ports-mgmt/pkg
pkgconf-1.8.0,1                devel/pkgconf
popt-1.18_1                    devel/popt
portmaster-3.22                ports-mgmt/portmaster
py310-setuptools-63.1.0        devel/py-setuptools
python310-3.10.5_2             lang/python310
readline-8.1.2                 devel/readline
rhash-1.4.3                    security/rhash
rsync-3.2.4_1                  net/rsync
socat-1.7.4.3                  net/socat
sudo-1.9.11p3                  security/sudo
texinfo-6.8_3,1                print/texinfo
trafshow-5.2.3_3,1             net/trafshow
ubench-0.32                    benchmarks/ubench
virtualbox-ose-additions-6.1.36 emulators/virtualbox-ose-additions
wget-1.21.3                    ftp/wget
xauth-1.1.1                    x11/xauth
xcb-proto-1.15.2               x11/xcb-proto
xorg-macros-1.19.3             devel/xorg-macros
xorgproto-2022.1               x11/xorgproto
xtrans-1.4.0                   x11/xtrans
xxhash-0.8.1_1                 devel/xxhash
yasm-1.3.0                     devel/yasm
zabbix5-agent-5.0.25           net-mgmt/zabbix5-agent
zstd-1.5.2                     archivers/zstd


Host 13.1 amd64, VirtualBox 6.1.34.
/var/log/messages on host have line (start VM):
kernel: VMMR0InitVM: eflags=246 fKernelFeatures=0x0 (SUPKERNELFEATURES_SMAP=0)
Nothing in Logs/VBox.log.
Comment 11 Guido Falsi freebsd_committer freebsd_triage 2022-07-22 17:06:30 UTC
(In reply to VVD from comment #10)

Ok I was not getting the full picture.

The error is happening while building inside the VM.

Based on your indication that installing nasm makes it work I can conjecture:

Virtualbox depends on yasm, and so usually builds with that. But it looks like yasm is causing ar to hang on your machine.

It is quite possible that virtualbox build system prefers nasm when found, and maybe nasm is doing something different that allows ar to complete successfully.

I'm at a loss to understand why the difference, but switching assembler for all user is too dangerous without some clear indication on what is going on.
While I can't see an indication of low memory, have you tried assigning your VM more memory just in case?

Since you have tested it, the additions compiled with nasm worked fine for you?
Comment 12 Guido Falsi freebsd_committer freebsd_triage 2022-07-22 17:10:56 UTC
BTW I'll be away for a pair of weeks.

I will try to followup anyway, but I can be slow and my ability to test things while away will be greatly reduced, so it can take me some time to figure this one out.
Comment 13 Vladimir Druzenko freebsd_committer freebsd_triage 2022-07-22 19:05:37 UTC
(In reply to Guido Falsi from comment #11)
All tests with 1 core CPU.
4GB, 1GB, 768MB - build without nasm and without freezes.

640MB freezed without nasm, top:
last pid:  3515;  load averages:  0,58,  0,60,  0,52                                                    up 0+00:20:53  21:49:55
50 processes:  2 running, 47 sleeping, 1 waiting
CPU:  0,0% user,  0,0% nice,  0,0% system,  0,0% interrupt,  100% idle
Mem: 73M Active, 322M Inact, 173M Wired, 60M Buf, 17M Free
Swap: 4096M Total, 4096M Free

With nasm build fine even with 256MB.

P.S. Version compiled with nasm work fine for me.
Comment 14 Guido Falsi freebsd_committer freebsd_triage 2022-07-22 19:16:18 UTC
(In reply to VVD from comment #13)

Maybe simply yasm requires more memory. I would not cathegorize this as a bug.

I'm not very keen on changing the default for a port working fine, with the risk of discovering runtime issues. Definitely not without extensive testing.

I'd close this at this point.

If you'd like to make a motion to exchange nasm for yasm please file a separate bug report asking for that, you could also attach patches, I guess you just need to modify RUN_DEPENDS.

Such a change needs a little discussion, evaluation and also trying to understand upstream preference maybe.
Comment 15 Vladimir Druzenko freebsd_committer freebsd_triage 2022-07-22 19:30:05 UTC
(In reply to Guido Falsi from comment #14)
Lets try to explore and find root of the issue.
Maybe together with yasm's MAINTAINER=johnson.peter.