iotile / coretools

Core python tools for building and using IOTile based devices
GNU General Public License v3.0
14 stars 7 forks source link

Fix memory leak in the Operation Manager #996

Closed timothyfroehlich closed 3 years ago

timothyfroehlich commented 3 years ago

Overview & Major Changes

An incorrect comparison to None prevented the list of waiter callbacks from being cleaned up when the callback was ready to call back. The result was a monotonically increasing memory leak, seen in the AP which was using the Operation Manager inside the Supervisor.

timothyfroehlich commented 3 years ago

@timburke is it normal for Travis to be waiting this long to launch the build? It's still in the queue.

mattrunchey commented 3 years ago

@timothyfroehlich if you search on the travis CI community forums, you will see that it is a more widespread issue https://travis-ci.community/t/build-delays-for-open-source-project/10272/3 .

On that forum they suggest that this is due to Travis's "deprecation" of travis-ci.org . They recommend we move all of our open source builds to travis-ci.com (https://docs.travis-ci.com/user/migrate/open-source-repository-migration) . Posts in that thread suggest that will resolve this issue. https://travis-ci.community/t/build-delays-for-open-source-project/10272/13

That said, we could move the linux tests to github actions instead (or add them to the Azure test procedure)

timothyfroehlich commented 3 years ago

@mattrunchey What do you suggest I do then? I don't feel that I should be making changes to coretools's testing infrastructure, I barely know it.

mattrunchey commented 3 years ago

I would encourage you to not be afraid to upgrade testing infrastructure -- you won't break anything :)

You might be able to look at a previous PR where we moved the OSX and Windows tests to Azure. For linux, it may be as trivial as copying the Azure pipelines commands and replacing the OS it runs on without any other changes. https://github.com/iotile/coretools/pull/704