Re: (beagleboneblack/urtwn) Kernel page fault with the following non-sleepable locks held [ssh on rpi2 comparison]

From: Mark Millard <markmi_at_dsl-only.net>
Date: Tue, 21 Jun 2016 04:59:10 -0700
[A top-post of a new result: WiFI works fine too. Quotes are from input/output, with some redacting. This is the first time I've set up WiFi on FreeBSD.]

WiFI (urtwn0) also works fine for me with ssh on the rpi2 11.0 -r301975 context. . .

> urtwn0: <vendor 0x0bda product 0x8176, class 0/0, rev 2.00/2.00, addr 4> on usbus0
> urtwn0: MAC/BB RTL8188CUS, RF 6052 1T1R
> urtwn0: enabling 11n


> # ifconfig
. . .
> wlan0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
>         ether XXXX
>         inet 192.168.0.122 netmask 0xffffff00 broadcast 192.168.0.255 
>         groups: wlan 
>         ssid "Millard's AirPort2" channel 11 (2462 MHz 11g ht/20) bssid XXXX
>         regdomain FCC country US authmode WPA2/802.11i privacy ON
>         deftxkey UNDEF TKIP 3:128-bit txpower 30 bmiss 7 scanvalid 60
>         protmode CTS ht20 -ampdutx ampdurx ampdulimit 64k ampdudensity 4 -stbc
>         wme roaming MANUAL
>         media: IEEE 802.11 Wireless Ethernet MCS mode 11ng
>         status: associated
>         nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>


An ssh markmi_at_192.168.0.122 into the rpi2 from Mac OS X's terminal worked fine:

> Warning: Permanently added '192.168.0.122' (ECDSA) to the list of known hosts.
> Password for markmi_at_rpi2:
> Last login: Tue Jun 21 01:04:54 2016 from 192.168.0.105
> 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.
> You can look through a file in a nice text-based interface by typing
> 
> 	less filename
> $ 

The problem is apparently not general to all armv6 WiFi contexts.

I'll note that I did not disable or unplug the wired Ethernet.

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

On 2016-Jun-21, at 4:14 AM, Mark Millard <markmi at dsl-only.net> wrote:

> On 2016-Jun-21, at 3:33 AM, Keith White <kwhite at site.uottawa.ca> wrote:
> 
>> 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.
> 
> My context is/was wired (ue0 --as in ifconfig_ue0="DHCP"), not wireless.
> 
>> In an earlier message Ian said that he thought he knew what the
>> problem was...
>> 
>> ...keith
> 
> ===
> Mark Millard
> markmi at dsl-only.net
Received on Tue Jun 21 2016 - 09:59:14 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:41:06 UTC