BR: latest macOS changes result in leak on app close

The probable faulty commit: macOS: Fix CGImage memory access violation on Monterey · juce-framework/JUCE@05796be · GitHub

The error messages:

2021-12-14 14:19:06.397992-0500 MyApp[6901:122040] [] [0x600001f70e00] CVXTime::reset
2021-12-14 14:27:24.306459-0500 MyApp[6901:122037] [] [0x14500d800] CVDisplayLinkStop
2021-12-14 14:27:24.306571-0500 MyApp[6901:122037] [] [0x14500d820] CVDisplayLink::stop
2021-12-14 14:27:24.306621-0500 MyApp[6901:122037] [] [0x14500d820] CVCGDisplayLink::finalize
2021-12-14 14:27:24.306676-0500 MyApp[6901:122037] [] [0x14500d820] CVDisplayLink::finalize

***** Leaked objects detected: 1 instance(s) of class ImageDataContainer**

I’ve just pushed a change that fixes an ImageDataContainer leak, but there may be a few more. It wasn’t related to CVDisplayLink. How are you triggering this?

Run the DemoRunner, then just hit Cmd+Q.

Still leaks on latest HEAD 0bf2f6a7a4.

Tested on M1 MBP 2020 macOS 12.0.1 Xcode 13.1, in both native and Rosetta builds.

Thanks for getting to an example! I wasn’t doing anything fancy so that seems like a reasonable analog.

1 Like

I’m also running OpenGL, and am in a multimonitor set up (MBP + external 2k monitor).

In case monitors matter, the above repro in DemoRunner works both with an external monitor connected and also when not and just using the laptop’s built-in monitor.

Are you both using Big Sur?

I’m on Monterey 12.1

:point_up_2:I’m on Monterey 12.0.1

Quick update from here - using the latest tip of develop, I’m not seeing the leak anymore. Ta!