You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The following code results in a big amount of memory being allocated by the process that is not being released.
After 20k connections, the used memory of the process is more than 100MB. After removing the call to readString, the memory usage does not increase anymore. I tested this with BlueSocket 1.0.52.
var i = 0
while true {
let socket = try Socket.create()
try! socket.connect(to: "localhost", port: 31337)
let serviceResponse = try! socket.readString()!
i += 1
print(i, String(describing: serviceResponse))
Thread.sleep(forTimeInterval: 0.001)
}
The socket connects to a service that first responds with "foobar" and then closes the connection.
I noticed that when I run dispatchMain() after the loop (and changing the while condition to e.g. "i < 20000"), the process uses less memory again. Before the connection loop, the memory usage is about 6MB, and after calling dispatchMain it is about 25MB. The maximum amount of memory used was ~135MB.
johannes87
added a commit
to johannes87/Hotspot-Menubar
that referenced
this issue
Sep 28, 2021
The following code results in a big amount of memory being allocated by the process that is not being released.
After 20k connections, the used memory of the process is more than 100MB. After removing the call to
readString
, the memory usage does not increase anymore. I tested this with BlueSocket 1.0.52.The socket connects to a service that first responds with "foobar" and then closes the connection.
The code for reproducing this can be found in the repository https://github.com/johannes87/TestBlueSocketMemoryLeak
The target
TestService
inside the Xcode project is the "foobar" service mentioned above.The text was updated successfully, but these errors were encountered: