I ended up looking at this. It's regression from 9585c81, RubyBasicObject#ensureInstanceVariablesSettable now always accepts variables when isImmediate returns true. So, this applies to symbols, booleans and nils, as well. I suppose the change was made because of a bug in Marshal#load when handling complex symbols. It makes me think that the original issue should be fixed in the context of unmarshaling instead of basic object. Couldn't find any neat solution. though. Too many changes required in variable accessors or thereabouts made me a bit fearful. ;(
For posterity JRuby 184.108.40.206 is working properly. We no doubt fixed this at some point in the past without resolving this particular issue. Marking against next milestone in case anyone else was following along on this will know it has been resolved.