Project

General

Profile

Actions

Backport #8513

closed

assertion failed in rb_ary_modify

Added by znz (Kazuhiro NISHIYAMA) almost 11 years ago. Updated almost 11 years ago.

Status:
Rejected
[ruby-dev:47418]

Description

-DARRAY_DEBUG をつけていると rdoc の生成中に array.c:282 で assertion failed になります。

    else if (ARY_SHARED_NUM(shared) == 1 && len > (RARRAY_LEN(shared)>>1)) {          
        long shift = RARRAY_PTR(ary) - RARRAY_PTR(shared);                            
        ARY_SET_PTR(ary, RARRAY_PTR(shared));                                         
        ARY_SET_CAPA(ary, RARRAY_LEN(shared));                                        

の ARY_SET_CAPA が assertion failed になっている 282 行目で、ARY_SET_PTR は通っているので、共通している
assert(!ARY_EMBED_P(ary));
assert(!OBJ_FROZEN(ary));
は問題なくて
assert(!ARY_SHARED_P(ary));
でひっかかっているようです。

Actions

Also available in: Atom PDF

Like0
Like0Like0Like0Like0Like0