Issue #5311 has been reported by Cameron Pope.

----------------------------------------
Bug #5311: PStore fails to save data when default encodings are set
http://redmine.ruby-lang.org/issues/5311

Author: Cameron Pope
Status: Open
Priority: Normal
Assignee: 
Category: 
Target version: 1.9.x
ruby -v: ruby 1.9.4dev (2011-09-13 trunk 33261) [x86_64-darwin10.8.0]


When PStore opens its data files, it does so using the File::BINARY flag, which ensures that Windows will not do cr-lf conversions, but it does not ensure that file#external_encoding is ASCII_8BIT (Binary). That means that under certain circumstances (when Encoding.internal_encoding is defined) that PStore will sometimes raise errors when writing to disk because Marshal.dump will emit a byte sequence that is not valid with the file's external encoding.

To illustrate, I've submitted a patch that contains a test that fails in Ruby 1.9.x, but passes with the minor change to PStore: to specify external_encoding when opening its data files.


-- 
http://redmine.ruby-lang.org