added a comment - - edited
I have reproduced the issue.
For 1.9 mode (currently default for master), top of the stacktrace is:
RubyString.getUnicodeValue() line: 7628
RubyDir.getPath19(ThreadContext, IRubyObject) line: 735
RubyDir.entries19(ThreadContext, IRubyObject, IRubyObject) line: 367
The problem is the path of type RubyString is converted to java.lang.String via method RubyEncoding.decodeUTF8, which assumes the RubyString got passed in is a UTF-8 byte list, it would fail for all not-ASCII-compatible locales, especially CJK-ish Windows.
Checking RubyString class, I found the methods decodeString() and the wrappers asJavaString(), toString() can correctly handle this.