From: pschambacher@... Date: 2016-04-26T17:57:38+00:00 Subject: [ruby-core:75201] [Ruby trunk Bug#11884] Psych.load broken for OpenStruct in Ruby 2.3.0 Issue #11884 has been updated by Pierre Schambacher. File syck_error.log added File syck_error.rb added I'm sorry to re-open this but I'm getting a similar error with Syck and Ruby 2.3.1 just released I attached a repro script and the log that I get when running it. Like psych, the @table instance variable of the OpenStruct isn't initialized when respond_to_missing? gets called. ---------------------------------------- Bug #11884: Psych.load broken for OpenStruct in Ruby 2.3.0 https://bugs.ruby-lang.org/issues/11884#change-58335 * Author: Kai Kuchenbecker * Status: Closed * Priority: Normal * Assignee: Marc-Andre Lafortune * ruby -v: ruby 2.3.0p0 (2015-12-25 revision 53290) [x86_64-darwin15] * Backport: 2.0.0: DONTNEED, 2.1: DONTNEED, 2.2: DONTNEED, 2.3: DONE ---------------------------------------- Deserialising an OpenStruct through Psych::load results in a nil error since OpenStruct now has a respond_to_missing? method whose implementation references OpenStruct's @table instance variable. To reproduce this issue simply use Psych to dump an OpenStruct and then load it again via Psych::load. I attached an example script that does exactly this. I have also attached the error output I get when running this script. I'm not sure whether to assign marcandre or tenderlove... Please tell me if you need any further information. Best regards, Kai ---Files-------------------------------- psych_error.rb (99 Bytes) psych_error.log (1.54 KB) syck_error.rb (101 Bytes) syck_error.log (635 Bytes) -- https://bugs.ruby-lang.org/ Unsubscribe: