Ticket #963 (closed bug: fixed)

Opened 5 years ago

Last modified 5 years ago

segfault in Parrot_HashIteratorKey_get_string

Reported by: coke Owned by: NotFound
Priority: major Milestone:
Component: none Version:
Severity: high Keywords:
Cc: Language: tcl
Patch status: Platform:

Description

With parrot r40897 and partcl r658;

running parrot tcl.pbc t_tcl/set-old.test (need to run "make t_tcl" first to checkout the test files),

(gdb) bt
#0  0xb7e496ca in Parrot_HashIteratorKey_get_string (interp=0x804f040,     pmc=0xb69f2200) at ./src/pmc/hashiteratorkey.pmc:47
#1  0xb7e47f50 in Parrot_FixedPMCArray_get_string_keyed_int (interp=0x804f040,     pmc=0xb69e05d8, key=1) at ./src/pmc/fixedpmcarray.pmc:286
#2  0xb7e319c6 in Parrot_ArrayIterator_shift_string (interp=0x804f040,     pmc=0xb69dea60) at ./src/pmc/arrayiterator.pmc:278
#3  0xb7cde326 in Parrot_shift_s_p (cur_opcode=0xb6eb0074, interp=0x804f040)    at src/ops/pmc.ops:438
#4  0xb7d44dd2 in runops_slow_core (interp=0x804f040, pc=0xb6eb0074)    at src/runcore/cores.c:462
#5  0xb7d4406f in runops_int (interp=0x804f040, offset=966)    at src/runcore/main.c:987
#6  0xb7d2c402 in runops (interp=0x804f040, offs=966) at src/call/ops.c:119
#7  0xb7d2c589 in runops_args (interp=0x804f040, sub=0x81034f8,     obj=0xb69e0638, meth_unused=0x8074378, sig=0xb7eb2d97 "S",     ap=0xbfcdab44 "??\235??\004\236??>?h?\034\bxC\a\b\003")    at src/call/ops.c:269
#8  0xb7d2cac2 in Parrot_run_meth_fromc_args (interp=0x804f040, sub=0x81034f8,     obj=0xb69e0638, meth=0x8074378, sig=0xb7eb2d97 "S") at src/call/ops.c:482
#9  0xb7e55684 in Parrot_Object_get_string (interp=0x804f040, pmc=0xb69e0638)    at ./src/pmc/object.c:3169
#10 0xb7e47f50 in Parrot_FixedPMCArray_get_string_keyed_int (interp=0x804f040,     pmc=0xb69e04d0, key=0) at ./src/pmc/fixedpmcarray.pmc:286
#11 0xb7e319c6 in Parrot_ArrayIterator_shift_string (interp=0x804f040, 
#12 0xb7cde326 in Parrot_shift_s_p (cur_opcode=0xb6eb0074, interp=0x804f040)    at src/ops/pmc.ops:438
#13 0xb7d44dd2 in runops_slow_core (interp=0x804f040, pc=0xb6eb0074)    at src/runcore/cores.c:462
#14 0xb7d4406f in runops_int (interp=0x804f040, offset=966)    at src/runcore/main.c:987
#15 0xb7d2c402 in runops (interp=0x804f040, offs=966) at src/call/ops.c:119
#16 0xb7d2c589 in runops_args (interp=0x804f040, sub=0x81034f8,     obj=0xb69e0518, meth_unused=0x8074378, sig=0xb7eb2d97 "S",     ap=0xbfcdad14 "??Z\tH?¿\023G¿h?\034\bxC\a\b\003") at src/call/ops.c:269
#17 0xb7d2cac2 in Parrot_run_meth_fromc_args (interp=0x804f040, sub=0x81034f8,     obj=0xb69e0518, meth=0x8074378, sig=0xb7eb2d97 "S") at src/call/ops.c:482
#18 0xb7e55684 in Parrot_Object_get_string (interp=0x804f040, pmc=0xb69e0518)    at ./src/pmc/object.c:3169
#19 0xb7c973a9 in Parrot_tcl_return_p (cur_opcode=0xb6ec15d8, interp=0x804f040)    at tcl.ops:130
#20 0xb7d44dd2 in runops_slow_core (interp=0x804f040, pc=0xb6ec15d8)    at src/runcore/cores.c:462
#21 0xb7d4406f in runops_int (interp=0x804f040, offset=23644)    at src/runcore/main.c:987
#22 0xb7d2c402 in runops (interp=0x804f040, offs=3) at src/call/ops.c:119
#23 0xb7d2c589 in runops_args (interp=0x804f040, sub=0x80c29b8, obj=0x80b0bd0,     meth_unused=0x0, sig=0xb7ea901b "vP", ap=0xbfcdae9c "\030-\f\b")
    at src/call/ops.c:269
#24 0xb7d2cd38 in Parrot_runops_fromc_args (interp=0x804f040, sub=0x80c29b8,     sig=0xb7ea901b "vP") at src/call/ops.c:338
#25 0xb7d16288 in Parrot_runcode (interp=0x804f040, argc=2, argv=0xbfcdb008)    at src/embed.c:983
#26 0xb7e95ecf in imcc_run (interp=0x804f040, sourcefile=0xbfcdb46d "tcl.pbc",     argc=2, argv=0xbfcdb008) at compilers/imcc/main.c:801
#27 0x08048955 in main (argc=2, argv=0xbfcdb008) at src/main.c:60
(gdb) p *attrs$1 = {parrot_hash = 0x0, bucket = 0x0}

Change History

Changed 5 years ago by chromatic

On Tuesday 01 September 2009 17:54:28 Parrot wrote:

> #963: segfault in Parrot_HashIteratorKey_get_string
>- With parrot r40897 and partcl r658;
>
>  running parrot tcl.pbc t_tcl/set-old.test (need to run "make t_tcl" first
>  to checkout the test files),
>
>  {{{
>  (gdb) bt
>  #0  0xb7e496ca in Parrot_HashIteratorKey_get_string (interp=0x804f040,
>  pmc=0xb69f2200) at ./src/pmc/hashiteratorkey.pmc:47

Can you show a little more information here?  Is attrs null?  Is attrs-
>parrot_hash null?

-- c

Changed 5 years ago by coke

On Thu, Sep 3, 2009 at 3:49 AM, chromatic<chromatic@wgz.org> wrote:
> On Tuesday 01 September 2009 17:54:28 Parrot wrote:
>
>> #963: segfault in Parrot_HashIteratorKey_get_string
>>- With parrot r40897 and partcl r658;
>>
>>  running parrot tcl.pbc t_tcl/set-old.test (need to run "make t_tcl" first
>>  to checkout the test files),
>>
>>  {{{
>>  (gdb) bt
>>  #0  0xb7e496ca in Parrot_HashIteratorKey_get_string (interp=0x804f040,
>>  pmc=0xb69f2200) at ./src/pmc/hashiteratorkey.pmc:47
>
> Can you show a little more information here?  Is attrs null?  Is attrs-
>>parrot_hash null?
>
> -- c

From the bottom of the original report:

 (gdb) p *attrs$1 = {parrot_hash = 0x0, bucket = 0x0}

-- 
Will "Coke" Coleda

Changed 5 years ago by coke

  • owner set to NotFound

Segfault fixed by NotFound++ in r40972.

Changed 5 years ago by coke

  • status changed from new to closed
  • resolution set to fixed
Note: See TracTickets for help on using tickets.