Skip to content

ASAN on push with Cirrus #9507

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 1 commit into from
Closed

Conversation

iluuu1994
Copy link
Member

@iluuu1994 iluuu1994 commented Sep 8, 2022

No description provided.

@devnexen
Copy link
Member

devnexen commented Sep 8, 2022

system clang has all supported sanitizers, thanksfully since freebsd contributors dearly need those to debug the userland ;-)

@iluuu1994 iluuu1994 force-pushed the cirrus-asan branch 3 times, most recently from c5d4a42 to 3b1bc2e Compare September 8, 2022 11:31
@iluuu1994
Copy link
Member Author

@devnexen I'll try FreeBSD later, it stalled for some reason. Adding a separate task for now.

@cmb69
Copy link
Member

cmb69 commented Sep 8, 2022

Hmm, "unable to locate package …" – don't know how to fix. :(

@devnexen
Copy link
Member

devnexen commented Sep 8, 2022

Is it the debian's fastly mirror ? would adding a second but less solicited mirror be an option ?

@iluuu1994
Copy link
Member Author

would adding a second but less solicited mirror be an option ?

Didn't work. I have no clue what's causing this. If I run the gcc Docker container locally I can install the packages no problem.

@iluuu1994
Copy link
Member Author

iluuu1994 commented Sep 8, 2022

It has something to do with the line breaks. I'm now testing with Cirrus' local testing tool, that seems to work quite well.

Edit: I take it back, I get unrelated PCRE errors locally 😝 We're back to debugging by pushing.

@iluuu1994 iluuu1994 force-pushed the cirrus-asan branch 7 times, most recently from dfdfd30 to dd9ace3 Compare September 8, 2022 18:24
@iluuu1994 iluuu1994 changed the title Quick test to run FreeBSD build with ASAN Quick test to run ASAN on push Sep 9, 2022
@iluuu1994
Copy link
Member Author

The ASAN errors in preload here are caused by the fork and the child-process exiting without cleaning up non-shared memory. Coincidentally this is now fixed by #9473 (as we're preloading with root in CI). Doing any kind of shutdown might be risky if shared memory is accidentally modified so I'm guessing relying on the OS cleaning up the malloced memory is best.

@iluuu1994 iluuu1994 force-pushed the cirrus-asan branch 6 times, most recently from c8f3817 to 022b68c Compare September 11, 2022 18:52
@iluuu1994 iluuu1994 force-pushed the cirrus-asan branch 2 times, most recently from 7438e40 to 53e1337 Compare September 11, 2022 21:37
@iluuu1994 iluuu1994 marked this pull request as ready for review September 12, 2022 06:57
@iluuu1994
Copy link
Member Author

This should be more or less ready. I disabled slow extensions and slow tests. We're running 14734/17696 tests in ~30 minutes which is pretty decent.

@cmb69
Copy link
Member

cmb69 commented Sep 12, 2022

I disabled slow extensions and slow tests.

Disabling slow tests makes perfect sense to me. I'm not sure about disabling slow extensions; at least some important extensions should be checked (I'm particularly thinking of mbstring, mysqli and pdo_mysql). How much longer would that CI job take when we also test these three extensions?

@iluuu1994
Copy link
Member Author

How much longer would that CI job take when we also test these three extensions?

I'll check after work. We'll also need to set up the services in Cirrus which the FreeBSD build that I copied hasn't done yet. My primary motivation for this is to have test things that are regularly changed. Other errors will still be caught in nightly.

@iluuu1994
Copy link
Member Author

@cmb69 Apart from the dl() tests suddenly failing for no reason (:unamused:) the build takes ~15 minutes longer which is fine by me.

@iluuu1994 iluuu1994 force-pushed the cirrus-asan branch 7 times, most recently from 0c52347 to 1137699 Compare September 12, 2022 22:08
@iluuu1994
Copy link
Member Author

Building with Clang is a little faster and is also something we don't already cover. So it makes sense to do that instead.

@cmb69
Copy link
Member

cmb69 commented Sep 13, 2022

Apart from the dl() tests suddenly failing for no reason

Is this related to #9196? Maybe just try without OPcache to see.

@iluuu1994
Copy link
Member Author

Apart from the dl() tests suddenly failing for no reason

Is this related to #9196? Maybe just try without OPcache to see.

RC_DEBUG is not enabled in this build, so probably not. I disabled the dl-test extension for this build for now.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants