# New Ticket Created by Andy Dougherty # Please include the string: [perl #39188] # in the subject line of all future correspondence about this issue. # <URL: https://rt.perl.org/rt3/Ticket/Display.html?id=39188 >
As of this morning's snapshot (Tue May 23 07:15:07 2006 UTC) The following additional 90 tests dump core. They didn't do that last week. Failed Test Stat Wstat Total Fail Failed List of Failed ------------------------------------------------------------------------------- t/compilers/imcc/imcpasm/cfg.t 3 768 3 3 100.00% 1-3 t/compilers/imcc/imcpasm/opt0.t 4 1024 6 4 66.67% 2 4-6 t/compilers/imcc/imcpasm/opt1.t 75 19200 78 75 96.15% 1-75 t/compilers/imcc/imcpasm/opt2.t 5 1280 6 5 83.33% 1-4 6 t/compilers/imcc/imcpasm/sub.t 2 512 2 2 100.00% 1-2 t/compilers/imcc/reg/alloc.t 1 256 3 1 33.33% 3 The core dumps all look similar: main.c is calling PackFile_fixup_subs with an interpreter argument where interpreter->code is NULL. I don't understand the code well enough to figure out where interpreter->code was supposed to get set to anything non-NULL. $ dbx parrot (dbx) run -o cfg_1.pasm t/compilers/imcc/imcpasm/cfg_1.pir Running: parrot -o cfg_1.pasm t/compilers/imcc/imcpasm/cfg_1.pir (process id 8438) [EMAIL PROTECTED] ([EMAIL PROTECTED]) signal SEGV (no mapping at the fault address) in do_sub_pragmas at line 430 in file "packfile.c" 430 struct PackFile_FixupTable *ft = self->fixups; (dbx) where current thread: [EMAIL PROTECTED] =>[1] do_sub_pragmas(interpreter = 0x30d370, self = (nil), action = 16, eval_pmc = (nil)), line 430 in "packfile.c" [2] PackFile_fixup_subs(interpreter = 0x30d370, what = PBC_POSTCOMP, eval = (nil)), line 3388 in "packfile.c" [3] main(argc = 1, argv = 0xffbefa48), line 624 in "main.c" (dbx) print *interpreter->code dbx: reference through nil pointer (dbx) print *interpreter *interpreter = { ctx = { state = 0x30dfb8 bp = { regs_n = 0x30e120 regs_i = 0x30e120 } bp_ps = { regs_p = 0x30e220 regs_s = 0x30e220 } } ctx_mem = { free_list = 0x30de68 n_free_slots = 81 } stash_hash = 0x364fd0 arena_base = 0x30eab8 class_hash = 0x364fa0 vtables = 0x357378 n_vtable_max = 72 n_vtable_alloced = 100 piodata = 0x30e2b0 op_lib = 0x29daf8 op_count = 1219U op_info_table = 0x29ee38 op_func_table = 0x29db28 evc_func_table = (nil) save_func_table = (nil) n_libs = 0 all_op_libs = (nil) flags = PARROT_NO_FLAGS debug_flags = 0 run_core = PARROT_SLOW_CORE profile = (nil) resume_flag = 4 resume_offset = 0 code = (nil) initial_pf = 0x4b2d10 imc_info = 0x4b2cb0 output_file = 0xffbefb76 "cfg_1.pasm" pdb = (nil) debugger = (nil) lo_var_ptr = (nil) parent_interpreter = (nil) world_inited = 1 iglobals = 0x3648e0 DOD_registry = (nil) HLL_info = 0x3696b8 HLL_namespace = 0x3696a0 binop_mmd_funcs = 0x357138 n_binop_mmd_funcs = 47U caches = 0x30e2e0 const_cstring_table = 0x3526a0 task_queue = 0x4b2c70 sleeping = 0 exceptions = (nil) exc_free_list = (nil) exception_list = 0x4ae108 thread_data = (nil) recursion_limit = 1000U gc_generation = 0 current_args = (nil) current_params = (nil) current_returns = (nil) current_cont = (nil) current_object = (nil) current_method = (nil) } Summary of my parrot 0.4.4 (r0) configuration: configdate='Tue May 23 11:50:30 2006' Platform: osname=solaris, archname=sun4-solaris jitcapable=0, jitarchname=nojit, jitosname=solaris, jitcpuarch=sun4 execcapable=0 perl=perl5.6 Compiler: cc='cc', ccflags='-I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DDISABLE_GC_DEBUG=1 -DNDEBUG -g', Linker and Libraries: ld='cc', ldflags=' -L/usr/local/lib -R/usr/local/lib ', cc_ldflags='', libs='-lsocket -lnsl -ldl -lm -lpthread -lrt' Dynamic Linking: share_ext='.so', ld_share_flags='-G -L/usr/local/lib -R/usr/local/lib', load_ext='.so', ld_load_flags='-G -L/usr/local/lib -R/usr/local/lib' Types: iv=long, intvalsize=4, intsize=4, opcode_t=long, opcode_t_size=4, ptrsize=4, ptr_alignment=4 byteorder=4321, nv=double, numvalsize=8, doublesize=8 -- Andy Dougherty [EMAIL PROTECTED]