pat / riddle

Ruby Client API for Sphinx
MIT License
136 stars 67 forks source link

Tests are hanging on 32-bit architectures (e.g. i386, armhf) #114

Open dleidert opened 1 year ago

dleidert commented 1 year ago

Hi,

the Debian project runs the tests on multiple 64-bit and 32-bit architectures. With Ruby 3.1 the tests are all hanging for multiple hours on 32-bit architecture systems (and are then killed due to timeouts). Do you have any idea, why that is and how to fix it?

https://ci.debian.net/data/autopkgtest/testing/armel/r/ruby-riddle/30753618/log.gz https://ci.debian.net/data/autopkgtest/testing/armhf/r/ruby-riddle/30754326/log.gz https://ci.debian.net/data/autopkgtest/testing/i386/r/ruby-riddle/30780962/log.gz

It works on all 64-bit architectures, though.

pat commented 1 year ago

I'm afraid I don't know why… but it does seem that all of those examples are hanging at the same point: https://github.com/pat/riddle/blob/develop/spec/functional/excerpt_spec.rb#L51-L95

Is it possible to reproduce this issue directly, by running just that spec on an appropriate machine? And which version of Sphinx are you using to run the specs against?

dleidert commented 1 year ago

It is sphinx 2.2.11. I have access to our porter machines with these architectures. I can run that test there. Anything specific I should look out for?

dleidert commented 1 year ago

@pat We are currently trying to debug the issue. So far, I was able to track it down to socket.recv(), where it hangs. We also discovered that it only hangs if :docs exceeds 256 characters.