Re: ifmcstat/rtsol with debug kernel -- "...with 1 sleep inhibitors"

From: Zhenlei Huang <zlei_at_FreeBSD.org>
Date: Mon, 23 Mar 2026 16:31:46 UTC

> On Mar 23, 2026, at 11:12 AM, Bjoern A. Zeeb <bzeeb-lists@lists.zabbadoz.net> wrote:
> 
> Hi,
> 
> I have no clue which chnage it was but running
> 	 ifmcstat
> with a debug kernel gives more backtraces than information.
> 
> Lots of "uma_zalloc_debug: ... with 1 sleep inhibitors"
> 
> Can we please fix this before putting more changes on top for the network stack?
> 
> 
> I am also still seeing a similar warning with rtsol still:
> 
> # rtsol wlan0
> Invoking IPv6 network device address event may sleep with 1 sleep inhibitors

That is from in6_notify_ifa().

A quick look at it, I believe at least

```
if (ifacount <= 1 && ifp->if_ioctl) {
                error = (*ifp->if_ioctl)(ifp, SIOCSIFADDR, (caddr_t)ia);
                if (error)
                        goto done;
        }
```

appears wrong to me.

ether_input() is a typical fast path and is running in net epoch. The
ioctl ( and also the event handler of ifaddr_event_ext ) should run in deferred context. 

I'm busy working on if_detach() race bugs so do not have time to
investigate this. I'm CCing Pouria as he has recently made 
improvements to inet6, and may have thoughts on this.

> stack backtrace:
> #0 0xffffffff80c2e51c at witness_debugger+0x6c
> #1 0xffffffff80c2fe29 at witness_warn+0x4c9
> #2 0xffffffff80df8087 at in6_update_ifa+0xc67
> #3 0xffffffff80e256df at in6_ifadd+0x30f
> #4 0xffffffff80e21c96 at nd6_ra_input+0x1066
> #5 0xffffffff80df1b50 at icmp6_input+0x5b0
> #6 0xffffffff80e0c465 at ip6_input+0xbb5
> #7 0xffffffff80d21f14 at netisr_dispatch_src+0xb4
> #8 0xffffffff80d03cda at ether_demux+0x16a
> #9 0xffffffff80d0524e at ether_nh_input+0x3ce
> #10 0xffffffff80d21f14 at netisr_dispatch_src+0xb4
> #11 0xffffffff80d04125 at ether_input+0xd5
> #12 0xffffffff80d54292 at ieee80211_vap_deliver_data+0x32
> #13 0xffffffff80d8823d at sta_input+0xc6d
> #14 0xffffffff80d618ac at ieee80211_input_mimo+0x20c
> #15 0xffffffff82f0f255 at lkpi_80211_lhw_rxq_task+0x135
> #16 0xffffffff80c201f2 at taskqueue_run_locked+0x1c2
> #17 0xffffffff80c210e3 at taskqueue_thread_loop+0xd3
> 
> 
> --
> Bjoern A. Zeeb                                                     r15:7
> 

Best regards,
Zhenlei