Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Ref leak when stopping server w/ clients #12

Open
mdavidsaver opened this issue Feb 7, 2018 · 3 comments
Open

Ref leak when stopping server w/ clients #12

mdavidsaver opened this issue Feb 7, 2018 · 3 comments
Assignees
Labels

Comments

@mdavidsaver
Copy link
Member

When the PVA server is stopped while a clients is connected,
there is a leak of a number of resources.

with no client connected

epics> refdiff
 Field : 46 (delta 16)

client connects

epics> stopPVAServer
Leaking Transport tcp transport use_count=3
2018-02-07T10:30:01.058 Closed transport 10.0.142.1:52472 still has use_count=3
Leaking ServerContext _responseHandler use_count=2
2018-02-07T10:30:01.058 ServerContextImpl::shutdown() doesn't break all internal ref. loops. use_count=20
epics> refdiff
 BlockingTCPTransportCodec : 1 (delta 1)
 Channel (ABC) : 1 (delta 1)
 ChannelBaseRequester (ABC) : 1 (delta 1)
 ChannelRequester (ABC) : 1 (delta 1)
 Field : 50 (delta 20)
 PDBSingleChannel : 1 (delta 1)
 PDBSinglePV : 1 (delta 1)
 PVField : 34 (delta 31)
 ServerChannel : 1 (delta 1)
 Transport (ABC) : 1 (delta -5)
@mdavidsaver mdavidsaver added the bug label Feb 7, 2018
@mdavidsaver mdavidsaver self-assigned this Feb 7, 2018
@mdavidsaver
Copy link
Member Author

I'm not sure if this is pvAccessCPP, or QSRV. May be related to #6.

@mdavidsaver
Copy link
Member Author

After another round of ref. loop breaking (and other, possibly related cleanup) in pvAccessCPP this symptom seems to have gone away. epics-base/pvAccessCPP@1e0523b

@mdavidsaver
Copy link
Member Author

While I'm still seeing this warning occasionally. Strict testing w/ P4P has convinced me that these are transient "leaks" because server workers threads aren't always joined (depends on shutdown order).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant