Skip to content

[interop] Cannot convert a Ruby String with BINARY encoding containing non-US-ASCII character 226 to a Java String #1722

Open
@fniephaus

Description

@fniephaus

Repro

GraalVM MultiLanguage Shell 19.0.0
Copyright (c) 2013-2019, Oracle and/or its affiliates
  JavaScript version 19.0.0
  Ruby version 2.6.2
js> ruby>
ruby> Polyglot.export('string', 226.chr)
Internal error occured: org.graalvm.polyglot.PolyglotException: org.truffleruby.language.control.RaiseException: Cannot convert a Ruby String with BINARY encoding containing non-US-ASCII character 226 to a Java String (CannotConvertBinaryRubyStringToJavaString)
	from org.truffleruby.core.rope.RopeOperations.decodeNonAscii(RopeOperations.java:167)
	from org.truffleruby.core.rope.RopeOperations.decodeRopeSegment(RopeOperations.java:223)
	from org.truffleruby.core.rope.RopeOperations.decodeRopeSegment(RopeOperations.java:216)
	from org.truffleruby.core.rope.RopeOperations.decodeRope(RopeOperations.java:212)
	from org.truffleruby.core.string.StringOperations.getString(StringOperations.java:60)
	from org.truffleruby.interop.ToJavaStringNodeGen.executeAndSpecialize(ToJavaStringNodeGen.java:186)
	from org.truffleruby.interop.ToJavaStringNodeGen.executeToJavaString(ToJavaStringNodeGen.java:96)
	from org.truffleruby.interop.RubyToForeignNode.convertString(RubyToForeignNode.java:31)
	from org.truffleruby.interop.RubyToForeignNodeGen.executeAndSpecialize(RubyToForeignNodeGen.java:56)
	from org.truffleruby.interop.RubyToForeignNodeGen.executeConvert(RubyToForeignNodeGen.java:40)
Translated to internal error (RuntimeError)
Run with --verbose to see the full stack trace.

Expected Behavior

GraalVM MultiLanguage Shell 19.0.0
Copyright (c) 2013-2019, Oracle and/or its affiliates
  JavaScript version 19.0.0
  Ruby version 2.6.2
js> Polyglot.export('string', String.fromCharCode(226));
â

Metadata

Metadata

Assignees

Labels

polyglotUses multiple Truffle languages or host interop

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions