armv7 cross-build of port: devel/libunistring stuck in configure for over an hour: ***MEMORY-ERROR***: [27504]: GSlice: failed to allocate 496 bytes (alignment: 512): Cannot allocate memory

Mark Millard markmi at dsl-only.net
Sun Dec 31 01:38:35 UTC 2017


[qemu-aarch64-static has the same issue as qemu-arm-static.]

On 2017-Dec-30, at 4:08 PM, Mark Millard <markmi at dsl-only.net> wrote:

> [top shows /usr/local/bin/qemu-arm-static is stuck in uwait.]
> 
> On 2017-Dec-30, at 3:15 PM, Mark Millard <markmi at dsl-only.net> wrote:
> 
>> /usr/local/poudriere/data/.m/FBSDFSSDjailArmV7-default/06/wrkdirs/usr/ports/devel/libunistring/work/libunistring-0.9.8/config.log
>> 
>> shows:
>> 
>> configure:25883: checking whether printf survives out-of-memory conditions
>> configure:26055: /nxb-bin/usr/bin/cc -o conftest -O2 -pipe -mcpu=cortex-a7  -DLIBICONV_PLUG -g -fno-strict-aliasing -mcpu=cortex-a7 -DLIBICONV_PLUG -D_THREAD_SAFE  conftest.c  >&5
>> configure:26058: $? = 0
>> 
>> ***MEMORY-ERROR***: [27504]: GSlice: failed to allocate 496 bytes (alignment: 512): Cannot allocate memory
>> 
>> 
>> 
>> And there is no more to the tail of the config.log file: it does not grow.
>> 
>> # ls -lTdt /usr/local/poudriere/data/.m/FBSDFSSDjailArmV7-default/06/wrkdirs/usr/ports/devel/libunistring/work/libunistring-0.9.8/*
>> -rw-r--r--   1 root  wheel   130860 Dec 30 14:51:04 2017 /usr/local/poudriere/data/.m/FBSDFSSDjailArmV7-default/06/wrkdirs/usr/ports/devel/libunistring/work/libunistring-0.9.8/config.log
>> . . .
>> 
>> 
>> It has been sitting like this for well over an hour:
>> 
>> [06]: devel/libunistring | libunistring-0.9.8 configure (01:35:18) 
>> 
>> 
>> 
>> # uname -apKU
>> FreeBSD FBSDFSSD 12.0-CURRENT FreeBSD 12.0-CURRENT  r327364M  amd64 amd64 1200054 1200054
>> 
>> 
>> # svnlite info /usr/ports/ | grep "Re[plv]"
>> Relative URL: ^/head
>> Repository Root: svn://svn.freebsd.org/ports
>> Repository UUID: 35697150-7ecd-e111-bb59-0022644237b5
>> Revision: 457579
>> Last Changed Rev: 457579
> 
> top indicates that it is /usr/local/bin/qemu-arm-static that is stuck
> (in uwait), a range of the "top -Cawopid" output shows:
> 
> 27504 root             2  52    0 87228K  9324K     0K uwait  22   0:00   0.00% /usr/local/bin/qemu-arm-static ./conftest
> 27499 root             1  52    0 11260K  2540K     0K wait   10   0:00   0.00% /bin/sh ./configure --disable-static --prefix=/usr/local --localstatedir=/var --mandir=/usr/local/man --disable-silent-
> 9769 root             1  52    0 11260K  2544K     0K wait   22   0:01   0.00% /bin/sh ./configure --disable-static --prefix=/usr/local --localstatedir=/var --mandir=/usr/local/man --disable-silent-
> 8294 root             1  52    0 10224K  1772K     0K wait   13   0:00   0.00% [sh]
> 7730 root             1  20    0 10296K  1712K     0K wait    1   0:00   0.00% /usr/bin/make -C /usr/ports/devel/libunistring configure
> 7729 root             1  52    0 12944K  3552K     0K wait    5   0:00   0.00% sh: poudriere[FBSDFSSDjailArmV7-default][06]: build_pkg (libunistring-0.9.8) (sh)
> 99854 root             1  20    0 12944K  3560K     0K select  0   0:00   0.00% sh: poudriere[FBSDFSSDjailArmV7-default][06]: build_pkg (libunistring-0.9.8) (sh)
> 99817 root             1  27    0 12944K  3548K     0K piperd 17   0:03   0.00% sh -e /usr/local/share/poudriere/bulk.sh -jFBSDFSSDjailArmV7 -w -f /root/armv7-origins.txt
> 74826 root             1  52    0 12944K  3512K     0K nanslp 26   1:39   0.53% sh -e /usr/local/share/poudriere/bulk.sh -jFBSDFSSDjailArmV7 -w -f /root/armv7-origins.txt
> 74601 root             1  52    0 12728K  3608K     0K select 19   0:12   0.00% sh -e /usr/local/share/poudriere/bulk.sh -jFBSDFSSDjailArmV7 -w -f /root/armv7-origins.txt
> 
> (This was after letting it get to the point that
> only the libunistring poudriere job was being run.)
> 
> Apparently, "checking whether printf survives out-of-memory conditions"
> and qemu-arm-static to not mix well.

qemu-aarch64-static has the same issue as qemu-arm-static:

configure:25883: checking whether printf survives out-of-memory conditions
configure:26055: /nxb-bin/usr/bin/cc -o conftest -O2 -pipe -mcpu=cortex-a53  -DLIBICONV_PLUG -g -fno-strict-aliasing -mcpu=cortex-a53 -DLIBICONV_PLUG -D_THREAD_SAFE  conftest.c  >&5
configure:26058: $? = 0

***MEMORY-ERROR***: [10016]: GSlice: failed to allocate 496 bytes (alignment: 512): Cannot allocate memory


and top shows:

10016 root             2  52    0   221M 13296K     0K uwait   6   0:00   0.00% /usr/local/bin/qemu-aarch64-static ./conftest


In both cases doing a kill -9 from top of the
stuck qemu-*-static process allowed things to
continue.

"checking whether printf survives out-of-memory conditions"
and qemu-aarch64-static or qemu-arm-static just do not mix
well.


===
Mark Millard
markmi at dsl-only.net



More information about the freebsd-arm mailing list