Bug 229264 - [mips] init died (signal 0, exit 1) and kernel panic
Summary: [mips] init died (signal 0, exit 1) and kernel panic
Status: New
Alias: None
Product: Base System
Classification: Unclassified
Component: bin (show other bugs)
Version: CURRENT
Hardware: mips Any
: --- Affects Only Me
Assignee: freebsd-mips mailing list
URL:
Keywords: regression
Depends on:
Blocks:
 
Reported: 2018-06-24 01:36 UTC by Piotr Kubaj
Modified: 2018-10-09 15:05 UTC (History)
4 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Piotr Kubaj freebsd_committer 2018-06-24 01:36:38 UTC
I updated my old TP-LINK TL-WR1043ND (v1) to 12.0-CURRENT r335594 (before that, it was unused for over 2 years and was 11.0-CURRENT from January 2016).

During booting, I now get:
start_init: trying /sbin/init
rtl8366rb0port0: link state changed to UP
init died (signal 0, exit 1)
panic: Going nowhere without my init!
time = 1529810737
KDB: enter: panic
[ thread pid 1 tid 100001 ]
Stopped at      _DYNAMIC_LINKING+0x3:
db> bt
Tracing pid 1 tid 100001 td 0x80676000
kdb_enter+0x44 (?,?,?,?) ra 801acfb8 sp c1223cb8 sz 24
vpanic+0x17c (?,?,?,?) ra 801acfe0 sp c1223cd0 sz 40
kproc_shutdown (?,1d,0,0) ra 8017a474 sp c1223cf8 sz 32
exit1+0x1fc (?,?,?,?) ra 8017ad84 sp c1223d18 sz 96
sys_abort2 (?,?,?,?) ra 803746f0 sp c1223d78 sz 24
trap+0xe08 (?,?,?,?) ra 0 sp c1223d90 sz 0

I'm now rebuilding kernel and trying to fit in debugging.
Comment 1 Adrian Chadd freebsd_committer 2018-06-24 04:30:27 UTC
oh interesting, ok. lemme go try.
Comment 2 Piotr Kubaj freebsd_committer 2018-06-24 09:53:55 UTC
I enabled debugging options (just commented out 6 nooptions entries in kernel config, but there's still no explanation). Wholo boot log is here:
ar7100> bootm 0xbf020000
## Booting image at bf020000 ...
   Uncompressing Kernel Image ... OK

Starting kernel ...

CPU platform: Atheros AR9132 rev 2
CPU Frequency=400 MHz
CPU DDR Frequency=400 MHz
CPU AHB Frequency=200 MHz
platform frequency: 400 MHz
CPU reference clock: 5 MHz
CPU MDIO clock: 5 MHz
arguments:
  a0 = 00000007
  a1 = a3f77fb0
  a2 = a3f78440
  a3 = 00000008
Cmd line:argv is invalid
Environment:
envp is invalid
Cache info:
  picache_stride    = 4096
  picache_loopcount = 16
  pdcache_stride    = 4096
  pdcache_loopcount = 8
  max line size     = 32
cpu0: MIPS Technologies processor v116.147
  MMU: Standard TLB, 16 entries (4K 16K 64K 256K 1M 16M 64M 256M pg sizes)
  L1 i-cache: 4 ways of 512 sets, 32 bytes per line
  L1 d-cache: 4 ways of 256 sets, 32 bytes per line
  L2 cache: disabled
  Config1=0x9ee3519e<PerfCount,WatchRegs,MIPS16,EJTAG>
  Config2=0x80000000
  Config3=0x20
  Config7=0x0
Physical memory chunk(s):
0x559000 - 0x3ffffff, 61501440 bytes (15015 pages)
Maxmem is 0x4000000
KDB: debugger backends: ddb
KDB: current backend: ddb
Copyright (c) 1992-2018 The FreeBSD Project.
Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
        The Regents of the University of California. All rights reserved.
FreeBSD is a registered trademark of The FreeBSD Foundation.
FreeBSD 12.0-CURRENT #1 r335594: Sun Jun 24 05:45:53 CEST 2018
    pkubaj@FreeBSD11:/usr/home/pkubaj/obj/mips_ap/usr/home/pkubaj/head/mips.mips/sys/TP-WN1043ND_64_RAM mips
gcc version 6.4.0 (FreeBSD Ports Collection for mips)
WARNING: WITNESS option enabled, expect reduced performance.
Preloaded elf kernel "kernel" at 0x805527ec.
real memory  = 67108864 (65536K bytes)
Physical memory chunk(s):
0x005ed000 - 0x03c99fff, 57331712 bytes (13997 pages)
avail memory = 56909824 (54MB)
arc4random: no preloaded entropy cache
random: entropy device external interface
mem: <memory>
null: <full device, null device, zero device>
nexus0: <MIPS32 root nexus>
random: harvesting attach, 8 bytes (4 bits) from nexus0
clock0: <Generic MIPS32 ticker> on nexus0
Timecounter "MIPS32" frequency 200000000 Hz quality 800
Event timer "MIPS32" frequency 200000000 Hz quality 800
random: harvesting attach, 8 bytes (4 bits) from clock0
apb0 at irq 4 on nexus0
uart0: <16550 or compatible> at mem 0x18020003-0x1802001a irq 3 on apb0
uart0: console (115200,n,8,1)
uart0: fast interrupt
uart0: PPS capture mode: DCD
random: harvesting attach, 8 bytes (4 bits) from uart0
gpio0: <Atheros AR71XX GPIO driver> at mem 0x18040000-0x18040fff irq 2 on apb0
gpio0: [GIANT-LOCKED]
gpio0: function_set: 0x2000
gpio0: function_clear: 0x0
gpio0: gpio pinmask=0x1c02ae
gpiobus0: <GPIO bus> on gpio0
gpiobus0: <unknown device> at pin 2
gpiobus0: <unknown device> at pin 5
gpiobus0: <unknown device> at pin 9
gpioiic0: <GPIO I2C bit-banging driver> at pins 18-19 on gpiobus0
gpioiic0: SCL pin: 19, SDA pin: 18
iicbb0: <I2C bit-banging driver> on gpioiic0
iicbus0: <Philips I2C bus> on iicbb0 master-only
rtl8366rb0: <RTL8366RB Ethernet Switch Controller> at addr 0xa8 on iicbus0
rtl8366rb0: rev. 3
miibus0: <MII bus> on rtl8366rb0
ukphy0: <Generic IEEE 802.3u media interface> PHY 0 on miibus0
ukphy0: OUI 0x00e04c, model 0x0016, rev. 1
ukphy0:  none, 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT-FDX, 1000baseT-FDX-master, auto
random: harvesting attach, 8 bytes (4 bits) from ukphy0
random: harvesting attach, 8 bytes (4 bits) from miibus0
miibus1: <MII bus> on rtl8366rb0
ukphy1: <Generic IEEE 802.3u media interface> PHY 1 on miibus1
ukphy1: OUI 0x00e04c, model 0x0016, rev. 1
ukphy1:  none, 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT-FDX, 1000baseT-FDX-master, auto
random: harvesting attach, 8 bytes (4 bits) from ukphy1
random: harvesting attach, 8 bytes (4 bits) from miibus1
miibus2: <MII bus> on rtl8366rb0
ukphy2: <Generic IEEE 802.3u media interface> PHY 2 on miibus2
ukphy2: OUI 0x00e04c, model 0x0016, rev. 1
ukphy2:  none, 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT-FDX, 1000baseT-FDX-master, auto
random: harvesting attach, 8 bytes (4 bits) from ukphy2
random: harvesting attach, 8 bytes (4 bits) from miibus2
miibus3: <MII bus> on rtl8366rb0
ukphy3: <Generic IEEE 802.3u media interface> PHY 3 on miibus3
ukphy3: OUI 0x00e04c, model 0x0016, rev. 1
ukphy3:  none, 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT-FDX, 1000baseT-FDX-master, auto
random: harvesting attach, 8 bytes (4 bits) from ukphy3
random: harvesting attach, 8 bytes (4 bits) from miibus3
miibus4: <MII bus> on rtl8366rb0
ukphy4: <Generic IEEE 802.3u media interface> PHY 4 on miibus4
ukphy4: OUI 0x00e04c, model 0x0016, rev. 1
ukphy4:  none, 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT-FDX, 1000baseT-FDX-master, auto
random: harvesting attach, 8 bytes (4 bits) from ukphy4
random: harvesting attach, 8 bytes (4 bits) from miibus4
mdio0: <MDIO> on rtl8366rb0
random: harvesting attach, 8 bytes (4 bits) from mdio0
etherswitch0: <Switch controller> on rtl8366rb0
random: harvesting attach, 8 bytes (4 bits) from etherswitch0
random: harvesting attach, 8 bytes (4 bits) from rtl8366rb0
iic0: <I2C generic I/O> on iicbus0
random: harvesting attach, 8 bytes (4 bits) from iic0
random: harvesting attach, 8 bytes (4 bits) from iicbus0
random: harvesting attach, 8 bytes (4 bits) from iicbb0
random: harvesting attach, 8 bytes (4 bits) from gpioiic0
random: harvesting attach, 8 bytes (4 bits) from gpiobus0
gpioc0: <GPIO controller> on gpio0
random: harvesting attach, 8 bytes (4 bits) from gpioc0
random: harvesting attach, 8 bytes (4 bits) from gpio0
random: harvesting attach, 8 bytes (4 bits) from apb0
ehci0: <AR71XX Integrated USB 2.0 controller> at mem 0x1b000100-0x1bffffff irq 1 on nexus0
usbus0: EHCI version 1.0
usbus0 on ehci0
ehci0: usbpf: Attached
random: harvesting attach, 8 bytes (4 bits) from usbus0
random: harvesting attach, 8 bytes (4 bits) from ehci0
arge0: <Atheros AR71xx built-in ethernet interface> at mem 0x19000000-0x19000fff irq 2 on nexus0
arge0: Overriding MAC from EEPROM
arge0: finishing attachment, phymask 0000, proxy null
arge0: bpf attached
arge0: Ethernet address: 90:f6:52:f5:94:88
random: harvesting attach, 8 bytes (4 bits) from arge0
arge1: <Atheros AR71xx built-in ethernet interface> at mem 0x1a000000-0x1a000fff irq 3 on nexus0
arge1: Generating random ethernet address.
arge1: finishing attachment, phymask 0000, proxy null
arge1: Unknown media 0
arge1: bpf attached
arge1: Ethernet address: 62:73:64:b9:97:f4
random: harvesting attach, 8 bytes (4 bits) from arge1
spi0: <AR71XX SPI> at mem 0x1f000000-0x1f00000f on nexus0
spibus0: <SPI bus> on spi0
mx25l0: <M25Pxx Flash Family> at cs 0 mode 0 on spibus0
mx25l0: device type s25fl064, size 8192K in 128 sectors of 64K, erase size 64K
random: harvesting attach, 8 bytes (4 bits) from mx25l0
random: harvesting attach, 8 bytes (4 bits) from spibus0
random: harvesting attach, 8 bytes (4 bits) from spi0
ar71xx_wdog0: <Atheros AR71XX watchdog timer> on nexus0
ar71xx_wdog0: Previous reset was due to watchdog timeout
random: harvesting attach, 8 bytes (4 bits) from ar71xx_wdog0
Device configuration finished.
Timecounters tick every 1.000 msec
lo0: bpf attached
tcp_init: net.inet.tcp.tcbhashsize auto tuned to 1024
rtl8366rb0port0: link state changed to DOWN
rtl8366rb0port1: link state changed to DOWN
rtl8366rb0port2: link state changed to DOWN
rtl8366rb0port3: link state changed to DOWN
rtl8366rb0port4: link state changed to DOWN
GEOM: new disk flash/spi0
MAP: flash/spi0: 0x20000, data=0x20000 "/dev/map/uboot"
MAP: search flash/spi0 for key ".!/bin/sh" from 0x100000, step 0x10000
usbus0: 480Mbps High Speed USB v2.0
ugen0.1: <Atheros EHCI root HUB> at usbus0
uhub0: <Atheros EHCI root HUB, class 9/0, rev 2.00/1.00, addr 1> on usbus0
MAP: flash/spi0: 20000x220000, data=0x220000 "/dev/map/kernel"
MAP: search flash/spi0 for key ".!/bin/sh" from 0x100000, step 0x10000
MAP: flash/spi0: 240000x5a0000, data=0x5a0000 "/dev/map/rootfs"
MAP: flash/spi0: 7e0000x10000, data=0x10000 "/dev/map/cfg"
MAP: flash/spi0: 7f0000x10000, data=0x10000 "/dev/map/art"
MAP: No valid partition found at map/rootfs.uzip
WARNING: WITNESS option enabled, expect reduced performance.
Trying to mount root from ufs:map/rootfs.uzip []...
uhub0: 1 port with 1 removable, self powered
random: harvesting attach, 8 bytes (4 bits) from uhub0
Warning: no time-of-day clock registered, system time will not be set accurately
start_init: trying /sbin/init
rtl8366rb0port0: link state changed to UP
init died (signal 0, exit 1)
panic: Going nowhere without my init!
time = 1529812906
KDB: enter: panic
[ thread pid 1 tid 100001 ]
Stopped at      _DYNAMIC_LINKING+0x3:
db> bt
Tracing pid 1 tid 100001 td 0x80676000
kdb_enter+0x44 (?,?,?,?) ra 801c7260 sp c1223cb8 sz 24
vpanic+0x17c (?,?,?,?) ra 801c7af4 sp c1223cd0 sz 40
sys_reboot (?,1d,80676000,178) ra 8018b524 sp c1223cf8 sz 32
exit1+0x2c0 (?,?,?,?) ra 8018bfd8 sp c1223d18 sz 96
sys_abort2 (?,?,?,?) ra 803da798 sp c1223d78 sz 24
trap+0xf7c (?,?,?,?) ra 0 sp c1223d90 sz 0
Comment 3 Gergely Kiss 2018-07-01 22:50:36 UTC
Assuming the build was produced using the freebsd-wifi-build scripts: I was also facing this issue with the same board and managed to resolve it. My idea was to include the "real" /sbin/init binary instead of the symlink pointing to bsdbox. This way I could get the following output:

Trying to mount root from ufs:map/rootfs.uzip []...
Warning: no time-of-day clock registered, system time will not be set accurately
start_init: trying /sbin/init
uhub0: 1 port with 1 removable, self powered
random: harvesting attach, 8 bytes (4 bits) from uhub0
Jul  1 20:08:55 init: login_getclass: unknown class 'daemon'
rtl8366rb0port4: link state changed to UP
Shared object "libsbuf.so.6" not found, required by "lib80211.so.1"
Enter full pathname of shell or RETURN for /bin/sh: 

After including the missing libraries in the image, the issue was gone:

https://github.com/kissg1988/freebsd-wifi-build/commit/0477cf50fad030e574a5cf901541c55be248e96b
Comment 4 Piotr Kubaj freebsd_committer 2018-07-04 00:18:32 UTC
(In reply to Gergely Kiss from comment #3)
Thanks, it looks like it works.

Small offtop - do you know what needs to be included in the kernel config to make wifi work? I can see there are ath modules in the config but wifi card isn't detected.
Comment 5 Gergely Kiss 2018-07-05 05:55:22 UTC
(In reply to Piotr Kubaj from comment #4)
Nothing special, I use the build config named "tl-wr1043nd" from freebsd-wifi-build and the kernel config "TP-WN1043ND" included in 11.2-RELEASE. I had stability issues with FreeBSD-HEAD (saw kernel panics sometimes due to TLB cache misses near the end of the boot process) so I decided to use -RELEASE, instead and now have great stability.

Here are the dmesg lines relevant to the wireless interface from my installation:

ath0: Vendor=0x168c, Device=0x000b
ath0: Vendor=0x168c, Device=0x000b
ath0: <Atheros 9130> at mem 0x180c0000-0x180effff irq 0 on nexus0
ath0: eeprom @ 0x1fff1000 (4096 bytes)
ath0: eeprom data @ 0xbfff1000
ath0: [HT] enabling HT modes
ath0: [HT] 2 RX streams; 2 TX streams
ath0: 11b rates: 1Mbps 2Mbps 5.5Mbps 11Mbps
ath0: 11g rates: 1Mbps 2Mbps 5.5Mbps 11Mbps 6Mbps 9Mbps 12Mbps 18Mbps 24Mbps 36Mbps 48Mbps 54Mbps
ath0: 2T2R
ath0: 11ng MCS 20MHz
ath0: MCS 0-7: 6.5Mbps - 65Mbps
ath0: MCS 8-15: 13Mbps - 130Mbps
ath0: 11ng MCS 40MHz:
ath0: MCS 0-7: 13.5Mbps - 135Mbps
ath0: MCS 8-15: 27Mbps - 270Mbps
ath0: 11ng MCS 40MHz SGI:
ath0: MCS 0-7: 15Mbps - 150Mbps
ath0: MCS 8-15: 30Mbps - 300Mbps
ath0: AR9130 mac 20.1 RF2133 phy 10.2
ath0: 2GHz radio: 0x0000; 5GHz radio: 0x00d0
ath0: Use hw queue 1 for WME_AC_BE traffic
ath0: Use hw queue 0 for WME_AC_BK traffic
ath0: Use hw queue 2 for WME_AC_VI traffic
ath0: Use hw queue 3 for WME_AC_VO traffic
ath0: Use hw queue 8 for CAB traffic
ath0: Use hw queue 9 for beacons
ath0: using multicast key search

Feel free to pull my fork of freebsd-wifi-build and give it a try if you wish. I have pushed my convenience build script in the branch "buildscript" as it can ease the build process a bit:

https://github.com/kissg1988/freebsd-wifi-build/blob/buildscript/scripts/build.sh

If you have any further questions, please reach out to my by email to keep this bugreport clean.

Thanks,
Gergely