guard / rb-inotify

A thorough inotify wrapper for Ruby using FFI.
MIT License
312 stars 64 forks source link

Compass watch crashes on rb-inotify. #29

Closed criography closed 10 years ago

criography commented 11 years ago

I honestly don't know whether it's compass, sass, ruby, rb-inotify bug or something I'm screwing on my side, but every few minutes compass watch crashes throwing these:

Exception on line ["120"] of /usr/local/rvm/gems/ruby-1.9.3-p448/gems/rb-inotify-0.9.2/lib/rb-inotify/event.rb: inotify event queue has overflowed.
  /usr/local/rvm/gems/ruby-1.9.3-p448/gems/rb-inotify-0.9.2/lib/rb-inotify/event.rb:100:in `new'
  /usr/local/rvm/gems/ruby-1.9.3-p448/gems/rb-inotify-0.9.2/lib/rb-inotify/event.rb:100:in `consume'
  /usr/local/rvm/gems/ruby-1.9.3-p448/gems/rb-inotify-0.9.2/lib/rb-inotify/notifier.rb:277:in `read_events'
  /usr/local/rvm/gems/ruby-1.9.3-p448/gems/rb-inotify-0.9.2/lib/rb-inotify/notifier.rb:238:in `process'
  /usr/local/rvm/gems/ruby-1.9.3-p448/gems/rb-inotify-0.9.2/lib/rb-inotify/notifier.rb:221:in `run'
  /usr/local/rvm/gems/ruby-1.9.3-p448/gems/listen-0.7.3/lib/listen/adapters/linux.rb:47:in `block in start'

All gems installed are:

breakpoint (2.0.7)
chunky_png (1.2.8)
compass (0.13.alpha.4, 0.12.2)
ffi (1.9.0)
fssm (0.2.10)
listen (1.1.6, 0.7.3)
rb-fsevent (0.9.3)
rb-inotify (0.9.2, 0.9.1)
rb-kqueue (0.2.0)
sass (3.3.0.alpha.253, 3.2.10)
stitch (0.1.7.beta.3)
susy (1.0.9)

Any clues?

nex3 commented 10 years ago

From the inotify FAQ:

Q: What means IN_Q_OVERFLOW? IN_Q_OVERFLOW is emitted when the appropriate queue is full and can't take more events. If this event occurs frequently you should read events faster and eventually increase the limit for queues. This limit can be read and changed by reading/changing the appropriate procfs file (/proc/sys/fs/inotify/max_queued_events).

For reference, IN_Q_OVERFLOW is the internal flag that causes the error you're seeing. It sounds like you may need to increase the limit in /proc/sys/fs/inotify/max_queued_events.