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
4.`docker run -it --cpus <CPUs> --memory <Memory> -v ~/<path to your local sources>:/src-on-host:cached --name lsan-reproducer --cap-add=SYS_PTRACE --security-opt seccomp=unconfined <hash that docker build outputs> bash`
858
+
- The `-cap-add` and `-security-opt` arguments are needed to run LLDB inside the Docker container
859
+
5. Copy the sources to inside the Docker container: `cp -r /src-on-host/* ~`
860
+
- We need to to this because the build needs a case-sensitive file system and your host machine probably has a case-insensitive file system
3. Now, disassemble the failing CMake invocation to a swiftc invocation. I needed to set one environment variable and could the copy the swiftc invocation (but this might change as the build changes)
For reasons that are not clear to me, LSAN does not symbolicate the report. To get the functions at the reported offsets, perform the following steps (there might be easier steps, please update this document if you know any).
876
+
877
+
1. Run the swiftc invocation that fails and copy the leak report to somewhere. The leak report should look like the following.
5. For the frame that you want to symbolicate,, add the offset you computed above to the stack frame in the LSAN report, eg. to symbolicate frame 1 `0x555555554000 + 0x292d81c = 0x555557E8181C`
899
+
6. Look up the address using `image lookup -a <address you computed>`. This should output something like
0 commit comments