From owner-freebsd-arm@freebsd.org Mon Jun 13 19:40:27 2016 Return-Path: Delivered-To: freebsd-arm@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id A8C02AF1597; Mon, 13 Jun 2016 19:40:27 +0000 (UTC) (envelope-from cse.cem@gmail.com) Received: from mail-io0-f172.google.com (mail-io0-f172.google.com [209.85.223.172]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 7BF2C29C1; Mon, 13 Jun 2016 19:40:27 +0000 (UTC) (envelope-from cse.cem@gmail.com) Received: by mail-io0-f172.google.com with SMTP id d2so41950312iof.0; Mon, 13 Jun 2016 12:40:27 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:reply-to:in-reply-to:references :from:date:message-id:subject:to:cc:content-transfer-encoding; bh=08V8da6n6qtULVfCDo8PtTSNhCoVl03z0SXXAECtdP0=; b=R6NEwgzki/sig7k3uLN77tQbF0zTWWa4gnEngSsHjhhqW/B/IWBQbB6Xw3Mi0Naxbw vBWME0E4akwiKVA926ifpD3wpqtQd9pywESi4HwdirMwVzJLuoiSYdQEjLv0fCMV55Dd PfYkH6ShyY+cPNVr43B02GNET1oNpaXVF1rg8SOYBKS7flXm/wI/E+CxEaE+YVygawXK vNzC7B8cJNMgVr1Fs6FRWgP8IxC87UU2vp7XmOvCH7mj5JJs9sYyK74tYi7VtVHPYzM1 sItW3xC3fYTsFCxGNYKzPVzY7jiou6xXKlnoZxpLBTQlNYZ+MCn+WLd9sEv5hiom96Zi cW1w== X-Gm-Message-State: ALyK8tKUzAoTinZ8455IYGsJDhgCuELIDD4FfzWzrPCkpE0n+RBpnzHt24FAyvqhHHEX9w== X-Received: by 10.107.53.5 with SMTP id c5mr24931985ioa.2.1465841058561; Mon, 13 Jun 2016 11:04:18 -0700 (PDT) Received: from mail-it0-f41.google.com (mail-it0-f41.google.com. [209.85.214.41]) by smtp.gmail.com with ESMTPSA id k20sm12796882iok.14.2016.06.13.11.04.18 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 13 Jun 2016 11:04:18 -0700 (PDT) Received: by mail-it0-f41.google.com with SMTP id z189so56284880itg.0; Mon, 13 Jun 2016 11:04:18 -0700 (PDT) X-Received: by 10.36.105.210 with SMTP id e201mr1569894itc.86.1465841057989; Mon, 13 Jun 2016 11:04:17 -0700 (PDT) MIME-Version: 1.0 Reply-To: cem@freebsd.org Received: by 10.36.205.70 with HTTP; Mon, 13 Jun 2016 11:04:17 -0700 (PDT) In-Reply-To: References: From: Conrad Meyer Date: Mon, 13 Jun 2016 11:04:17 -0700 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: 11.0 -r301815 "kyua test -k /usr/tests/Kyuafile" on rpi2 [armv7-a/cortex-a7]: broken (24) and failing (59) lists To: Alan Somers Cc: Mark Millard , freebsd-arm , FreeBSD Current Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-BeenThere: freebsd-arm@freebsd.org X-Mailman-Version: 2.1.22 Precedence: list List-Id: "Porting FreeBSD to ARM processors." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 13 Jun 2016 19:40:27 -0000 I expect it's because: 1. bitstr_size() is just bytes (doesn't round up to sizeof(bitstr_t =3D=3D unsigned long)) 2. The userspace version of bit_alloc() uses calloc(bitstr_size(), 1) (an array of nmemb=3Dbitstr_size() size=3Dbytes, doesn't have to be 'unsigned long' sized or aligned). 3. Various bit_* functions access the result as if it's an array of 'unsigned long', when it was allocated as a single-byte array (no ulong alignment or size). 4. ARM isn't as happy about unaligned accesses as x86. I'd make the following change (needs sys/param.h, not compile tested) and see if it fixes it: --- sys/bitstring.h (revision 301805) +++ sys/bitstring.h (working copy) @@ -119,7 +119,8 @@ static inline bitstr_t * bit_alloc(int _nbits) { - return ((bitstr_t *)calloc(bitstr_size(_nbits), 1)); + return (calloc(howmany(bitstr_size(_nbits), sizeof(bitstr_t)), + sizeof(bitstr_t))); } #endif On Mon, Jun 13, 2016 at 10:49 AM, Alan Somers wrote: > Please open a bug for the bitstring test failures and assign it to me. > Also, since I don't have any arm hardware, please provide instructions > on how to run this code in a VM, or where I can get access to the > hardware. > > -Alan > > On Mon, Jun 13, 2016 at 11:29 AM, Mark Millard wrot= e: >> With the newly less strict alignment requirements "kyua test -k /usr/tes= ts/Kyuafile" runs to completion, unlike before. >> >>> =3D=3D=3D> Summary >>> Results read from /root/.kyua/store/results.usr_tests.20160613-080302-1= 20731.db >>> Test cases: 5694 total, 54 skipped, 21 expected failures, 24 broken, 59= failed >>> Total time: 8723.243s >> >> >> I only list the one line summaries below. Then I list various context de= tails. >> >>> =3D=3D=3D> Broken tests >>> lib/msun/cexp_test:main -> broken: Received signal 6 [1.054s] >>> lib/msun/ctrig_test:main -> broken: Received signal 6 [1.074s] >>> lib/msun/exponential_test:main -> broken: Received signal 6 [1.045s] >>> lib/msun/fenv_test:main -> broken: Received signal 6 [1.048s] >>> lib/msun/fma_test:main -> broken: Received signal 6 [1.080s] >>> lib/msun/invctrig_test:main -> broken: Received signal 6 [1.091s] >>> lib/msun/invtrig_test:main -> broken: Received signal 6 [1.086s] >>> lib/msun/logarithm_test:main -> broken: Received signal 6 [1.054s] >>> lib/msun/lrint_test:main -> broken: Received signal 6 [1.069s] >>> lib/msun/nearbyint_test:main -> broken: Received signal 6 [1.066s] >>> lib/msun/rem_test:main -> broken: Received signal 6 [1.069s] >>> lib/msun/trig_test:main -> broken: Received signal 6 [1.070s] >>> sbin/growfs/legacy_test:main -> broken: Reported plan differs from ac= tual executed tests [0.459s] >>> sys/geom/class/eli/integrity_copy_test:main -> broken: Test case time= d out [1200.082s] >>> sys/geom/class/eli/integrity_hmac_test:main -> broken: Test case time= d out [600.138s] >>> sys/geom/class/eli/onetime_a_test:main -> broken: Test case timed out= [600.044s] >>> sys/sys/bitstring_test:bit_clear -> broken: Test case body timed out = [300.032s] >>> sys/sys/bitstring_test:bit_count -> broken: Premature exit; test case= received signal 11 (core dumped) [1.080s] >>> sys/sys/bitstring_test:bit_ffc -> broken: Premature exit; test case r= eceived signal 11 (core dumped) [1.077s] >>> sys/sys/bitstring_test:bit_ffc_at -> broken: Premature exit; test cas= e received signal 11 (core dumped) [1.081s] >>> sys/sys/bitstring_test:bit_ffs -> broken: Premature exit; test case r= eceived signal 11 (core dumped) [1.082s] >>> sys/sys/bitstring_test:bit_ffs_at -> broken: Premature exit; test cas= e received signal 11 (core dumped) [1.077s] >>> sys/sys/bitstring_test:bit_nclear -> broken: Premature exit; test cas= e received signal 11 (core dumped) [1.083s] >>> sys/sys/bitstring_test:bit_nset -> broken: Premature exit; test case = received signal 11 (core dumped) [1.079s] >> >> >>> =3D=3D=3D> Failed tests >>> lib/libc/c063/fstatat_test:fstatat_fd -> failed: /usr/src/contrib/net= bsd-tests/lib/libc/c063/t_fstatat.c:74: memcmp(&st1, &st2, sizeof(st1)) =3D= =3D 0 not met [0. >>> 027s] >>> lib/libc/nss/gethostby_test:getipnodebyname_getaddrinfo_ipv4 -> faile= d: /usr/src/lib/libc/tests/nss/gethostby_test.c:1335: run_tests(_hostlist_f= ile, _snapshot >>> _file, 2, TEST_GETHOSTBYNAME2_GETADDRINFO, 0) =3D=3D 0 not met [15.315= s] >>> lib/libc/ssp/ssp_test:fgets -> failed: Test case body returned a non-= ok exit code, but this is not allowed [0.153s] >>> lib/libc/ssp/ssp_test:gets -> failed: Test case body returned a non-o= k exit code, but this is not allowed [0.158s] >>> lib/libc/ssp/ssp_test:memcpy -> failed: atf-check failed; see the out= put of the test for details [0.148s] >>> lib/libc/ssp/ssp_test:memmove -> failed: atf-check failed; see the ou= tput of the test for details [0.147s] >>> lib/libc/ssp/ssp_test:memset -> failed: atf-check failed; see the out= put of the test for details [0.147s] >>> lib/libc/ssp/ssp_test:read -> failed: Test case body returned a non-o= k exit code, but this is not allowed [0.154s] >>> lib/libc/ssp/ssp_test:readlink -> failed: atf-check failed; see the o= utput of the test for details [0.155s] >>> lib/libc/ssp/ssp_test:snprintf -> failed: atf-check failed; see the o= utput of the test for details [0.149s] >>> lib/libc/ssp/ssp_test:sprintf -> failed: atf-check failed; see the ou= tput of the test for details [0.149s] >>> lib/libc/ssp/ssp_test:stpcpy -> failed: atf-check failed; see the out= put of the test for details [0.149s] >>> lib/libc/ssp/ssp_test:stpncpy -> failed: atf-check failed; see the ou= tput of the test for details [0.147s] >>> lib/libc/ssp/ssp_test:strcat -> failed: atf-check failed; see the out= put of the test for details [0.147s] >>> lib/libc/ssp/ssp_test:strcpy -> failed: atf-check failed; see the out= put of the test for details [0.147s] >>> lib/libc/ssp/ssp_test:strncat -> failed: atf-check failed; see the ou= tput of the test for details [0.147s] >>> lib/libc/ssp/ssp_test:strncpy -> failed: atf-check failed; see the ou= tput of the test for details [0.146s] >>> lib/libc/ssp/ssp_test:vsnprintf -> failed: atf-check failed; see the = output of the test for details [0.150s] >>> lib/libc/ssp/ssp_test:vsprintf -> failed: atf-check failed; see the o= utput of the test for details [0.148s] >>> lib/libc/stdio/printbasic_test:int_within_limits -> failed: printf("%= tu", (size_t)-1) =3D=3D> [18446744073709551615], expected [4294967295]<> [0.030s] >>> lib/libc/stdio/scanfloat_test:infinities_and_nans -> failed: /usr/src= /lib/libc/tests/stdio/scanfloat_test.c:191: fetestexcept(FE_INVALID) =3D=3D= 0 not met [0.031 >>> s] >>> lib/libc/sys/mincore_test:mincore_resid -> failed: /usr/src/contrib/n= etbsd-tests/lib/libc/sys/t_mincore.c:225: check_residency(addr, npgs) =3D= =3D 0 not met [0.04 >>> 0s] >>> lib/libc/sys/mincore_test:mincore_shmseg -> failed: /usr/src/contrib/= netbsd-tests/lib/libc/sys/t_mincore.c:298: check_residency(addr, npgs) =3D= =3D 0 not met [0.0 >>> 29s] >>> lib/libc/tls/tls_dynamic_test:t_tls_dynamic -> failed: 15 checks fail= ed; see output for more details [0.035s] >>> lib/libproc/proc_test:symbol_lookup -> failed: /usr/src/lib/libproc/t= ests/proc_test.c:116: state !=3D PS_STOP: process has state 4 [0.177s] >>> lib/libxo/functional_test:test_02__E -> failed: atf-check failed; see= the output of the test for details [0.166s] >>> lib/libxo/functional_test:test_02__H -> failed: atf-check failed; see= the output of the test for details [0.168s] >>> lib/libxo/functional_test:test_02__HIPx -> failed: atf-check failed; = see the output of the test for details [0.170s] >>> lib/libxo/functional_test:test_02__HP -> failed: atf-check failed; se= e the output of the test for details [0.164s] >>> lib/libxo/functional_test:test_02__J -> failed: atf-check failed; see= the output of the test for details [0.169s] >>> lib/libxo/functional_test:test_02__JP -> failed: atf-check failed; se= e the output of the test for details [0.166s] >>> lib/libxo/functional_test:test_02__T -> failed: atf-check failed; see= the output of the test for details [0.168s] >>> lib/libxo/functional_test:test_02__X -> failed: atf-check failed; see= the output of the test for details [0.169s] >>> lib/libxo/functional_test:test_02__XP -> failed: atf-check failed; se= e the output of the test for details [0.168s] >>> lib/msun/conj_test:main -> failed: 9 tests of 42 failed [0.034s] >>> lib/msun/ldexp_test:ldexp_denormal -> failed: 4 checks failed; see ou= tput for more details [0.034s] >>> local/kyua/model/metadata_test:override_all_with_set_string -> failed= : Line 253: disk_space !=3D md.required_disk_space() (16777216.00T !=3D 2.0= 0G) [0.047s] >>> local/kyua/testers/stacktrace_test:dump__cannot_find_gdb -> failed: t= esters/stacktrace_test.c:281: atf_utils_grep_file("execvp failed", "stacktr= ace") not met >>> [0.611s] >>> local/kyua/testers/stacktrace_test:dump__gdb_fail -> failed: testers/= stacktrace_test.c:294: atf_utils_grep_file("foo", "stacktrace") not met [0= .610s] >>> local/kyua/testers/stacktrace_test:dump__gdb_times_out -> failed: tes= ters/stacktrace_test.c:311: atf_utils_grep_file("foo", "stacktrace") not me= t [0.614s] >>> local/kyua/testers/stacktrace_test:dump__integration -> failed: teste= rs/stacktrace_test.c:233: atf_utils_grep_file("#0", "stacktrace") not met = [0.613s] >>> local/kyua/testers/stacktrace_test:dump__ok -> failed: testers/stackt= race_test.c:249: atf_utils_grep_file("frame 1", "stacktrace") not met [0.6= 14s] >>> local/kyua/testers/stacktrace_test:find_core__found__long -> failed: = Core dumped, but no candidates found [0.606s] >>> local/kyua/testers/stacktrace_test:find_core__found__short -> failed:= Core dumped, but no candidates found [0.603s] >>> local/kyua/testers/tap_parser_test:try_parse_plan__insane -> failed: = testers/tap_parser_test.c:135: 'too long' not matched in 'Plan line include= s out of range >>> numbers' [0.032s] >>> sys/geom/class/eli/resize_test:main -> failed: 15 tests of 27 failed = [1.292s] >>> sys/kern/pipe/pipe_fstat_bug_test:main -> failed: Returned non-succes= s exit status 1 [0.044s] >>> usr.bin/lastcomm/legacy_test:main -> failed: 4 tests of 6 failed [0.= 151s] >>> usr.sbin/rpcbind/addrmerge_test:addrmerge_bindip -> failed: 1 checks = failed; see output for more details [0.035s] >>> usr.sbin/rpcbind/addrmerge_test:addrmerge_bindip_rev -> failed: 1 che= cks failed; see output for more details [0.035s] >>> usr.sbin/rpcbind/addrmerge_test:addrmerge_localhost_only -> failed: 1= checks failed; see output for more details [0.034s] >>> usr.sbin/rpcbind/addrmerge_test:addrmerge_one_addr_on_each_subnet -> = failed: 1 checks failed; see output for more details [0.035s] >>> usr.sbin/rpcbind/addrmerge_test:addrmerge_one_addr_on_each_subnet_rev = -> failed: 1 checks failed; see output for more details [0.035s] >>> usr.sbin/rpcbind/addrmerge_test:addrmerge_point2point -> failed: 1 ch= ecks failed; see output for more details [0.035s] >>> usr.sbin/rpcbind/addrmerge_test:addrmerge_point2point_rev -> failed: = 1 checks failed; see output for more details [0.033s] >>> usr.sbin/rpcbind/addrmerge_test:addrmerge_recvdstaddr -> failed: 1 ch= ecks failed; see output for more details [0.035s] >>> usr.sbin/rpcbind/addrmerge_test:addrmerge_recvdstaddr_rev -> failed: = 1 checks failed; see output for more details [0.035s] >>> usr.sbin/rpcbind/addrmerge_test:addrmerge_singlehomed -> failed: 1 ch= ecks failed; see output for more details [0.032s] >>> usr.sbin/sa/legacy_test:main -> failed: 12 tests of 13 failed [0.340= s] >> >> >> >> Context details: >> >>> # uname -apKU >>> FreeBSD rpi2 11.0-ALPHA3 FreeBSD 11.0-ALPHA3 #0 r301815M: Sat Jun 11 23= :43:48 PDT 2016 markmi@FreeBSDx64:/usr/obj/clang/arm.armv6/usr/src/sys/= RPI2-NODBG ar >>> m armv6 1100116 1100116 >> >> In use for the system build was: >> >>> XCFLAGS+=3D -march=3Darmv7-a -mcpu=3Dcortex-a7 >>> XCXXFLAGS+=3D -march=3Darmv7-a -mcpu=3Dcortex-a7 >> >> I do have a few local /usr/src changes/additions, but nearly all are onl= y for powerpc and/or powerpc64 contexts: >> >>> # svnlite status /usr/src/ >>> M /usr/src/contrib/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuil= der.cpp >>> M /usr/src/lib/csu/powerpc64/Makefile >>> ? /usr/src/sys/amd64/include/include >>> ? /usr/src/sys/arm/conf/RPI2-NODBG >>> ? /usr/src/sys/arm/include/include >>> M /usr/src/sys/boot/ofw/Makefile.inc >>> M /usr/src/sys/boot/powerpc/Makefile >>> M /usr/src/sys/boot/powerpc/Makefile.inc >>> M /usr/src/sys/boot/uboot/Makefile.inc >>> M /usr/src/sys/conf/Makefile.powerpc >>> M /usr/src/sys/conf/kern.mk >>> M /usr/src/sys/conf/kmod.mk >>> M /usr/src/sys/dev/cxgb/ulp/tom/cxgb_listen.c >>> M /usr/src/sys/dev/cxgbe/tom/t4_listen.c >>> ? /usr/src/sys/powerpc/conf/GENERIC64-NODBG >>> ? /usr/src/sys/powerpc/conf/GENERIC64vtsc >>> ? /usr/src/sys/powerpc/conf/GENERIC64vtsc-NODEBUG >>> ? /usr/src/sys/powerpc/conf/GENERICvtsc >>> ? /usr/src/sys/powerpc/conf/GENERICvtsc-NODEBUG >>> ? /usr/src/sys/powerpc/include/include >>> M /usr/src/sys/powerpc/ofw/ofw_machdep.c >>> M /usr/src/sys/powerpc/powerpc/exec_machdep.c >>> ? /usr/src/sys/x86/include/include >> >> [The cxbg and cxbge changes just remove redundant declarations that stop= ped a amd64-gcc based build. But other areas have such issues and I quit tr= ying eliminating such blocks to that tool chain. The include/include's are = from something making symbolic links back to the parent include.] >> >> The kernel configuration was via: >> >>> # more /usr/src/sys/arm/conf/RPI2-NODBG >>> # >>> # RPI2 -- Custom configuration for the Raspberry Pi 2 >>> # >>> # For more information on this file, please read the config(5) manual p= age, >>> # and/or the handbook section on Kernel Configuration Files: >>> # >>> # http://www.FreeBSD.org/doc/en_US.ISO8859-1/books/handbook/kernelco= nfig-config.html >>> # >>> # The handbook is also available locally in /usr/share/doc/handbook >>> # if you've installed the doc distribution, otherwise always see the >>> # FreeBSD World Wide Web server (http://www.FreeBSD.org/) for the >>> # latest information. >>> # >>> # An exhaustive list of options and more detailed explanations of the >>> # device lines is also present in the ../../conf/NOTES and NOTES files. >>> # If you are in doubt as to the purpose or necessity of a line, check f= irst >>> # in NOTES. >>> # >>> >>> ident RPI2-NODBG >>> >>> include "RPI2" >>> >>> makeoptions DEBUG=3D-g # Build kernel with gdb(1) de= bug symbols >>> options ALT_BREAK_TO_DEBUGGER >>> #options VERBOSE_SYSINIT # Enable verbose sysinit messag= es >>> >>> options KDB # Enable kernel debugger suppor= t >>> >>> # For minimum debugger support (stable branch) use: >>> #options KDB_TRACE # Print a stack trace for a pan= ic >>> options DDB # Enable the kernel debugger >>> >>> nooptions INVARIANTS # Enable calls of extra sanity = checking >>> nooptions INVARIANT_SUPPORT # Extra sanity checks of intern= al structures, required by INVARIANTS >>> nooptions WITNESS # Enable checks to detect deadl= ocks and cycles >>> nooptions WITNESS_SKIPSPIN # Don't run witness on spinlock= s for speed >>> nooptions DIAGNOSTIC >> >> >> The armv6 11.0 -r301815 system was cross built from amd64, built using s= rc.conf: >> >>> # more ~/src.configs/src.conf.rpi2-clang-bootstrap.amd64-host >>> TO_TYPE=3Darmv6 >>> # >>> KERNCONF=3DRPI2-NODBG >>> TARGET=3Darm >>> .if ${.MAKE.LEVEL} =3D=3D 0 >>> TARGET_ARCH=3D${TO_TYPE} >>> .export TARGET_ARCH >>> .endif >>> # >>> WITH_CROSS_COMPILER=3D >>> WITHOUT_SYSTEM_COMPILER=3D >>> # >>> #CPUTYPE=3Dsoft >>> WITH_LIBSOFT=3D >>> WITH_LIBCPLUSPLUS=3D >>> WITH_BINUTILS_BOOTSTRAP=3D >>> WITH_CLANG_BOOTSTRAP=3D >>> WITH_CLANG=3D >>> WITH_CLANG_IS_CC=3D >>> WITH_CLANG_FULL=3D >>> WITH_CLANG_EXTRAS=3D >>> WITH_LLDB=3D >>> # >>> WITH_BOOT=3D >>> WITHOUT_LIB32=3D >>> # >>> WITHOUT_ELFTOOLCHAIN_BOOTSTRAP=3D >>> WITHOUT_GCC_BOOTSTRAP=3D >>> WITHOUT_GCC=3D >>> WITHOUT_GCC_IS_CC=3D >>> WITHOUT_GNUCXX=3D >>> # >>> NO_WERROR=3D >>> #WERROR=3D >>> MALLOC_PRODUCTION=3D >>> # >>> WITH_DEBUG_FILES=3D >>> # >>> XCFLAGS+=3D -march=3Darmv7-a -mcpu=3Dcortex-a7 >>> XCXXFLAGS+=3D -march=3Darmv7-a -mcpu=3Dcortex-a7 >>> # There is no XCPPFLAGS but XCPP ets XCFLAGS content. >> >> and with the make.conf for the system build being empty: >> >>> # more ~/src.configs/make.conf >>> # >> >> =3D=3D=3D >> Mark Millard >> markmi at dsl-only.net >> >> _______________________________________________ >> freebsd-current@freebsd.org mailing list >> https://lists.freebsd.org/mailman/listinfo/freebsd-current >> To unsubscribe, send any mail to "freebsd-current-unsubscribe@freebsd.or= g" > _______________________________________________ > freebsd-current@freebsd.org mailing list > https://lists.freebsd.org/mailman/listinfo/freebsd-current > To unsubscribe, send any mail to "freebsd-current-unsubscribe@freebsd.org= "