For my automated tests on a C project I'm working on, I'm trying to run the sanitizer (-fsanitize=address) with debug mode enabled. However this fails since today with this message:
==513==LeakSanitizer has encountered a fatal error.
==513==HINT: LeakSanitizer does not work under ptrace (strace, gdb, etc)
On my local machine with Docker version 19.03.4, this error doesn't occur.
What docker version is Bitbucket Pipelines running? Was the version changed recently? I was running the pipeline perfectly fine for months and this happened today.
Atlassian documents their bitbucket infrastructure changes so can check docker version changes here:
+1 - I can't find anywhere in the documentation that shows where you can add a custom command line arg to the docker invocation for the build image in your pipelines file.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
sorry, meant to post this as a reply to Stephen's comment above...looks like there's nowhere in the UI to delete this "answer" and repost as a comment.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi @Gavriil
BitBucket Pipelines has been using docker version 18.09.1 since Jan 2019.
You can verify it by using this step:
pipelines:
default:
- step
services:
- docker
script:
- docker version
Docker version upgrade is currently on our planned roadmap. You can vote on this page https://jira.atlassian.com/browse/BCLOUD-19284 so we may prioritise the work.
Regards,
Tung
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi @Tung Tran
Perhaps you have already considered this, but just in case - the specific issue affecting LeakSanitizer can be addressed by running docker with the option
--cap-add SYS_PTRACE
Perhaps this could be applied as a quick fix, without waiting for the docker version upgrade?
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
@Gavriil - when you say you implemented that fix, do you mean there is some way of setting the --cap-add SYS_PTRACE option on the Docker instance running inside Bitbucket Pipelines? If so I would love to know how to do that!
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
@Stephen ProcterSorry for the confusion. I meant that adding that argument (cap-add)
for local testing was indeed the fix, but for our build process on Bitbucket pipelines we implemented a workaround: we disabled the debug mode when the sanitizer was enabled before running the tests. Then we re-enabled it later before running Valgrind.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.