[#69084] [Ruby trunk - Feature #11124] [Open] [PATCH] lib/*: use monotonic clock for timeouts — normalperson@...
Issue #11124 has been reported by Eric Wong.
5 messages
2015/05/06
[#69138] [Ruby trunk - Feature #11136] [PATCH] webrick: avoid fcntl module — nobu@...
Issue #11136 has been updated by Nobuyoshi Nakada.
3 messages
2015/05/12
[#69160] [Ruby trunk - Feature #11146] [PATCH] variable.c: initialize generic_iv_tbl at start — nobu@...
Issue #11146 has been updated by Nobuyoshi Nakada.
4 messages
2015/05/13
[#69175] Re: [Ruby trunk - Feature #11146] [PATCH] variable.c: initialize generic_iv_tbl at start
— Eric Wong <normalperson@...>
2015/05/13
nobu@ruby-lang.org wrote:
[ruby-core:69115] Re: [Ruby trunk - Bug #11088] [Rejected] Infinite loop on calling missing/overwritten methods of restored marshaled objects
From:
Austin Ziegler <halostatue@...>
Date:
2015-05-10 02:57:42 UTC
List:
ruby-core #69115
I don't think this should be rejected completely, Nobu. As I mentioned in my analysis, it appears that NoMethodError#message is calling #inspect on the object that raised the error, only to discard *most* of the item in favour of *just* the "#<Klass:0xOBJECTREF>" output. I can understand that this is a pathological case, but I'm curious why the output is different than would be expected here. -a On Sat, May 9, 2015 at 10:48 PM <nobu@ruby-lang.org> wrote: > Issue #11088 has been updated by Nobuyoshi Nakada. > > Status changed from Open to Rejected > > Your objects are consist of very large networks with complex recursive > references. > Even with omission of the recursions, it makes tons of hundreds MB strings. > You should define `inspect` methods for your purpose. > > ---------------------------------------- > Bug #11088: Infinite loop on calling missing/overwritten methods of > restored marshaled objects > https://bugs.ruby-lang.org/issues/11088#change-52360 > > * Author: Jgen Bickert > * Status: Rejected > * Priority: Normal > * Assignee: > * ruby -v: ruby 2.2.2p95 (2015-04-13 revision 50295) [x86_64-linux] > * Backport: 2.0.0: UNKNOWN, 2.1: UNKNOWN, 2.2: UNKNOWN > ---------------------------------------- > I have Marshal.dump some objects and then I Marshal.load them and later I > call non-existent methods on those objects and instead of raising an > exception (NoMethodError) it runs off in an infinite loop. > > I have tested with simple cases where the dumped structure is not > recursive and it works fine. So I attached a non-working dump which will > when called with inspect or a non-existing method run off in an infinite > loop. > > When you run "ruby bug_hunt.rb" it will get stuck and you have to > abort(CTRL-C) and only then will it print an error message and finish. > > ---Files-------------------------------- > bug_hunt.rb (336 Bytes) > ruby_object.dump (561 KB) > 11088_test.rb (305 Bytes) > simple-inspect.txt (1.19 MB) > simple-inspect-stats.txt (90.7 KB) > bug_hunt_benchmark.rb (1.42 KB) > bug_hunt_simple.rb (1.09 KB) > > > -- > https://bugs.ruby-lang.org/ >