From: Eric Hodel Date: 2011-02-03T10:31:34+09:00 Subject: [ruby-core:35057] [Ruby 1.9-Bug#4360][Open] Zlib::GzipReader#unused raises "called on hidden object" error when called --mimepart_4d4a0573b4ac_1dc2aea740a23547 Content-Type: text/plain Content-Transfer-Encoding: Quoted-printable Content-Disposition: inline Bug #4360: Zlib::GzipReader#unused raises "called on hidden object" error= when called http://redmine.ruby-lang.org/issues/show/4360 Author: Eric Hodel Status: Open, Priority: Normal Category: ext ruby -v: ruby 1.9.3dev (2011-02-01 trunk 30751) [x86_64-darwin10.6.0] When reading concatenated gzip streams #unused is provided for accessing = the data that has been read from the IO but not consumed by libz. Unfort= unately calling this method raises an exception: $ ruby19 -v t.rb ruby 1.9.3dev (2011-02-01 trunk 30751) [x86_64-darwin10.6.0] aaaa t.rb:21:in `
': method `method_missing' called on hidden T_STRING = object (0x0000010090ee20 flags=3D0x6105 klass=3D0x0) (NotImplementedError= ) Zlib::GzipReader#unused returns the internal buffer directly but dups it.= Copying the input string's contents duplicates fixes the problem. A st= upid patch is attached. This occurs on 1.8.7, 1.9.1 and 1.9.2 as well. ---------------------------------------- http://redmine.ruby-lang.org --mimepart_4d4a0573b4ac_1dc2aea740a23547 Content-Type: text/x-ruby-script; name=t.rb Content-Transfer-Encoding: Base64 Content-Disposition: attachment; filename=t.rb cmVxdWlyZSAnc3RyaW5naW8nCnJlcXVpcmUgJ3psaWInCgp6aW8gPSBTdHJp bmdJTy5uZXcKCmlvID0gWmxpYjo6R3ppcFdyaXRlci5uZXcgemlvCmlvLndy aXRlICdhYWFhJwppby5maW5pc2gKCmlvID0gWmxpYjo6R3ppcFdyaXRlci5u ZXcgemlvCmlvLndyaXRlICdiYmJiJwppby5maW5pc2gKCnppby5yZXdpbmQK CmlvID0gWmxpYjo6R3ppcFJlYWRlci5uZXcgemlvCnB1dHMgaW8ucmVhZAp1 bnVzZWQgPSBpby51bnVzZWQKaW8uZmluaXNoCgp6aW8ucG9zIC09IHVudXNl ZC5sZW5ndGgKCmlvID0gWmxpYjo6R3ppcFJlYWRlci5uZXcgemlvCnB1dHMg aW8ucmVhZAp1bnVzZWQgPSBpby51bnVzZWQKaW8uZmluaXNoCgo= --mimepart_4d4a0573b4ac_1dc2aea740a23547 Content-Type: application/octet-stream; name=zlib.c.unused.patch Content-Transfer-Encoding: Base64 Content-Disposition: attachment; filename=zlib.c.unused.patch SW5kZXg6IGV4dC96bGliL3psaWIuYwo9PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 Ci0tLSBleHQvemxpYi96bGliLmMJKHJldmlzaW9uIDMwNzY3KQorKysgZXh0 L3psaWIvemxpYi5jCSh3b3JraW5nIGNvcHkpCkBAIC0yNDcxLDcgKzI0NzEs OSBAQCBnemZpbGVfcmVhZGVyX2dldF91bnVzZWQoc3RydWN0IGd6ZmlsZSAq CiAgICAgfQogICAgIGlmIChOSUxfUChnei0+ei5pbnB1dCkpIHJldHVybiBR bmlsOwogCi0gICAgc3RyID0gcmJfc3RyX2R1cChnei0+ei5pbnB1dCk7Cisg ICAgc3RyID0gcmJfc3RyX25ldyhOVUxMLCAwKTsKKyAgICByYl9zdHJfY29u Y2F0KHN0ciwgZ3otPnouaW5wdXQpOworICAgIC8vc3RyID0gcmJfc3RyX2R1 cChnei0+ei5pbnB1dCk7CiAgICAgT0JKX1RBSU5UKHN0cik7ICAvKiBmb3Ig c2FmZSAqLwogICAgIHJldHVybiBzdHI7CiB9Cg== --mimepart_4d4a0573b4ac_1dc2aea740a23547--