Skip to content

DAOS-19386 test: Add stall watchdog to NLT FI tests - #18779

Draft
mjmac wants to merge 1 commit into
masterfrom
mjmac/DAOS-19386
Draft

DAOS-19386 test: Add stall watchdog to NLT FI tests#18779
mjmac wants to merge 1 commit into
masterfrom
mjmac/DAOS-19386

Conversation

@mjmac

@mjmac mjmac commented Aug 5, 2026

Copy link
Copy Markdown
Contributor

Don't allow a stuck child process to tank the entire NLT
run. When a stall is detected, attempt to capture stack
traces and fail early.

The /proc dump shows a real stall directly. From the hang that
motivated this patch: the stalled child holds the parent-dir lock
while waiting on its LOOKUP reply, and every dfuse worker is blocked
on that same lock trying to write a dentry invalidation:

TID 34163: comm=daos wchan=request_wait_answer state=S
[<0>] request_wait_answer+0xfa/0x210 [fuse]
[<0>] fuse_simple_request+0x1b8/0x330 [fuse]
[<0>] fuse_lookup_name+0xa4/0x1c0 [fuse]
[<0>] fuse_lookup+0x66/0x190 [fuse]
[<0>] __lookup_hash+0x70/0xa0
[<0>] __filename_create+0x87/0x150
[<0>] do_mkdirat+0x4c/0x160
[<0>] __x64_sys_mkdir+0x47/0x70

TID 29212: comm=dfuse worker wchan=fuse_reverse_inval_entry state=D
[<0>] fuse_reverse_inval_entry+0x40/0x210 [fuse]
[<0>] fuse_notify+0x287/0x500 [fuse]
[<0>] fuse_dev_do_write+0x305/0x4e0 [fuse]
[<0>] fuse_dev_write+0x50/0x80 [fuse]
TID 29213, 29214: identical (the whole worker pool)

Signed-off-by: Michael MacDonald github@macdonald.cx

@github-actions

github-actions Bot commented Aug 5, 2026

Copy link
Copy Markdown

Ticket title is 'NLT stage timing out (~63 min) on master and PR builds — daos container create fault injection appears to hang'
Status is 'In Progress'
https://daosio.atlassian.net/browse/DAOS-19386

@mjmac

mjmac commented Aug 5, 2026

Copy link
Copy Markdown
Contributor Author

@mjmac
mjmac force-pushed the mjmac/DAOS-19386 branch from fb660c8 to bc0d31c Compare August 6, 2026 14:17
@daosbuild3

Copy link
Copy Markdown
Collaborator

@daosbuild3

Copy link
Copy Markdown
Collaborator

Test stage Functional Hardware Medium MD on SSD completed with status UNSTABLE. https://jenkins-3.daos.hpc.amslabs.hpecorp.net/job/daos-stack/job/daos//view/change-requests/job/PR-18779/2/testReport/

Don't allow a stuck child process to tank the entire NLT
run. When a stall is detected, attempt to capture stack
traces and fail early.

The /proc dump shows a real stall directly. From the hang that
motivated this patch: the stalled child holds the parent-dir lock
while waiting on its LOOKUP reply, and every dfuse worker is blocked
on that same lock trying to write a dentry invalidation:

  TID 34163: comm=daos  wchan=request_wait_answer  state=S
      [<0>] request_wait_answer+0xfa/0x210 [fuse]
      [<0>] fuse_simple_request+0x1b8/0x330 [fuse]
      [<0>] fuse_lookup_name+0xa4/0x1c0 [fuse]
      [<0>] fuse_lookup+0x66/0x190 [fuse]
      [<0>] __lookup_hash+0x70/0xa0
      [<0>] __filename_create+0x87/0x150
      [<0>] do_mkdirat+0x4c/0x160
      [<0>] __x64_sys_mkdir+0x47/0x70

  TID 29212: comm=dfuse worker  wchan=fuse_reverse_inval_entry  state=D
      [<0>] fuse_reverse_inval_entry+0x40/0x210 [fuse]
      [<0>] fuse_notify+0x287/0x500 [fuse]
      [<0>] fuse_dev_do_write+0x305/0x4e0 [fuse]
      [<0>] fuse_dev_write+0x50/0x80 [fuse]
  TID 29213, 29214: identical (the whole worker pool)

Signed-off-by: Michael MacDonald <github@macdonald.cx>
@mjmac
mjmac force-pushed the mjmac/DAOS-19386 branch from bc0d31c to 45f6e89 Compare August 7, 2026 14:49
@daosbuild3

Copy link
Copy Markdown
Collaborator

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

2 participants