You should try. It doesn't cost much.
Just create a compatibility/debug context and give it a try.
Compatibility profile should support all you have mentioned.

In the meantime, could you check whether your GL rendering context is valid and current at the moment crash happens.