[#23657] [Bug #1550] String#lstrip! raises RuntimeError on Frozen String Despite Making No Changes — Run Paint Run Run <redmine@...>

Bug #1550: String#lstrip! raises RuntimeError on Frozen String Despite Making No Changes

13 messages 2009/06/01

[#23729] [Bug #1583] Time + String no Longer Raises TypeError? — Run Paint Run Run <redmine@...>

Bug #1583: Time + String no Longer Raises TypeError?

14 messages 2009/06/05

[#23770] [Bug #1595] rake unusable on windows install — Robert Gonzalez <redmine@...>

Bug #1595: rake unusable on windows install

10 messages 2009/06/09

[#23869] [Bug #1640] [PATCH] Documentation for the Rational Class — Run Paint Run Run <redmine@...>

Bug #1640: [PATCH] Documentation for the Rational Class

12 messages 2009/06/16

[#23903] [Bug #1648] Rational#div Raises NoMethodError for Invalid Argument — Run Paint Run Run <redmine@...>

Bug #1648: Rational#div Raises NoMethodError for Invalid Argument

9 messages 2009/06/17

[#23977] [ANN] meeting log of RubyDeveloperKaigi20090622 — "Yugui (Yuki Sonoda)" <yugui@...>

Hi,

41 messages 2009/06/23
[#23979] Re: [ANN] meeting log of RubyDeveloperKaigi20090622 — Run Paint Run Run <runrun@...> 2009/06/23

Thanks for the update. :-)

[#24173] Re: [ANN] meeting log of RubyDeveloperKaigi20090622 — "NARUSE, Yui" <naruse@...> 2009/07/07

Sorry for late response,

[#24174] Re: [ANN] meeting log of RubyDeveloperKaigi20090622 — Luis Lavena <luislavena@...> 2009/07/07

On Tue, Jul 7, 2009 at 12:12 AM, NARUSE, Yui<naruse@airemix.jp> wrote:

[#24242] Re: [ANN] meeting log of RubyDeveloperKaigi20090622 — Charles Oliver Nutter <headius@...> 2009/07/09

On Mon, Jul 6, 2009 at 10:18 PM, Luis Lavena<luislavena@gmail.com> wrote:

[#24010] [Bug #1685] Some windows unicode path issues remain — B Kelly <redmine@...>

Bug #1685: Some windows unicode path issues remain

26 messages 2009/06/24
[#29189] [Bug #1685] Some windows unicode path issues remain — Yuki Sonoda <redmine@...> 2010/04/01

Issue #1685 has been updated by Yuki Sonoda.

[#29200] Re: [Bug #1685] Some windows unicode path issues remain — Bill Kelly <billk@...> 2010/04/01

Yuki Sonoda wrote:

[#29892] Re: [Bug #1685] Some windows unicode path issues remain — Bill Kelly <billk@...> 2010/04/29

Hi,

[#24058] [Bug #1696] http downloads are unuseably slow — Steven Hartland <redmine@...>

Bug #1696: http downloads are unuseably slow

19 messages 2009/06/27

[#24063] [Feature #1697] Object#<=> — Marc-Andre Lafortune <redmine@...>

Feature #1697: Object#<=>

15 messages 2009/06/28

[ruby-core:23913] Broken finalizers in ruby 1.8

From: Stanislav Sedov <stas@...>
Date: 2009-06-18 09:30:35 UTC
List: ruby-core #23913
Hi!

It looks like r21435 of ruby_1_8_7 broke ObjectSpace finalizers.
I don't entirely understand the code envolved, but it seems that
the following fragment is responsible for this:

% mark_tbl(finalizer_table, 0);
% st_foreach(finalizer_table, chain_finalized_object,
%     (st_data_t)&deferred_final_list);

Here, all objects in the finalizer table get marked, and the
chain_finalized_object function is called for each object in
the table.  However, chain_finalized_object immediately
returns if the object passes is marked:

% static int
% chain_finalized_object(st_data_t key, st_data_t val, st_data_t arg)
% {
%     RVALUE *p =3D (RVALUE *)key, **final_list =3D (RVALUE **)arg;
%     if ((p->as.basic.flags & (FL_FINALIZE|FL_MARK)) =3D=3D FL_FINALIZE) {
%        if (BUILTIN_TYPE(p) !=3D T_DEFERRED) {
%            p->as.free.flags =3D FL_MARK | T_DEFERRED; /* remain marked */
%           RDATA(p)->dfree =3D 0;
%        }
%        p->as.free.next =3D *final_list;
%        *final_list =3D p;
%     }
%     return ST_CONTINUE;
% }

Changing the test from '(p->as.basic.flags & (FL_FINALIZE|FL_MARK))' to
simple '(p->as.basic.flags & (FL_FINALIZE))' as before fixes the problem
for me, but I'm not sure this is the right solution.

The problem can be verified using the following simple snipplet:

% obj =3D "Test"
% handler =3D Proc.new { puts "Finalized!" }
% ObjectSpace.define_finalizer(obj, handler)

If you run this code in ruby 1.8.7 before r21435 it prints 'Finalized!'.
In newer version it is never called.

Thanks!

--=20
Stanislav Sedov
ST4096-RIPE

In This Thread

Prev Next