[LTP] [PATCH 1/2] SUNRPC: Don't allow waiting for exiting tasks
NeilBrown
neil@brown.name
Sun Jul 27 06:50:48 CEST 2025
On Fri, 25 Jul 2025, Harshvardhan Jha wrote:
> On 23/07/25 1:37 PM, NeilBrown wrote:
> > On Wed, 23 Jul 2025, Harshvardhan Jha wrote:
> >> On 08/04/25 4:01 PM, Mark Brown wrote:
> >>> On Fri, Mar 28, 2025 at 01:40:44PM -0400, trondmy@kernel.org wrote:
> >>>> From: Trond Myklebust <trond.myklebust@hammerspace.com>
> >>>>
> >>>> Once a task calls exit_signals() it can no longer be signalled. So do
> >>>> not allow it to do killable waits.
> >>> We're seeing the LTP acct02 test failing in kernels with this patch
> >>> applied, testing on systems with NFS root filesystems:
> >>>
> >>> 10271 05:03:09.064993 tst_test.c:1900: TINFO: LTP version: 20250130-1-g60fe84aaf
> >>> 10272 05:03:09.076425 tst_test.c:1904: TINFO: Tested kernel: 6.15.0-rc1 #1 SMP PREEMPT Sun Apr 6 21:18:14 UTC 2025 aarch64
> >>> 10273 05:03:09.076733 tst_kconfig.c:88: TINFO: Parsing kernel config '/proc/config.gz'
> >>> 10274 05:03:09.087803 tst_test.c:1722: TINFO: Overall timeout per run is 0h 01m 30s
> >>> 10275 05:03:09.088107 tst_kconfig.c:88: TINFO: Parsing kernel config '/proc/config.gz'
> >>> 10276 05:03:09.093097 acct02.c:63: TINFO: CONFIG_BSD_PROCESS_ACCT_V3=y
> >>> 10277 05:03:09.093400 acct02.c:240: TINFO: Verifying using 'struct acct_v3'
> >>> 10278 05:03:10.053504 <6>[ 98.043143] Process accounting resumed
> >>> 10279 05:03:10.053935 <6>[ 98.043143] Process accounting resumed
> >>> 10280 05:03:10.064653 acct02.c:193: TINFO: == entry 1 ==
> >>> 10281 05:03:10.064953 acct02.c:84: TINFO: ac_comm != 'acct02_helper' ('acct02')
> >>> 10282 05:03:10.076029 acct02.c:133: TINFO: ac_exitcode != 32768 (0)
> >>> 10283 05:03:10.076331 acct02.c:141: TINFO: ac_ppid != 2466 (2461)
> > It seems that the acct02 process got logged..
> > Maybe the vfork attempt (trying to run acct02_helper) got half way an
> > aborted.
> > It got far enough that accounting got interested.
> > It didn't get far enough to update the ppid.
> > I'd be surprised if that were even possible....
> >
> > If you would like to help debug this, changing the
> >
> > + if (unlikely(current->flags & PF_EXITING))
> >
> > to
> >
> > + if (unlikely(WARN_ON(current->flags & PF_EXITING)))
> >
> > would provide stack traces so we can wee where -EINTR is actually being
> > returned. That should provide some hints.
> >
> > NeilBrown
>
> Hi Neil,
>
> Upon this addition I got this in the logs
Thanks for testing. Was there anything new in the kernel logs? I was
expecting a WARNING message followed by a "Call Trace".
If there wasn't, then this patch cannot have caused the problem.
If there was, then I need to see it.
Thanks,
NeilBrown
>
> <<<test_start>>>
> tag=acct02 stime=1753444172
> cmdline="acct02"
> contacts=""
> analysis=exit
> <<<test_output>>>
> tst_kconfig.c:88: TINFO: Parsing kernel config
> '/lib/modules/6.15.8-1.bug38227970.el9.rc2.x86_64/config'
> tst_tmpdir.c:316: TINFO: Using /tmpdir/ltp-w1ozKKlJ6n/LTP_acc4RRfLh as
> tmpdir (nfs filesystem)
> tst_test.c:2004: TINFO: LTP version: 20250530-105-gda73e1527
> tst_test.c:2007: TINFO: Tested kernel:
> 6.15.8-1.bug38227970.el9.rc2.x86_64 #1 SMP PREEMPT_DYNAMIC Fri Jul 25
> 02:03:04 PDT 2025 x86_64
> tst_kconfig.c:88: TINFO: Parsing kernel config
> '/lib/modules/6.15.8-1.bug38227970.el9.rc2.x86_64/config'
> tst_test.c:1825: TINFO: Overall timeout per run is 0h 00m 30s
> tst_kconfig.c:88: TINFO: Parsing kernel config
> '/lib/modules/6.15.8-1.bug38227970.el9.rc2.x86_64/config'
> acct02.c:61: TINFO: CONFIG_BSD_PROCESS_ACCT_V3=y
> acct02.c:238: TINFO: Verifying using 'struct acct_v3'
> acct02.c:191: TINFO: == entry 1 ==
> acct02.c:82: TINFO: ac_comm != 'acct02_helper' ('acct02')
> acct02.c:131: TINFO: ac_exitcode != 32768 (0)
> acct02.c:139: TINFO: ac_ppid != 88929 (88928)
> acct02.c:181: TFAIL: end of file reached
>
> HINT: You _MAY_ be missing kernel fixes:
>
> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=4d9570158b626
>
> Summary:
> passed 0
> failed 1
> broken 0
> skipped 0
> warnings 0
> incrementing stop
> <<<execution_status>>>
> initiation_status="ok"
> duration=1 termination_type=exited termination_id=1 corefile=no
> cutime=0 cstime=20
>
> <<<test_end>>>
>
>
> Thanks & Regards,
>
> Harshvardhan
More information about the ltp
mailing list