Ticket #1080 (closed bug: fixed)

Opened 5 years ago

Last modified 5 years ago

segfault in Parrot_HashIteratorKey_get_string

Reported by: coke Owned by: whiteknight
Priority: blocker Milestone:
Component: core Version: trunk
Severity: fatal Keywords:
Cc: Language:
Patch status: Platform:

Description

Parrot r41563, partcl revision 745

running t_tcl/dict.test in a partcl checkout (after running enough of 'make spectest' to checkout the spec tests), segfaults with the following backtrace.

#0  0xb7f4620b in Parrot_HashIteratorKey_get_string (interp=0x804f040,
    pmc=0xb6c0fb74) from /home/coke/bird/lib/libparrot.so.1.6.0
#1  0xb7e545fe in convert_arg_from_pmc (interp=0x804f040, st=0xbfffc080)
    at src/call/pcc.c:1124
#2  Parrot_convert_arg (interp=0x804f040, st=0xbfffc080) at src/call/pcc.c:1862
#3  0xb7e54dd7 in Parrot_process_args (interp=0x804f040, st=0xbfffc080,
    param_or_result=PARROT_PASS_PARAMS) at src/call/pcc.c:1725
#4  0xb7e56017 in parrot_pass_args_fromc (interp=0x804f040,
    sig=0xb7fb2d2f "PP", dest=0xb6faf1b0, old_ctxp=0xb6c0d720,
    ap=0xbfffc1a0 "\254\204\303\266H\327\300\266 \327\300\266\1")
    at src/call/pcc.c:1949
#5  0xb7e581b3 in runops_args (interp=0x804f040, sub=0x813050c, obj=0x80c0718,
    meth_unused=0x0, sig=0xb7fb2d2e "IPP",
    ap=0xbfffc19c "t\373\300\266\254\204\303\266H\327\300\266 \327\300\266\1")
    at src/call/ops.c:255
#6  0xb7e586b8 in Parrot_runops_fromc_args_reti (interp=0x804f040,
    sub=0x813050c, sig=0xb7fb2d2e "IPP") at src/call/ops.c:415
#7  0xb7e79c30 in COMPARE (interp=0x804f040, a=0x9a46c88, b=0xb6c384ac,
    cmp=0x1) at src/utils.c:917
#8  0xb7e79d5d in Parrot_quicksort (interp=0x804f040, data=0x97055c0, n=4,
    cmp=0x813050c) at src/utils.c:946
#9  0xb7f43de5 in Parrot_FixedPMCArray_nci_sort (interp=0x804f040,
    pmc=0x80b6500) from /home/coke/bird/lib/libparrot.so.1.6.0
#10 0xb7ef0e81 in Parrot_NCI_invoke (interp=0x804f040, pmc=0x80b6500,
    next=0xb6faf064) from /home/coke/bird/lib/libparrot.so.1.6.0
#11 0xb7e02856 in Parrot_callmethodcc_p_sc (cur_opcode=0xb6faf058,
    interp=0x804f040) at src/ops/object.ops:77
#12 0xb7e7185b in runops_slow_core (interp=0x804f040, runcore=0x80e1e50,
    pc=0xb6faf058) at src/runcore/cores.c:843
#13 0xb7e7074e in runops_int (interp=0x804f040, offset=24465)
    at src/runcore/main.c:545
#14 0xb7e58012 in runops (interp=0x804f040, offs=3) at src/call/ops.c:119
#15 0xb7e5817b in runops_args (interp=0x804f040, sub=0x80b95fc, obj=0x80c0718,
    meth_unused=0x0, sig=0xb7fa6d44 "vP", ap=0xbfffc3fc "\314\230\v\b")
    at src/call/ops.c:269
#16 0xb7e587d8 in Parrot_runops_fromc_args (interp=0x804f040, sub=0x80b95fc,
    sig=0xb7fa6d44 "vP") at src/call/ops.c:338
#17 0xb7e42187 in Parrot_runcode (interp=0x804f040, argc=2, argv=0xbfffc578)
    at src/embed.c:827
#18 0xb7f94046 in imcc_run_pbc (interp=0x804f040,
    sourcefile=0xbfffe440 "tcl.pbc", argc=2, argv=0xbfffc578)
    at compilers/imcc/main.c:792
#19 imcc_run (interp=0x804f040, sourcefile=0xbfffe440 "tcl.pbc", argc=2,
    argv=0xbfffc578) at compilers/imcc/main.c:1075
#20 0x08048985 in main (argc=2, argv=0xbfffc578) at src/main.c:60

Change History

Changed 5 years ago by coke

Segfault is gone; leaving case open for bacek to find original cause (he just removed the symptom.)

Changed 5 years ago by coke

  • component changed from none to core

Changed 5 years ago by whiteknight

  • owner set to whiteknight

Several of the functions in that backtrace no longer exist after the PCC refactor: Parrot_runops_fromc_args, Parrot_runops_fromc_args, parrot_pass_args_fromc, Parrot_process_args, convert_arg_from_pmc, etc.

If this segfault no longer occurs, this ticket should be closed. The underlying archetecture of the PCC system has changed so much that it would be a different issue entirely.

Changed 5 years ago by jkeenan

Coke,

Are you still getting this problem in partcl?

If not, then can ticket be closed as whiteknight suggests?

Thank you very much.

kid51

Changed 5 years ago by coke

This version of partcl isn't being developed atm, in favor of partcl-nqp, so it's unlikely I'll be able to duplicate this segfault. Feel free to close the ticket.

Changed 5 years ago by whiteknight

  • status changed from new to closed
  • resolution set to fixed

Okay, we can open a new ticket if this problem emerges in an actively-developed project or branch.

Note: See TracTickets for help on using tickets.