Vegeta created DIRMINA-1177: ------------------------------- Summary: The Connector will blocked when execute dispose, And multiple threads are leaking Key: DIRMINA-1177 URL: https://issues.apache.org/jira/browse/DIRMINA-1177 Project: MINA Issue Type: Bug Components: Core Affects Versions: 2.0.13 Reporter: Vegeta Attachments: image-2024-01-08-16-53-27-846.png, image-2024-01-08-16-54-02-222.png, image-2024-01-08-16-58-34-700.png, stack_2023-07-02_22.log
In an old project, a RpcClient using mina 2.0.13 version has a memory leak. After investigation, it was found that many NioProcessor and NioSocketConnector were not recycled, and the number of threads was continuously increasing (the traffic did not increase). Below is the RpcClient code used in the project. After reading, I also found some problems: 1.session close is not right {code:java} RpcClient#close() future.getSession().close(false); // this future is ConnectFuture,not CloseFuture futureUInterrupt = future.awaitUninterruptibly(CONNECTOR_WORKER_TIMEOUT); {code} 2.RpcClient#close has concurrent calls {code:java} 1.RpcClient#startHealthCheck 2.RpcClient#activateConnectionSensor{code} But I still can't reproduce this problem, My leader want to locate the problem as much as possible before trying on the prod environment, such as updating the version, modifying session close to future.getSession().close(true) and wait(). ps: The heap.prof file cannot be uploaded as it exceeds 60MB. this is a google drive link: https://drive.google.com/file/d/14UBnhAF-7sdfYJsh7FMfKxx-dm0BqU9t/view?usp=drive_link !image-2024-01-08-16-53-27-846.png! !image-2024-01-08-16-54-02-222.png! !image-2024-01-08-16-58-34-700.png! -- This message was sent by Atlassian Jira (v8.20.10#820010) --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@mina.apache.org For additional commands, e-mail: dev-h...@mina.apache.org