Skip to content
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

Re-enable -race in CI #24

Closed
arlolra opened this issue Dec 31, 2015 · 1 comment
Closed

Re-enable -race in CI #24

arlolra opened this issue Dec 31, 2015 · 1 comment
Labels

Comments

@arlolra
Copy link
Collaborator

arlolra commented Dec 31, 2015

Running the tests with -race fails (I've even seen it segfault).

This was on by default in our CircleCI config (apparently that wasn't doing a good job of reporting failures) but is now disabled on TravisCI.

Should probably get to the bottom of it then re-enable in CI.

@keroserene
Copy link
Owner

Segfault is happening in one of the RTP Media threads... in webrtc::AudioDeviceLinuxPulse::TerminatePulseAudio(), deep within cricket::WebRtcVoiceEngine::Terminate().

This might be related to the spurious ALSA messages that show up in the test logs too...

There may be some specific PeerConnection media constraint we can specify to avoid this... or maybe a minimal / fake audio provider needs to happen somewhere so that whatever required reference does exist.

Also, once #10 happens, I suspect this should stop. Will poke more at this later

@keroserene keroserene added the bug label Jan 2, 2016
arlolra added a commit that referenced this issue Feb 9, 2016
 * Fixes the -race failures in ./data

 * Part of #24
arlolra added a commit that referenced this issue Feb 10, 2016
arlolra added a commit that referenced this issue Feb 10, 2016
 * Setting frees an internal structure (didn't dig into which),
   resulting in a segfault from use after free. Instead, do a serialize
   / deserialize dance on these sdp objects.

 * In practice, reuse is unlikely because it should be happening in
   another process somewhere off in the interwebs. This was only
   affecting the test harness. However, it would be good to look at it a
   little harder and see whether it can be prevented even there.

 * Part of #24
arlolra added a commit that referenced this issue Feb 11, 2016
 * It's released when set on the peerconnection. Instead, deserialize it
   anew when setting.

 * This is a follow up to e48abe5, related to #24
arlolra added a commit that referenced this issue Feb 16, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants