ruby-rice / rice

Ruby Interface for C++ Extensions
http://ruby-rice.github.io/
Other
370 stars 62 forks source link

Disable GC stress testing and re-enable failing test #179

Closed jasonroelofs closed 1 year ago

jasonroelofs commented 1 year ago

There are a couple of destructor-based tests that are failing regularly on Windows and for certain versions of Ruby on Mac. Not sure how to track these down but if we disable the stress testing they go away (which is odd becuase without stress testing the destructors actually get called?)

Not sure Ruby's GC stress testing is that great.

jasonroelofs commented 1 year ago

Your thoughts @cfis? Seems the memory tests we have are more reliable when GC stress testing is turned off.

cfis commented 1 year ago

GC stress is only enabled on windows, so wouldn't account for failures on Ubuntu or MacOS.

I enabled it mostly as a double check - I've found it very helpful with ruby-prof and with compaction enabled to reveal incorrect handling of Ruby Objects on the C/C++ side. I also thought it would prevent the failures by forcing the GC to always run. But apparently that is not the issue. Anyway, I did comment out the the commonly failing Data_Object test case again.

But its fine to turn it off too since it is just on Windows.