listen: Unicode filenames cause Listen 2.7.9 to crash with Jekyll

When I make a change in Jekyll to a file, I get the following exception from listen. No files are updated after any change to a file in my blog (this worked in the previous version of Jekyll—not sure which listen version that was associated with).

Thanks! Let me know if there’s anything else I can provide to help. The source code for my blog is available at https://github.com/dlo/dlo.github.com if you’d like to try to reproduce this on your end.

$ jekyll serve -w
Configuration file: /Users/dan/Documents/Projects/dlo.github.com/_config.yml
            Source: /Users/dan/Documents/Projects/dlo.github.com
       Destination: ./_site
      Generating...

  Populating LSI...
Rebuilding index...
                         Build Warning: Layout 'nil' requested in atom.xml does not exist.
     Build Warning: Layout 'nil' requested in rss.xml does not exist.
                    done.
 Auto-regeneration: enabled for '/Users/dan/Documents/Projects/dlo.github.com'
Configuration file: /Users/dan/Documents/Projects/dlo.github.com/_config.yml
    Server address: http://0.0.0.0:4000/
  Server running... press ctrl-c to stop.
E, [2014-08-25T08:37:03.647681 #4309] ERROR -- : Listen::Change crashed!
Encoding::CompatibilityError: inspected result must be ASCII only or use the same encoding with default external
    /Users/dan/.rbenv/versions/2.0.0-p247/lib/ruby/2.0.0/set.rb:474:in `inspect'
    /Users/dan/.rbenv/versions/2.0.0-p247/lib/ruby/2.0.0/set.rb:474:in `inspect'
    /Users/dan/.rbenv/versions/2.0.0-p247/lib/ruby/gems/2.0.0/gems/listen-2.7.9/lib/listen/directory.rb:21:in `scan'
    /Users/dan/.rbenv/versions/2.0.0-p247/lib/ruby/gems/2.0.0/gems/listen-2.7.9/lib/listen/change.rb:38:in `change'
    /Users/dan/.rbenv/versions/2.0.0-p247/lib/ruby/gems/2.0.0/gems/celluloid-0.15.2/lib/celluloid/calls.rb:25:in `public_send'
    /Users/dan/.rbenv/versions/2.0.0-p247/lib/ruby/gems/2.0.0/gems/celluloid-0.15.2/lib/celluloid/calls.rb:25:in `dispatch'
    /Users/dan/.rbenv/versions/2.0.0-p247/lib/ruby/gems/2.0.0/gems/celluloid-0.15.2/lib/celluloid/calls.rb:67:in `dispatch'
    /Users/dan/.rbenv/versions/2.0.0-p247/lib/ruby/gems/2.0.0/gems/celluloid-0.15.2/lib/celluloid/actor.rb:322:in `block in handle_message'
    /Users/dan/.rbenv/versions/2.0.0-p247/lib/ruby/gems/2.0.0/gems/celluloid-0.15.2/lib/celluloid/actor.rb:416:in `block in task'
    /Users/dan/.rbenv/versions/2.0.0-p247/lib/ruby/gems/2.0.0/gems/celluloid-0.15.2/lib/celluloid/tasks.rb:55:in `block in initialize'
    /Users/dan/.rbenv/versions/2.0.0-p247/lib/ruby/gems/2.0.0/gems/celluloid-0.15.2/lib/celluloid/tasks/task_fiber.rb:13:in `block in create'
E, [2014-08-25T08:37:03.767992 #4309] ERROR -- : Listen::Change crashed!
Encoding::CompatibilityError: inspected result must be ASCII only or use the same encoding with default external
    /Users/dan/.rbenv/versions/2.0.0-p247/lib/ruby/2.0.0/set.rb:474:in `inspect'
    /Users/dan/.rbenv/versions/2.0.0-p247/lib/ruby/2.0.0/set.rb:474:in `inspect'
    /Users/dan/.rbenv/versions/2.0.0-p247/lib/ruby/gems/2.0.0/gems/listen-2.7.9/lib/listen/directory.rb:21:in `scan'
    /Users/dan/.rbenv/versions/2.0.0-p247/lib/ruby/gems/2.0.0/gems/listen-2.7.9/lib/listen/change.rb:38:in `change'
    /Users/dan/.rbenv/versions/2.0.0-p247/lib/ruby/gems/2.0.0/gems/celluloid-0.15.2/lib/celluloid/calls.rb:25:in `public_send'
    /Users/dan/.rbenv/versions/2.0.0-p247/lib/ruby/gems/2.0.0/gems/celluloid-0.15.2/lib/celluloid/calls.rb:25:in `dispatch'
    /Users/dan/.rbenv/versions/2.0.0-p247/lib/ruby/gems/2.0.0/gems/celluloid-0.15.2/lib/celluloid/calls.rb:67:in `dispatch'
    /Users/dan/.rbenv/versions/2.0.0-p247/lib/ruby/gems/2.0.0/gems/celluloid-0.15.2/lib/celluloid/actor.rb:322:in `block in handle_message'
    /Users/dan/.rbenv/versions/2.0.0-p247/lib/ruby/gems/2.0.0/gems/celluloid-0.15.2/lib/celluloid/actor.rb:416:in `block in task'
    /Users/dan/.rbenv/versions/2.0.0-p247/lib/ruby/gems/2.0.0/gems/celluloid-0.15.2/lib/celluloid/tasks.rb:55:in `block in initialize'
    /Users/dan/.rbenv/versions/2.0.0-p247/lib/ruby/gems/2.0.0/gems/celluloid-0.15.2/lib/celluloid/tasks/task_fiber.rb:13:in `block in create'

About this issue

  • Original URL
  • State: closed
  • Created 10 years ago
  • Comments: 16 (6 by maintainers)

Commits related to this issue

Most upvoted comments

@nhoizey - upgrade your listen version (bundle update listen if you’re using bundler). You shouldn’t have the issue in later versions of Listen (e.g. 2.10.0).

If you still do, create a small repository where the error occurs and publish it on github, so I can download it and work something out.