[
https://issues.apache.org/jira/browse/PLC4X-139?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16899089#comment-16899089
]
Julian Feinauer commented on PLC4X-139:
---------------------------------------
I checked some netty docs and found at least one issue... We create a thread
pool (worker pool) and never shut it down. I will fix it and see if it helps
with the bug.
> PLC4X leaks sockets in case of connection problems
> --------------------------------------------------
>
> Key: PLC4X-139
> URL: https://issues.apache.org/jira/browse/PLC4X-139
> Project: Apache PLC4X
> Issue Type: Bug
> Components: Core
> Affects Versions: 0.4.0
> Reporter: Julian Feinauer
> Assignee: Julian Feinauer
> Priority: Blocker
>
> See my description on the list:
> https://lists.apache.org/thread.html/4aa229421668a92275e33643dbc57f2fea29cee7ffcb07891f58c9eb@%3Cdev.plc4x.apache.org%3E
> I created a MWE like that
> {code:java}
> public static void main(String[] args) throws Exception {
> IntStream.range(0, 100).parallel().forEach(i -> createConnection(i));
> }
> private static void createConnection(int i) {
> System.out.println("trying " + i);
> try (PlcConnection plcConnection = new
> PlcDriverManager().getConnection("s7://192.168.167.211/0/0")) {
> } catch (Exception e) {
> logger.error("Kann keine Verbindung zu der angegebenen Adresse
> aufbauen");
> }
> }
> {code}
> where the IP is *not reachable*, thus it fails every time.
> When looking at the open sockets with (works on my Mac)
> {code:bash}
> while true; do lsof -p 16843 | wc -l; sleep 10; done
> {code}
> I get the output
> {noformat}
> 1640
> 1640
> 1640
> 1736
> 1736
> 1736
> 1832
> 1832
> 1832
> 1928
> 1928
> 1928
> 2024
> 2024
> 2024
> 2120
> 2120
> 2120
> 2216
> 2216
> 2216
> 2312
> 2312
> 2312
> 2408
> 2408
> 2408
> 2504
> 2504
> 2504
> 2500
> {noformat}
> So this reall sems to be the case.
> I think this could be due to us only propagating the exception but not
> closing the channel, I will investigate further.
--
This message was sent by Atlassian JIRA
(v7.6.14#76016)