Hi Daniel,
Thanks for giving info to look into it. I have checked the logs and found that -
svc_destroy_task is running in a loop for two tasks - whose xp_refcnts are negative.
Following the are the logs where refcnt became negative. I'm suspecting this could be
due to async call back.
/**************************************************************/
21/12/2020 T13:42:28.211691+0000 9399[none] [svc_32] 0 :rpc :svc_ioq_flushv:
0x7f19fa871f00 fd 13 returning Success (0)
21/12/2020 T13:42:28.211705+0000 9399[none] [svc_32] 0 :rpc :svc_ioq_write: 0x7f19fa871f00
fd 13 COMPLETED
21/12/2020 T13:42:28.211716+0000 9399[none] [svc_32] 0 :rpc :svc_ioq_write: 0x7f19fa871f00
fd 13 About to release
21/12/2020 T13:42:28.211728+0000 9399[none] [svc_32] 0 :rpc :svc_release_it()
0x7f19fa871f00 fd 13 fd_send -1 xp_refcnt 1 af 10 port 874 @svc_ioq_write:399
21/12/2020 T13:42:28.211739+0000 9399[none] [svc_32] 0 :rpc :xdr_ioq_destroy() xioq
0x7f19f140e180
21/12/2020 T13:42:28.211755+0000 9399[none] [svc_32] 0 :rpc :Call uio_release
21/12/2020 T13:42:28.211869+0000 9399[none] [svc_32] 0 :rpc :xdr_bytes_free:653 already
free
21/12/2020 T13:42:28.211901+0000 9399[none] [svc_32] 0 :rpc :xdr_ioq_destroy() xioq
0x7f19f3410300
21/12/2020 T13:42:28.211921+0000 9399[none] [svc_32] 0 :rpc :svc_release_it()
0x7f19fa871f00 fd 13 fd_send -1 xp_refcnt 0 af 10 port 874 @free_nfs_request:1402
21/12/2020 T13:42:28.211934+0000 9399[none] [svc_32] 0 :rpc :svc_vc_destroy_it()
0x7f19fa871f00 fd 13 xp_refcnt 0 @free_nfs_request:1402
21/12/2020 T13:42:28.211953+0000 9399[none] [svc_32] 0 :rpc :svc_release_it()
0x7f19fa871f00 fd 13 fd_send -1 xp_refcnt -1 af 10 port 874 @svc_resume_task:1247
21/12/2020 T13:42:28.211968+0000 9399[none] [svc_32] 0 :rpc :WARNING! already
destroying!() 0x7f19fa871f00 fd 13 fd_send -1 xp_refcnt -1 af 10 port 874
@svc_resume_task:1247
/**************************************************************/
I found that in the function svc_vc_destroy_task() - when ref count is non-zero - task is
resubmitted to work_pool_thread and thus creating a loop when refcount is negative. if
refcount is negative is this way its expected to execute ?
Regards,
Chakra