mFreeSources is a queue, which means pop removes the first element from it.
However, it retrieves the last element from the queue before popping it. That means source now points to an object still in the queue, and the element which was popped is now dangling.
It should be:
// Edit: Nevermind this, I've created a pull request instead.
There's a small (but with severe consequences) bug in context.cpp in the function ALContext::createSource():
mFreeSources is a queue, which means pop removes the first element from it. However, it retrieves the last element from the queue before popping it. That means source now points to an object still in the queue, and the element which was popped is now dangling. It should be: