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@xxxxxxxxxx wrote: >>>> From: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> >>>> >>>> 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 <<<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 > >>> 10284 05:03:10.076572 acct02.c:183: TFAIL: end of file reached >>> 10285 05:03:10.076790 >>> 10286 05:03:10.087439 HINT: You _MAY_ be missing kernel fixes: >>> 10287 05:03:10.087741 >>> 10288 05:03:10.087979 https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=4d9570158b626 >>> 10289 05:03:10.088201 >>> 10290 05:03:10.088414 Summary: >>> 10291 05:03:10.088618 passed 0 >>> 10292 05:03:10.098852 failed 1 >>> 10293 05:03:10.099212 broken 0 >>> 10294 05:03:10.099454 skipped 0 >>> 10295 05:03:10.099675 warnings 0 >>> >>> I ran a bisect which zeroed in on this commit (log below), I didn't look >>> into it properly but the test does start and exit a test program to >>> verify that accounting records get created properly which does look >>> relevant. >> Hi there, >> I faced the same issue and reverting this patch fixed the issue. >> Is this an issue introduced by this patch or it's due to the ltp >> testcase being outdated? >> >> Thanks & Regards, >> Harshvardhan >> >>> git bisect start >>> # status: waiting for both good and bad commits >>> # bad: [0af2f6be1b4281385b618cb86ad946eded089ac8] Linux 6.15-rc1 >>> git bisect bad 0af2f6be1b4281385b618cb86ad946eded089ac8 >>> # status: waiting for good commit(s), bad commit known >>> # good: [38fec10eb60d687e30c8c6b5420d86e8149f7557] Linux 6.14 >>> git bisect good 38fec10eb60d687e30c8c6b5420d86e8149f7557 >>> # good: [fd71def6d9abc5ae362fb9995d46049b7b0ed391] Merge tag 'for-6.15-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux >>> git bisect good fd71def6d9abc5ae362fb9995d46049b7b0ed391 >>> # good: [93d52288679e29aaa44a6f12d5a02e8a90e742c5] Merge tag 'backlight-next-6.15' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/backlight >>> git bisect good 93d52288679e29aaa44a6f12d5a02e8a90e742c5 >>> # good: [2cd5769fb0b78b8ef583ab4c0015c2c48d525dac] Merge tag 'driver-core-6.15-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core >>> git bisect good 2cd5769fb0b78b8ef583ab4c0015c2c48d525dac >>> # bad: [25757984d77da731922bed5001431673b6daf5ac] Merge tag 'staging-6.15-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging >>> git bisect bad 25757984d77da731922bed5001431673b6daf5ac >>> # good: [28a1b05678f4e88de90b0987b06e13c454ad9bd6] Merge tag 'i2c-for-6.15-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux >>> git bisect good 28a1b05678f4e88de90b0987b06e13c454ad9bd6 >>> # good: [92b71befc349587d58fdbbe6cdd68fb67f4933a8] Merge tag 'objtool-urgent-2025-04-01' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip >>> git bisect good 92b71befc349587d58fdbbe6cdd68fb67f4933a8 >>> # good: [5e17b5c71729d8ce936c83a579ed45f65efcb456] Merge tag 'fuse-update-6.15' of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/fuse >>> git bisect good 5e17b5c71729d8ce936c83a579ed45f65efcb456 >>> # good: [344a50b0f4eecc160c61d780f53d2f75586016ce] staging: gpib: lpvo_usb_gpib: struct gpib_board >>> git bisect good 344a50b0f4eecc160c61d780f53d2f75586016ce >>> # bad: [9e8f324bd44c1fe026b582b75213de4eccfa1163] NFSv4: Check for delegation validity in nfs_start_delegation_return_locked() >>> git bisect bad 9e8f324bd44c1fe026b582b75213de4eccfa1163 >>> # good: [df210d9b0951d714c1668c511ca5c8ff38cf6916] sunrpc: Add a sysfs file for adding a new xprt >>> git bisect good df210d9b0951d714c1668c511ca5c8ff38cf6916 >>> # good: [bf9be373b830a3e48117da5d89bb6145a575f880] SUNRPC: rpc_clnt_set_transport() must not change the autobind setting >>> git bisect good bf9be373b830a3e48117da5d89bb6145a575f880 >>> # good: [c81d5bcb7b38ab0322aea93152c091451b82d3f3] NFSv4: clp->cl_cons_state < 0 signifies an invalid nfs_client >>> git bisect good c81d5bcb7b38ab0322aea93152c091451b82d3f3 >>> # bad: [14e41b16e8cb677bb440dca2edba8b041646c742] SUNRPC: Don't allow waiting for exiting tasks >>> git bisect bad 14e41b16e8cb677bb440dca2edba8b041646c742 >>> # good: [0af5fb5ed3d2fd9e110c6112271f022b744a849a] NFSv4: Treat ENETUNREACH errors as fatal for state recovery >>> git bisect good 0af5fb5ed3d2fd9e110c6112271f022b744a849a >>> # first bad commit: [14e41b16e8cb677bb440dca2edba8b041646c742] SUNRPC: Don't allow waiting for exiting tasks