(beagleboneblack/urtwn) Kernel page fault with the following non-sleepable locks held [ssh on rpi2 comparison]
Keith White
kwhite at site.uottawa.ca
Tue Jun 21 10:34:06 UTC 2016
On Tue, 21 Jun 2016, Mark Millard wrote:
> Otacílio otacilio.neto at bsd.com.br wrote on Tue Jun 21 00:06:39 UTC 2016 :
>
>> > The kernel panic is totally reproducible. I need only do a ssh in the
>> > beaglebone using ptty on windows or ssh on freebsd and the kernel
>> > panic is raised.
> . . .
>> FreeBSD11-ALPHA4 shows the same behavior. The only thing that I need to
>> raise the fault is ssh in the beaglebone.
>
> (After this quotes are command input/output from my test activity.)
>
> Under 11.0 -r310975 on a rpi2 I can ssh out of the rpi2 just fine. . .
>
>> # uname -apKU
>> FreeBSD rpi2 11.0-ALPHA4 FreeBSD 11.0-ALPHA4 #1 r301975M: Thu Jun 16 18:12:02 PDT 2016 markmi at FreeBSDx64:/usr/obj/clang/arm.armv6/usr/src/sys/RPI2-NODBG arm armv6 1100117 1100117
>
>
> This is a no-debug kernel build (but with symbols). Details are given later below.
>
>> # ssh markmi at 192.168.0.105
>> Password:
>> Last login: Tue Jun 21 01:04:46 2016
>> markmi$
>
> Similarly I can ssh into the rpi2 from outside, here using new remote connection in Mac OS X terminal: ssh 192.168.0.119 resulted in. . .
>
>> Password for markmi at rpi2:
>> Last login: Mon May 9 19:27:33 2016 from 192.168.2.1
>> FreeBSD 11.0-ALPHA4 (RPI2-NODBG) #1 r301975M: Thu Jun 16 18:12:02 PDT 2016
>>
>> Welcome to FreeBSD!
>>
>> Release Notes, Errata: https://www.FreeBSD.org/releases/
>> Security Advisories: https://www.FreeBSD.org/security/
>> FreeBSD Handbook: https://www.FreeBSD.org/handbook/
>> FreeBSD FAQ: https://www.FreeBSD.org/faq/
>> Questions List: https://lists.FreeBSD.org/mailman/listinfo/freebsd-questions/
>> FreeBSD Forums: https://forums.FreeBSD.org/
>>
>> Documents installed with the system are in the /usr/local/share/doc/freebsd/
>> directory, or can be installed later with: pkg install en-freebsd-doc
>> For other languages, replace "en" with a language code like de or fr.
>>
>> Show the version of FreeBSD installed: freebsd-version ; uname -a
>> Please include that output and any error messages when posting questions.
>> Introduction to manual pages: man man
>> FreeBSD directory layout: man hier
>>
>> Edit /etc/motd to change this login announcement.
>> To determine whether a file is a text file, executable, or some other type
>> of file, use
>>
>> file filename
>> -- Dru <genesis at istar.ca>
>> $
>
> No panics or other odd notices.
>
> The problem is apparently not general to all armv6 contexts.
>
> Various context details follow. . .
>
>> # more ~/src.configs/src.conf.rpi2-clang-bootstrap.rpi2-host
>> TO_TYPE=armv6
>> #
>> KERNCONF=RPI2-NODBG
>> TARGET=arm
>> .if ${.MAKE.LEVEL} == 0
>> TARGET_ARCH=${TO_TYPE}
>> .export TARGET_ARCH
>> .endif
>> #
>> #WITH_CROSS_COMPILER=
>> WITH_SYSTEM_COMPILER=
>> #
>> #CPUTYPE=soft
>> WITH_LIBSOFT=
>> WITH_LIBCPLUSPLUS=
>> WITH_BINUTILS_BOOTSTRAP=
>> #WITHOUT_CLANG_BOOTSTRAP=
>> WITH_CLANG=
>> WITH_CLANG_IS_CC=
>> WITH_CLANG_FULL=
>> WITH_CLANG_EXTRAS=
>> WITH_LLDB=
>> #
>> WITH_BOOT=
>> WITHOUT_LIB32=
>> #
>> WITHOUT_ELFTOOLCHAIN_BOOTSTRAP=
>> WITHOUT_GCC_BOOTSTRAP=
>> WITHOUT_GCC=
>> WITHOUT_GCC_IS_CC=
>> WITHOUT_GNUCXX=
>> #
>> NO_WERROR=
>> #WERROR=
>> MALLOC_PRODUCTION=
>> #
>> WITH_DEBUG_FILES=
>> #
>> XCFLAGS+= -march=armv7-a -mcpu=cortex-a7
>> XCXXFLAGS+= -march=armv7-a -mcpu=cortex-a7
>> # There is no XCPPFLAGS but XCPP ets XCFLAGS content.
>
> ~/src.configs/make.conf was empty.
>
>> # 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 page,
>> # and/or the handbook section on Kernel Configuration Files:
>> #
>> # http://www.FreeBSD.org/doc/en_US.ISO8859-1/books/handbook/kernelconfig-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 first
>> # in NOTES.
>> #
>>
>> ident RPI2-NODBG
>>
>> include "RPI2"
>>
>> makeoptions DEBUG=-g # Build kernel with gdb(1) debug symbols
>> options ALT_BREAK_TO_DEBUGGER
>> #options VERBOSE_SYSINIT # Enable verbose sysinit messages
>>
>> options KDB # Enable kernel debugger support
>>
>> # For minimum debugger support (stable branch) use:
>> #options KDB_TRACE # Print a stack trace for a panic
>> options DDB # Enable the kernel debugger
>>
>> nooptions INVARIANTS # Enable calls of extra sanity checking
>> nooptions INVARIANT_SUPPORT # Extra sanity checks of internal structures, required by INVARIANTS
>> nooptions WITNESS # Enable checks to detect deadlocks and cycles
>> nooptions WITNESS_SKIPSPIN # Don't run witness on spinlocks for speed
>> nooptions DIAGNOSTIC
>
>
> My /usr/src tree has some changes/additions --but mostly for powerpc64 and powerpc issues:
>
>> # svnlite status /usr/src/
>> M /usr/src/contrib/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.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 include/include ones are from something making links pointing back up to the parent include/ . I did not explicitly create these.)
>
> (The cxbg and cxbge ones were from trying to have amd64 target amd64 via xtoolchain (devel/amd64-gcc). But other places also stopped it and I quit trying that for now.)
>
>> # more /etc/rc.conf
>> hostname="rpi2"
>> ifconfig_ue0="DHCP"
>> sshd_enable="YES"
>>
>> powerd_enable="YES"
>>
>> # Nice if you have a network, else annoying.
>> ntpd_enable="YES"
>> ntpd_sync_on_start="YES"
>>
>> # Uncomment to disable common services (more memory)
>> #cron_enable="NO"
>> #syslogd_enable="NO"
>> sendmail_enable="NONE"
>> sendmail_submit_enable="NO"
>> sendmail_outbound_enable="NO"
>> sendmail_msp_queue_enable="NO"
>> #
>> # Set dumpdev to "AUTO" to enable crash dumps, "NO" to disable
>> dumpdev="AUTO"
>> #
>> dbus_enable="YES"
>> hald_enable="YES"
>> #
>> rpcbind_enable="YES"
>> nfs_server_enable="YES"
>> mountd_flags="-r"
>> #
>> nfs_client_enable="YES"
>
>> # more /etc/sysctl.conf
>> # $FreeBSD: head/etc/sysctl.conf 112200 2003-03-13 18:43:50Z mux $
>> #
>> # This file is read when going to multi-user and its contents piped thru
>> # ``sysctl'' to adjust kernel values. ``man 5 sysctl.conf'' for details.
>> #
>>
>> # Uncomment this to prevent users from seeing information about processes that
>> # are being run under another UID.
>> #security.bsd.see_other_uids=0
>>
>> kern.nodump_coredump=1
>> kern.capmode_coredump=1
>> kern.sugid_coredump=1
>> kern.corefile=/var/crash/%N.%P.core
>
>
> /etc/fstab , /etc/exports , /etc/resolv.conf are very simple but non-default. Other than password files and the like the rest of /etc/. . . is just defaults.
>
>> # more /boot/loader.conf
>> kern.cam.boot_delay="10000"
>
>
>
>
> ===
> Mark Millard
> markmi at dsl-only.net
>
> _______________________________________________
> freebsd-arm at freebsd.org mailing list
> https://lists.freebsd.org/mailman/listinfo/freebsd-arm
> To unsubscribe, send any mail to "freebsd-arm-unsubscribe at freebsd.org"
I'm using an RPI-B rather than RPI2, but my symptoms are similar.
Did you use the wired or wireless interface on the RPI2? I only
get the panic on the RPI-B when using wireless. Wired works fine.
In an earlier message Ian said that he thought he knew what the
problem was...
...keith
More information about the freebsd-arm
mailing list