I've subdivided and extruded, then copied, rotated and joined the base shape to create a grooved frame. The center of mass is the center of the frame.
I've then added a cylinder to sit inside the groove. I tilted the grooved frame slightly so the cylinder will roll. The center of mass on the cylinder is correct.
I've given the frame the passive rigid body property and the cylinder active. Both set to mesh. This is what happens:
I tried all the stuff in this previous answer:
Rigid Body Problem - objects not colliding
Any help is much appreciated.
EDIT:
I went back and re-built everything using some of the suggestions and still no luck. Uploaded the .blend this time.