Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ether_nh_input: no mbuf packet header! #23

Open
dsalychev opened this issue Aug 21, 2023 · 0 comments
Open

ether_nh_input: no mbuf packet header! #23

dsalychev opened this issue Aug 21, 2023 · 0 comments
Assignees
Labels
bug Something isn't working panic Kernel panic

Comments

@dsalychev
Copy link

dsalychev commented Aug 21, 2023

I've stumbled upon this panic during a network load test:

# uname -apKU
FreeBSD guardian 14.0-ALPHA2 FreeBSD 14.0-ALPHA2 aarch64 1400096 #1 main-n264908-58983e4b0253: Sun Aug 20 12:31:18 CEST 2023     dsl@diskless.tower.home:/usr/obj/usr/src/arm64.aarch64/sys/GENERIC arm64 aarch64 1400096 1400096
...
panic: ether_nh_input: no mbuf packet header!
cpuid = 4
time = 14861
KDB: stack backtrace:
db_trace_self() at db_trace_self
db_trace_self_wrapper() at db_trace_self_wrapper+0x30
vpanic() at vpanic+0x19c
panic() at panic+0x44
ether_nh_input() at ether_nh_input+0x460
netisr_dispatch_src() at netisr_dispatch_src+0xe0
ether_input() at ether_input+0xa0
dpaa2_ni_rx() at dpaa2_ni_rx+0x1fc
dpaa2_ni_cleanup_task() at dpaa2_ni_cleanup_task+0x174
taskqueue_run_locked() at taskqueue_run_locked+0x17c
taskqueue_thread_loop() at taskqueue_thread_loop+0xc8
fork_exit() at fork_exit+0x74
fork_trampoline() at fork_trampoline+0x14
KDB: enter: panic
[ thread pid 0 tid 100134 ]
Stopped at      kdb_enter+0x44: str     xzr, [x19, #768]

I haven't ever seen it before.

@dsalychev dsalychev self-assigned this Aug 21, 2023
@dsalychev dsalychev added bug Something isn't working panic Kernel panic labels Aug 21, 2023
dsalychev pushed a commit that referenced this issue Sep 9, 2023
netlink(4) calls back into the driver during detach and it attempts to
start an internal synchronized op recursively, causing an interruptible
hang.  Fix it by failing the ioctl if the VI has been marked as DOOMED
by cxgbe_detach.

Here's the stack for the hang for reference.
 #6  begin_synchronized_op
 #7  cxgbe_media_status
 #8  ifmedia_ioctl
 #9  cxgbe_ioctl
 #10 if_ioctl
 #11 get_operstate_ether
 #12 get_operstate
 #13 dump_iface
 #14 rtnl_handle_ifevent
 #15 rtnl_handle_ifnet_event
 #16 rt_ifmsg
 #17 if_unroute
 #18 if_down
 #19 if_detach_internal
 #20 if_detach
 #21 ether_ifdetach
 #22 cxgbe_vi_detach
 #23 cxgbe_detach
 #24 DEVICE_DETACH

MFC after:	3 days
Sponsored by:	Chelsio Communications
dsalychev pushed a commit that referenced this issue Feb 1, 2024
Interesting fixes:
03c83f5 add __cxa_init_primary_exception (#23)
5d8a158 Fix two bugs in __cxa_end_cleanup()
b00c6c5 Insert padding in __cxa_dependent_exception
45ca8b1 Insert padding in __cxa_exception struct for compatibility
f2e5509 Fix unlock in two-word version and add missing comment.
6229590 Add an option for disabling emergency buffers. (#14)
dsalychev pushed a commit that referenced this issue Feb 1, 2024
Interesting fixes (* were already cherry-picked):
- 03c83f5 add __cxa_init_primary_exception (#23)
* 5d8a158 Fix two bugs in __cxa_end_cleanup()
* b00c6c5 Insert padding in __cxa_dependent_exception
* 45ca8b1 Insert padding in __cxa_exception struct for compatibility
* f2e5509 Fix unlock in two-word version and add missing comment.
- 6229590 Add an option for disabling emergency buffers. (#14)

MFC after:	2 weeks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working panic Kernel panic
Projects
None yet
Development

No branches or pull requests

1 participant