On Fri, Apr 08, 2022 at 10:16:01AM +0200, Sebastien Marie wrote:
On Fri, Apr 08, 2022 at 06:38:47AM +0200, Sebastien Marie wrote:
On Thu, Apr 07, 2022 at 02:53:07PM +0200, Alexander Bluhm wrote:
I have a diff for adding some stacktrace history for vnode (keeping track of
lasts vref/vrele/vget/vput). but I am not sure it would be efficient to found
the underline problem.

let's try it.

the following diffs adds a stacktrace keeping inside vnode. each vnode will save
the stacktrace on v_usecount change (vget/vput/vref/vrele operation).

the stacktraces are kept in a ring (9 slots, to avoid too big vnode struct). if
powerpc has different stack limitation than amd64/i386, see VH_MAXST inside
sys/vnode.h to adjust the size of the ring.

ddb "show vnode /f" and vprint() will call vnode_history_print() function.

I also added a more strict vn_lock() function. before, I was only checking if
the vnode was in freelist. now I am checking that v_usecount != 0 (with a
special case, as vrele() is volontary calling vn_lock() with v_usecount==0).

due to vn_lock change, the powerpc release(8) build should panic(9) early.

the purpose is too look at the stacktrace history to know the functions to
review. the problem could be a race, an unmanaged sleeping-point, or a missing
lock inside some function.

please report the panic() backtrace with the vprint() output or, if no vprint,
ddb "show vnode /f 0xXYZ"

Andrew, if you write the output by hand, you could send to me some photos if it
is more simple for you: the stacktrace history could be somehow unpleasant to
manual transcribe.

The diff belows applies on top of -current (please discard previous diff).

I am running it on i386 without problem for now.

Thanks.
--
Sebastien Marie

Unfortunately, I didn't have a chance to get to my home computer last
week and provide you with the information you need. My apologies.

could you get the filename of the vnode ?

$ find -x /home/ -inum 19627621 -ls
19627621 740096 -rw-r--r--    1 _qbittorrent noiseless     378860088 Feb 16  
2021 /home/torrents/downloads/Manowar 1982-2014/Studio Albums/2002 Warriors Of 
The World/2002 Warriors Of The World [2002 Japan ZACB-1058 Zain]/Manowar - 
Warriors Of The World (ZACB-1058).flac
$

So, it is an ordinary file that qbittorrent distributes over
the network.

Again, I apologize for the delay.

--
Wbr, Andrew Krasavin

Reply via email to