Poudriere bulk failure

I have two separate servers, one of them with an intel i3 processor and one with an i7.

Poudriere is set up exactly the same way on both. Host OS is 12.0-RELEASE. UFS only. The poudriere.conf file is set up the same on both. Jails on each were created to build arm64 ports, downloading releng/12.0 via SVN. Same exact packages to be built on both. Options on those packages have been set the same. The ONLY difference in the bulk build is that on the i3 system it actually builds. On the i7 system running a bulk build immediately crashes with a bunch of "UNAME_r and OSVERSION (1200086) do not agree on major version number." messages and an "Error: Error looking up pre-build ports vars" message. I cannot for the life of me figure it out. I've deleted and rebuilt the jail from scratch. Same thing. I've deleted the Poudriere ports tree and re-created it. Reconfigured port options. Same result. Every single thing I've done on the i3 system I've done a carbon copy of on the i7.

The only difference I see between the two systems other than the i3/i7 processors is the hard drives. On the i3 system it is all on one hard drive. On the i7 system there is a secondary hard drive where /usr/local is mounted, and a swap partition as well. I don't think that should make a difference though.

I've done some searching on these error messages. Anything I've found about them says it's been fixed, but apparently not. Anyone run into this before?
 
Could you post :
  • the content of the default settings in the /etc/login.conf file of the poudriere jail, in particular the setenv part;
  • the value of __FreeBSD_version in the /usr/include/sys/param.h file of your host.
 
On the i7 system running a bulk build immediately crashes with a bunch of "UNAME_r and OSVERSION (1200086) do not agree on major version number." messages and an "Error: Error looking up pre-build ports vars" message. I cannot for the life of me figure it out. I've deleted and rebuilt the jail from scratch.
I think the issue might be the host itself. Make sure it's up to date and has the same or newer version of FreeBSD than your jails. Also make sure poudriere itself is updated.
 
Thank you for your replies!

Hukadan I'll post the content of those files when I get to work.

SirDice, the hosts are both running 12.0-release. I just find it strange that it crashes on one machine but not the other. I've tried building the jails with both release/12.0.0 and releng/12.0. On the i3 system either jail works fine. On the i7 system they both get the same error messages. But I'll gladly download an updated /usr/src on the i7 host and build.

Edit: Yes also poudriere and all dependencies are up to date on both host systems.
 
The setenv part of /etc/login.conf from the jail:
:setenv=MAIL=/var/mail/$,BLOCKSIZE=K,UNAME_r=12.0-RELEASE-p3,UNAME_v=FreeBSD 12.0-RELEASE-p3 1200086,OSVERSION=1200086,ABI_FILE=/usr/lib/crt1.o,UNAME_m=arm64,UNAME_p=aarch64:\
# :setenv=MAIL=/var/mail/$,BLOCKSIZE=K,UNAME_r=12.0-RELEASE-p3,UNAME_v=FreeBSD 12.0-RELEASE-p3 1200086,OSVERSION=1200086,ABI_FILE=/usr/lib/crt1.o,UNAME_m=arm64,UNAME_p=aarch64:\

The value of __FreeBSD_version from /usr/include/sys/param.h on the host itself:
#undef __FreeBSD_version
#define __FreeBSD_version 1200086 /* Master, propagated to newvers */

I ran diff on those files from both servers, and there was no difference.
 
Could you show the output of freebsd-version -kru on the host ?
 
Ran the command on both hosts and the output was the same:

12.0-RELEASE
12.0-RELEASE
12.0-RELEASE

It's not really that important but we would like to obviously start building the ports on the i7 so we won't need the i3 anymore. Just for the heck of it though, I pulled the hard drives out of the i7 machine. Then installed a single hard drive, installed FreeBSD 12-Release again, but this time it's just on the single drive. Just finished building poudriere and now building the poudriere jail for the arm ports. We'll see if the results are different when I start the bulk build.
 
I hope someone more knowledgeable than me can help you. I would be curious to know what the problem (and the solution) is.
 
Just tried to run the bulk build on the i7 and the same error messages happened. Sigh.. for some reason FreeBSD doesn't seem to like the machine. FYI it's a Dell Precision T1650.
 
When I run freebsd-version -kru on my 12.0-RELEASE install, I get:
Code:
12.0-RELEASE-p3
12.0-RELEASE-p3
12.0-RELEASE-p3
Would it help to run freebsd-update fetch and freebsd-update install? Might be worth a try.
 
Someone was right from the start...
Make sure it's up to date and has the same or newer version of FreeBSD than your jails.
It is just poudriere(8) complaining that the host is lagging behind the jail. This is wrong, see post below.
 
Last edited by a moderator:
The jail I compiled after the rebuild was just 12.0-RELEASE so it matches the version of the host, still had the errors.

Also the system with the i3 running 12.0-RELEASE builds the packages just fine whether or not the jail is 12.0-RELEASE or 12.0-RELEASE-p3

Poudriere might have a problem if the host is a major version behind though.

Still, I'll give it a try.. I've never run freebsd-update. Normally I download the sources and build on the host so I'll do that with releng/12.0. I'll let you know how it goes, but for now time to go home and relax. Thanks for your help everybody!
 
Poudriere might have a problem if the host is a major version behind though.
I checked out of curiosity. It warns you but lets you do it
[00:00:03] Warning: !!! Jail is newer than host. (Jail: 1300021, Host: 1200508) !!!
[00:00:03] Warning: This is not supported.
[00:00:03] Warning: Host kernel must be same or newer than jail.
[00:00:03] Warning: Expect build failures.
 
Poudriere might have a problem if the host is a major version behind though.
Poudriere uses jail(8). A jail can only have the same or a lower version than the host. A higher version jail than the host is NOT supported and will cause problems.
 
Finished building/installing world and the kernel, rebooted, mergemaster.. etc.
uname -a shows my custom kernel 12.0-RELEASE-P3

ran poudriere bulk on the 12.0-RELEASE jail and it failed with the same error messages. Sigh, I have other work to do though. I'll come back to it next week.

Again thanks for all your help everybody!
 
Hello Acheron, it's interesting though that qemu would work properly on one host but not the other. Poudriere and all dependencies along with qemu are up to date on both hosts.

However I will be glad to try what you suggested on Monday. Thank you for your help and I'll let you know if it works!
 
Hi Acheron,

So I updated the ports tree of the host.
Rebuilt glib20 and qemu.
Updated the default ports tree of poudriere
Updated any unset port options
Then tried to rebuild the ports but it resulted in the same error messages. Do I need to rebuild the jail as well?

Code:
root@port-compiler:/usr/local/etc/poudriere.d # poudriere bulk -j aarch64 -f portslist
[00:00:00] Cross-building ports for arm64.aarch64 on amd64 requires QEMU
[00:00:00] Creating the reference jail... done
[00:00:11] Mounting system devices for aarch64-default
[00:00:11] Mounting ports/packages/distfiles
[00:00:11] Using packages from previously failed build: /usr/local/poudriere/data/packages/aarch64-default/.building
[00:00:11] Mounting packages from: /usr/local/poudriere/data/packages/aarch64-default
[00:00:11] Copying /var/db/ports from: /usr/local/etc/poudriere.d/aarch64-options
[00:00:11] Setting up native-xtools environment in jail... done
[00:00:11] Raising MAX_EXECUTION_TIME and NOHANG_TIME for QEMU from QEMU_ values
[00:00:11] Copying latest version of the emulator from: /usr/local/bin/qemu-aarch64-static
/etc/resolv.conf -> /usr/local/poudriere/data/.m/aarch64-default/ref/etc/resolv.conf
[00:00:11] Starting jail aarch64-default
Abort trap (core dumped)
Abort trap (core dumped)
Abort trap (core dumped)
Abort trap (core dumped)
Abort trap (core dumped)
make: "/usr/ports/Mk/bsd.port.mk" line 1154: warning: "/usr/bin/uname -s" returned non-zero status
make: "/usr/ports/Mk/bsd.port.mk" line 1159: warning: "/usr/bin/uname -r" returned non-zero status
make: "/usr/ports/Mk/bsd.port.mk" line 1203: UNAME_r () and OSVERSION (1200086) do not agree on major version number.
make: "/usr/ports/Mk/bsd.port.mk" line 1154: warning: "/usr/bin/uname -s" returned non-zero status
make: "/usr/ports/Mk/bsd.port.mk" line 1159: warning: "/usr/bin/uname -r" returned non-zero status
make: "/usr/ports/Mk/bsd.port.mk" line 1203: UNAME_r () and OSVERSION (1200086) do not agree on major version number.
Abort trap (core dumped)
Abort trap (core dumped)
[00:02:07] Logs: /usr/local/poudriere/data/logs/bulk/aarch64-default/2019-05-06_09h20m57s
[00:02:07] Loading MOVED for /usr/local/poudriere/data/.m/aarch64-default/ref/usr/ports
make: "/usr/ports/Mk/bsd.port.mk" line 1154: warning: "/usr/bin/uname -s" exited on a signal
make: "/usr/ports/Mk/bsd.port.mk" line 1159: warning: "/usr/bin/uname -r" exited on a signal
make: "/usr/ports/Mk/bsd.port.mk" line 1203: UNAME_r () and OSVERSION (1200086) do not agree on major version number.
[00:02:40] Error: Error looking up pre-build ports vars
[00:02:40] Cleaning up
[00:02:40] Unmounting file systems
 
No need to update the jails.
Abort trap (core dumped), are you sure that glib20 and qemu-user-static were rebuilt and reinstalled?
 
Yes after updating the ports tree I went into both of those directories and ran make deinstall reinstall.

Then ran pkg version and all packages on the host show =
 
Tried restarting the qemu_user_static service and ran the bulk build. I got the same error messages except this time no abort trap messages.
 
Back
Top