Hi Ben,

Thanks for the pointer, I subscribed to those two mailing lists as well.

Cheers,
Manuel

> On 25 Jan 2019, at 14:25, Ben Coman <b...@openinworld.com> wrote:
> 
> Hi Manuel,
> 
> This level question would be better handled on pharo-dev and vm-dev mail 
> lists (forwarded a copy).  
> http://lists.pharo.org/mailman/listinfo/pharo-dev_lists.pharo.org 
> <http://lists.pharo.org/mailman/listinfo/pharo-dev_lists.pharo.org>
> http://lists.squeakfoundation.org/mailman/listinfo/vm-dev 
> <http://lists.squeakfoundation.org/mailman/listinfo/vm-dev>
> 
> On Fri, 25 Jan 2019 at 16:09, Manuel Leuenberger <leuenber...@inf.unibe.ch 
> <mailto:leuenber...@inf.unibe.ch>> wrote:
> Hi,
> 
> Anybody has experience building the VM (pharo.cog.spur) on macOS with custom 
> compiler and flags?
> 
> I am observing a memory leak on macOS Sierra/Pharo 7/GToolkit. I cannot 
> precisely locate the issue, e.g. I cannot reliably reproduce the problem. So 
> I tried to use AddressSanitizer/LeakSanitizer with custom debug builds of the 
> VM and libMoz2D (used by GToolkit). As building on Linux is easier than on 
> macOS, I got myself some help from a colleague and we managed to build those 
> two artifacts on Linux by sprinkling "-g3 -O0 -fsanitize=leak 
> -fsanitize-memory-track-origins" into the CFLAGS wherever they appear or are 
> picked up. This works fine on Debian 9 with "CC=clang-6.0 CXX=clang++-6.0 
> ./mvm -d" and some on-the-fly patches for other breaking things.
> 
> Unfortunately, I cannot reproduce the problem on Linux, so it seems to be 
> platform specific. Even more so, I seem to be the only one observing the 
> issue. Other GToolkit users do not report this issue. As these kind of issues 
> are freaking me out, I cannot let go and need to learn what causes them. So, 
> here I am, trying to build the VM on macOS Sierra and miserably failing to 
> include the sanitizer tags with Clang and giving me those tasty leak reports 
> on VM shutdown.
> 
> The leak is not observable in the image memory, i.e. the image size reported 
> by the VM is not growing, I am suspecting FFI, possibly in Moz2D, to leak.
> The FFI registry in the VM also does not report many or large surviving 
> objects, so I would assume the problem to be either on the plugin or VM side.
> 
> My two concrete questions are:
> 1. Is it even feasible to detect leaks with this approach? E.g., how does the 
> VM behave on shutdown? Will the leaks show up in the report or will they not 
> be covered, as the VM actually frees everything before shutting down?
> 2. How do I swap compiler and inject flags on macOS builds? On Linux it was 
> fairly easily done by replacing some variables. But on macOS, Xcode seems to 
> like to mess with me. I got myself Clang-6.0 on macOS from MacPorts, the same 
> as version as I took on Linux. I can build the VM with this, but it there is 
> no leak report on VM shutdown. Anybody has an idea how to debug the build?
> 
> Bonus question: Can the VM provide an inspectable view of all the allocated 
> memory to the image? That would be perfect. I think Luke Gorrie does some 
> magic like this in his Studio for core dumps etc.
> 
> Cheers,
> Manuel
> 
> 

Reply via email to