Closed skaes closed 6 years ago
I'm trying to figure out what's going on but apparently the code freaks out so much it overwrites the stack in such a way that gdb cannot produce a proper stack trace. Or my ruby is compiled without frame pointer or something like that.
FYI, ruby 2.3.5 does not crash.
I'll look into it. I think I know what it might be though. 2.4.2 changes RSTRUCT_LEN in a very fundamental way. One returns a VALUE (Ruby object) and one returns an integer.
I hadn't pushed a release that should have happened a week or two ago. 3.3.6 has been release with the fixes.
I have updated to 3.3.6 and this particular crash has been fixed. However, it still keeps crashing and tests are failing where struct fields contain nonsense value of completely unexpected type after converting from structs to json and back (all fine with ruby 2.3.5). Unfortunately, the errors appear to be random, so I have no simple test case to reproduce the error in a simpler context. Working on it.
@ohler55 BTW: thx for the quick response!
Sounds like a different problem. If you can get something that crashes every once in a while I can keep running it.
After reinstalling ruby and all gems the crashes disappeared. Oj seems fine for 2.4.2 usage now. Thx a lot.
Good to hear.
The following code segfaults with ruby 2.4.2:
Removing any of the fields from the struct will cause it to not crash anymore.
Here's crash info:
It worked with 2.4.1 This is kinda a big deal because 2.4.1 has security issues which basically forces us to upgrade to 2.4.2.