Skip to contentSkip to conversation

Crash due to corruption from data race in page prefault in alloc_seg()

DPDK/core Bug 1944 [email protected] 1 participant 1 message May 13

lore
Share & tools
lore
#0 lore raw

http://bugs.dpdk.org/show_bug.cgi?id=1944

Bug ID: 1944
Summary: Crash due to corruption from data race in page
prefault in alloc_seg()
Product: DPDK
Version: 24.11
Hardware: All
OS: Linux
Status: UNCONFIRMED
Severity: normal
Priority: Normal
Component: core
Assignee: [email protected]
Reporter: [email protected]
Target Milestone: ---

Hi, recently we caught a data corruption seemingly caused by a page prefault in alloc_seg() function from lib/eal/linux/eal_memalloc.c:

Quoted 1 line

*(volatile int *)addr = *(volatile int *)addr;

Internal investigation showed that rte_eal_init() from a secondary process was indirectly calling this function, which in rare cases led to data corruption.
In our case it resulted in a scheduler crash:

Quoted 2 lines

EAL: PANIC in eth_event_queue_callback():
Cannot restart RxQ(p:1,q:0) after max trying times 4, abort!

The issue is reported for v24.11, but I don't think it is tied to this specific version and is a general problem since that prefault was added in v18.05.

Signature · 2 lines
You are receiving this mail because:
You are the assignee for the bug.