I found two cases when the ChannelImpl can create 2 org.epics.pvaccess.impl.remote.Transport objects and then release only one when destroying the channel.
- If 2 network devices are present and EPICS_PVA_AUTO_ADDR_LIST=YES. Then the broadcast during the search receives 2 replies from different IPs, but the server has the same GUID.
- If the EPICS_PVA_ADDR_LIST include 2 IPs that reach the same server, e.g. 127.0.0.1 and 255.255.255.255. In that case the server has the same GUID as well.
I am creating a Pull request with a proposal for the fix.