[perl #41249] [BUG] [tru64] core dump in t/pmc/interp_3.pir

Will Coleda via RT parrotbug-followup at parrotcode.org
Wed Dec 3 16:12:40 UTC 2008


This ticket is against a very old version of parrot, and 
we can no longer duplicate it as we don't have access to this 
architecture.

If you can duplicate the error against a recent parrot on this 
machine, please open a new ticket at https://trac.parrot.org/.

Closing ticket.

On Thu Jan 11 20:07:44 2007, jhi wrote:
> ---
> osname= dec_osf
> osvers= 5.1a
> arch=   alpha-dec_osf-thread-multi
> cc=     cc V6.4-014
> ---
> Flags:
>     category=core
>     severity=high
>     ack=no
> ---
> kosh:/tmp/jhi/parrot ; dbx ./parrot
> dbx version 5.1
> Type 'help' for help.main: 510  Parrot_set_config_hash();
> (dbx) run t/op/interp_3.pir
> thread 0x3 signal Segmentation fault at
> warning: "src/ops/io.ops":223 has no code associated with it
> 
>   [Parrot_print_sc
> warning: "src/ops/io.ops":223 has no code associated with it
> :223 +0x2013e309,0x12013e308]   STRING * const s = $1;
> (dbx) where
> >  0 Parrot_print_sc(cur_opcode = 0x140486538, interp = 0x1404cd400)
> ["src/ops/io.ops":223, 0x12013e308]
>    1 runops_slow_core(interp = 0x1404cd400, pc = 0x140486538)
> ["src/runops_cores.c":184, 0x1201bdbf8]
>    2 runops_int( = 0x1404cd400,  = 0x1404cd400, interp = 0x1404cd400,
> offset = 31) ["src/interpreter.c":775, 0x120167458]
>    3 runops(interp = 0x1404cd400, offs = 31) ["src/inter_run.c":87,
> 0x1201656c0]
>    4 Parrot_runinterp_p_ic(cur_opcode = 0x140486490, interp =
> 0x140166000) ["src/ops/core.ops":1010, 0x120133130]
>    5 runops_slow_core(interp = 0x140166000, pc = 0x140486490)
> ["src/runops_cores.c":184, 0x1201bdbf8]
>    6 runops_int( = 0x140166000,  = 0x140166000, interp = 0x140166000,
> offset = 0) ["src/interpreter.c":775, 0x120167458]
>    7 runops(interp = 0x140166000, offs = 0) ["src/inter_run.c":87,
> 0x1201656c0]
>    8 runops_args(interp = 0x140166000, sub = 0x14048e998, obj =
> 0x1400c34c0, meth = (nil), sig = 0x14009c7a8 = "vP", ap = struct {
> _a0 = 0x11fffbf20    _offset = 24}) ["src/inter_run.c":193,
> 0x1201659f0]
>    9 Parrot_runops_fromc_args(interp = 0x140166000, sub = 0x14048e998,
> sig = 0x14009c7a8 = "vP") ["src/inter_run.c":295, 0x120165bc0]
>   10 Parrot_runcode(interp = 0x140166000, argc = 1, argv =
> 0x11fffc020) ["src/embed.c":805, 0x12010edc4]
>   11 main(argc = 1, argv = 0x11fffc020) ["compilers/imcc/main.c":721,
> 0x1200edd50](dbx)
> (dbx)
> 
> The line 223 in src/ops/base_ops.c (Parrot_print_sc()) expands to
> 
>   STRING * const s =  ( ( interp -> ctx ) . state ) -> constants [
> cur_opcode [
>  1 ] ] ->u.string;
> 
> The segmentation fault comes from the ->constants being NULL:
> 
> (dbx) p *((interp->ctx).state)
> struct {
>     caller_ctx = (nil)
>     bp = union {
>         regs_n = 0x1404cfec0
>         regs_i = 0x1404cfec0
>     }
>     bp_ps = union {
>         regs_p = 0x1404d00c0
>         regs_s = 0x1404d00c0
>     }
>     n_regs_used = 0x1400129e0
>     regs_mem_size = 1024
>     ref_count = 0
>     reg_stack = 0x140812bc8
>     user_stack = 0x140817bf0
>     lex_pad = 0x1400c34c0
>     outer_ctx = (nil)
>     warns = 0
>     errors = 5
>     trace_flags = 0
>     recursion_depth = 18446744073709551615
>     current_sub = (nil)
>     current_cont = (nil)
>     current_object = (nil)
>     current_method = (nil)
>     current_pc = 0x140486538
>     current_namespace = 0x14053f7b0
>     current_HLL = 0
>     current_results = (nil)
>     constants = (nil)
>     pred_offset = 0
> }
> (dbx)
> 
> So it would seem running an interpreter from within an interpreter
> (that's what the interp_3.pir seems to be doing) isn't correctly
> copying/initializing a lot of stuff in the child interpreter?
> 
> 
> 
> 
> 
> ---
> Summary of my parrot 0.4.7 (r0) configuration:
>   configdate='Fri Jan 12 03:51:38 2007'
>   Platform:
>     osname=dec_osf, archname=alpha-dec_osf
>     jitcapable=0, jitarchname=nojit,
>     jitosname=dec_osf, jitcpuarch=alpha
>     execcapable=0
>     perl=/u/vieraat/vieraat/jhi/Perl/Platform/OSF1/bin/perl
>   Compiler:
>     cc='cc', ccflags='-std -D_INTRINSICS -fprm d -ieee -I/p/include
> -DLANGUAGE_C -pthread -D_XOPEN_SOURCE=500',
>   Linker and Libraries:
>     ld='ld', ldflags=' -L/p/lib',
>     cc_ldflags='',
>     libs='-lm -lutil -lpthread -laio -lrt -lgmp'
>   Dynamic Linking:
>     share_ext='.so', ld_share_flags='-shared -expect_unresolved "*"
> -O4 -msym -std -L/p/lib',
>     load_ext='.so', ld_load_flags='-shared -expect_unresolved "*" -O4
> -msym -std -L/p/lib'
>   Types:
>     iv=long, intvalsize=8, intsize=4, opcode_t=long, opcode_t_size=8,
>     ptrsize=8, ptr_alignment=8 byteorder=12345678,
>     nv=double, numvalsize=8, doublesize=8
> 
> ---
> Environment:
>     HOME    LANG    LANGUAGE    LC_ALL    LC_CTYPE    LD_LIBRARY_PATH
> LOGDIR    PATH    SHELL


-- 
Will "Coke" Coleda


More information about the parrot-dev mailing list