Actions
Bug #20009
openMarshal.load raises exception when load dumped class include non-ASCII
Status:
Open
Assignee:
-
Target version:
-
ruby -v:
ruby 3.2.2 (2023-03-30 revision e51014f9c0) [arm64-darwin22]
Description
Reproduction code¶
class Cクラス; end
Marshal.load(Marshal.dump(Cクラス))
Actual result¶
<internal:marshal>:34:in `load': undefined class/module C\xE3\x82\xAF\xE3\x83\xA9\xE3\x82\xB9 (ArgumentError)
from marshal.rb:2:in `<main>'
Expected result¶
Returns Cクラス
Impacted area¶
An exception is raised in Rails under the following conditions
- minitest is used with default settings
- Parallel execution with parallelize
- test class names contain non-ASCII characters
The default parallelization uses DRb, and Marshal is used inside DRb.
Other¶
After trying various things, I thought I could fix it by making rb_path_to_class
support strings containing non-ASCII characters, but I couldn't find anything more than that.
Actions
Like0
Like0