[#11073] segfault printing instruction sequence for iterator — <noreply@...>
Bugs item #10527, was opened at 2007-05-02 14:42
Hi,
On Thu, May 10, 2007 at 04:51:18PM +0900, Nobuyoshi Nakada wrote:
Hi,
Hi,
This seems to make valgrind much happier.
On Thu, May 17, 2007 at 11:14:35PM +0900, Paul Brannan wrote:
Hi,
Now 'a' shows up twice in the local table:
Hi,
[#11082] Understanding code: Kernel#require and blocks. — Hugh Sasse <hgs@...>
I'm trying to debug a Rails application which complains about an
On 5/4/07, Hugh Sasse <hgs@dmu.ac.uk> wrote:
On Fri, 4 May 2007, George wrote:
On Fri, May 04, 2007 at 06:18:19PM +0900, Hugh Sasse wrote:
[#11108] pattern for implementation-private constants? — David Flanagan <david@...>
Hi,
I believe there isn't a way, but I don't think it's really necessary. Just
[#11127] Bugs that can be closed — "Jano Svitok" <jan.svitok@...>
I propose closing these bugs as invalid:
[#11145] Rational comparison to 0 fails when denominator is != 1 — <noreply@...>
Bugs item #10739, was opened at 2007-05-10 22:06
Hi,
[#11169] Allow back reference with nest level in Oniguruma for Ruby again — =?ISO-8859-15?Q?Wolfgang_N=E1dasi-Donner?= <wonado@...>
Remark: I posted this text in comp.lang.ruby first, but Matz told me,
Does it make sense or is it required to write this as a RCR?
[#11176] FileUtils.rm_rf misfeature? — johan556@...
Hi!
[#11210] Pathname ascend and descend inclusive parameter — TRANS <transfire@...>
I would like to suggest that Pathname#ascend and Pathname#descend
[#11234] Planning to release 1.8.6 errata — Urabe Shyouhei <shyouhei@...>
Hi all.
On 25/05/07, Urabe Shyouhei <shyouhei@ruby-lang.org> wrote:
[#11252] Init_stack and ruby_init_stack fail to reinit stack (threads problem?) — <noreply@...>
Bugs item #11134, was opened at 2007-05-25 12:14
Hi,
Nobuyoshi Nakada wrote:
[#11255] ruby_1_8_6 build problem (make install-doc) — johan556@...
Hi!
[#11271] providing better support through rubyforge tracker categories — Ryan Davis <ryand-ruby@...>
I'm going to make more categories for the trackers (bugs and patches)
[#11367] BUG: next in lambda: 1.8.6 differs from 1.8.4 and 1.9.0 — David Flanagan <david@...>
A toplevel next statement in a lambda does not return a value in 1.8.6,
[#11368] $2000 USD Reward for help fixing Segmentation Fault in GC — Brent Roman <brent@...>
Hi Brent,
Re: [ ruby-Bugs-10527 ] segfault printing instruction sequence for iterator
Yes, this seems to fix it, thanks.
Paul
On Thu, May 10, 2007 at 04:51:18PM +0900, Nobuyoshi Nakada wrote:
> Hi,
>
> At Thu, 3 May 2007 04:42:53 +0900,
> Paul Brannan wrote in [ruby-core:11073]:
> > The following program segfaults:
> >
> > i = VM::InstructionSequence.compile('for a in b; end')
> > p i.to_a
>
> Thank you, does this patch fix it?
>
>
> Index: iseq.c
> ===================================================================
> --- iseq.c (revision 12267)
> +++ iseq.c (working copy)
> @@ -1140,5 +1140,5 @@ iseq_data_to_ary(rb_iseq_t *iseq)
> ID lid = iseq->local_table[i];
> if (lid) {
> - rb_ary_push(locals, ID2SYM(lid));
> + if (rb_id2str(lid)) rb_ary_push(locals, ID2SYM(lid));
> }
> else {
> @@ -1181,8 +1181,8 @@ iseq_data_to_ary(rb_iseq_t *iseq)
> /* body */
> for (seq = iseq->iseq; seq < iseq->iseq + iseq->size; ) {
> - VALUE ary = rb_ary_new();
> VALUE insn = *seq++;
> int j, len = insn_len(insn);
> VALUE *nseq = seq + len - 1;
> + VALUE ary = rb_ary_new2(len);
>
> rb_ary_push(ary, insn_syms[insn]);
> Index: parse.y
> ===================================================================
> --- parse.y (revision 12268)
> +++ parse.y (working copy)
> @@ -388,5 +388,6 @@ static int local_id_gen(struct parser_p
> static ID *local_tbl_gen(struct parser_params*);
> #define local_tbl() local_tbl_gen(parser)
> -static ID internal_id(void);
> +static ID internal_id_gen(struct parser_params*);
> +#define internal_id() internal_id_gen(parser)
>
> static void dyna_push_gen(struct parser_params*);
> @@ -8271,7 +8272,8 @@ rb_gc_mark_symbols(void)
>
> static ID
> -internal_id(void)
> +internal_id_gen(struct parser_params *parser)
> {
> - return ID_INTERNAL | (++global_symbols.last_id << ID_SCOPE_SHIFT);
> + int id = vtable_size(lvtbl->args) + vtable_size(lvtbl->vars);
> + return ID_INTERNAL | (id << ID_SCOPE_SHIFT);
> }
>
>
> --
> Nobu Nakada