Received signal SIGSEGV, Segmentation fault. new_get_return_type (fun_type=0x0, flags=flags@entry=0) at /home/srb/81pike/src/pike_types.cmod:11626 11626 while(fun_type->type == PIKE_T_ARRAY) { (gdb) where #0 new_get_return_type (fun_type=0x0, flags=flags@entry=0) at /home/srb/81pike/src/pike_types.cmod:11626 #1 0x00005555555f03be in new_get_return_type (fun_type=0x555556026e50, flags=flags@entry=0) at /home/srb/81pike/src/pike_types.cmod:11671 #2 0x00005555555f03be in new_get_return_type (fun_type=0x555556027ed0, flags=flags@entry=0) at /home/srb/81pike/src/pike_types.cmod:11671 #3 0x00005555555f03be in new_get_return_type (fun_type=0x555556027a90, flags=flags@entry=0) at /home/srb/81pike/src/pike_types.cmod:11671 #4 0x00005555555f03be in new_get_return_type (fun_type=0x555556027a50, flags=flags@entry=0) at /home/srb/81pike/src/pike_types.cmod:11671 #5 0x00005555555f03be in new_get_return_type (fun_type=fun_type@entry=0x555556027e50, flags=flags@entry=0) at /home/srb/81pike/src/pike_types.cmod:11671 #6 0x0000555555689faa in fix_type_field (n=n@entry=0x555555f11aa0) at /home/srb/81pike/src/las.cmod:4054 #7 0x000055555568f66f in optimize (n=0x555555f11aa0, n@entry=0x555555fca9e0) at /home/srb/81pike/src/las.cmod:4569 #8 0x0000555555695b38 in optimize_node (n=0x555555fca9e0) at /home/srb/81pike/src/las.cmod:4660 #9 optimize_node (n=0x555555fca9e0) at /home/srb/81pike/src/las.cmod:4654 #10 dooptcode (name=0x5555557d94f0, n=0x555555fca9e0, type=0x55555600a310, modifiers=1) at /home/srb/81pike/src/las.cmod:4989 #11 0x000055555557a09d in yyparse () at language.yacc:1065 #12 0x00005555556213c0 in do_yyparse () at /home/srb/81pike/src/pike_compiler.cmod:370 #13 0x0000555555625e99 in run_pass2 (c=0x5555559d4200) at /home/srb/81pike/src/pike_compiler.cmod:1241 #14 run_pass2 (c=0x5555559d4200) at /home/srb/81pike/src/pike_compiler.cmod:1216 #15 0x000055555562633e in f_compilation_compile (args=<optimized out>) at /home/srb/81pike/src/pike_compiler.cmod:1768 #16 0x0000555555587508 in lower_mega_apply (args=args@entry=0, o=o@entry=0x555555f002a8, fun=1) at /home/srb/81pike/src/interpret.c:2584 #17 0x0000555555587f0a in jump_opcode_F_CALL_OTHER (arg1=13) at /home/srb/81pike/src/interpret_functions.h:2424 #18 0x00007ffff7824dc0 in ?? () #19 0x0000000000000014 in ?? () #20 0x0000000000000050 in ?? () #21 0x00007ffff7a4d9f0 in ?? () #22 0x0000000000000000 in ?? () (gdb) list 11621 } 11622 #endif /* PIKE_DEBUG */ 11623 11624 loop: 11625 /* Count the number of array levels. */ 11626 while(fun_type->type == PIKE_T_ARRAY) { 11627 array_cnt++; 11628 fun_type = fun_type->cdr; 11629 } 11630 (gdb) p fun_type $1 = (struct pike_type *) 0x0 (gdb)
Stephen R. van den Berg wrote:
11623 11624 loop: 11625 /* Count the number of array levels. */ 11626 while(fun_type->type == PIKE_T_ARRAY) { 11627 array_cnt++; 11628 fun_type = fun_type->cdr; 11629 } 11630 (gdb) p fun_type $1 = (struct pike_type *) 0x0 (gdb)
And: array_cnt = 1
Thanks for fixing that. Now I get this:
lib/modules/Standards.pmod/URI.pike:517:Wrong return type. lib/modules/Standards.pmod/URI.pike:517:Expected: mapping(string:string). lib/modules/Standards.pmod/URI.pike:517:Got : mapping(zero:zero).
This has been there for a few months already, BTW.
pike-devel@lists.lysator.liu.se