Go to:
Gentoo Home
Documentation
Forums
Lists
Bugs
Planet
Store
Wiki
Get Gentoo!
Gentoo's Bugzilla – Attachment 892139 Details for
Bug 907609
dev-perl/SDL-2.548.0-r2 fails tests: perl: sv.c:4125: Perl_sv_setsv_flags: Assertion &(ssv->sv_u.svu_iv) == &(((XPVIV) SvANY(ssv))->xiv_iv) failed
Home
|
New
–
[Ex]
|
Browse
|
Search
|
Privacy Policy
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
gdb context and complete backtrace
gdb.txt (text/plain), 15.05 KB, created by
matoro
on 2024-05-02 15:47:39 UTC
(
hide
)
Description:
gdb context and complete backtrace
Filename:
MIME Type:
Creator:
matoro
Created:
2024-05-02 15:47:39 UTC
Size:
15.05 KB
patch
obsolete
>+set pagination off >+r >Starting program: /usr/bin/perl t/core.t >[Thread debugging using libthread_db enabled] >Using host libthread_db library "/usr/lib/libthread_db.so.1". >[Detaching after fork from child process 583337] > >Program received signal SIGSEGV, Segmentation fault. >0x2a6b66c5 in Perl_xs_handshake (key=146277735, v_my_perl=0x2aa51970, file=0x29cee363 "lib/SDL_perl.c") at util.c:5525 >5525 xs_spp = (SV***)CvHSCXT(cv); >+bt >#0 0x2a6b66c5 in Perl_xs_handshake (key=146277735, v_my_perl=0x2aa51970, file=0x29cee363 "lib/SDL_perl.c") at util.c:5525 >#1 0x29cecec3 in boot_SDL (cv=0x2aa51970) at lib/SDL_perl.c:660 >#2 0x29cebaaa in boot_SDL_perl (cv=0x568bd980) at lib/SDL_perl.xs:158 >#3 0x2a70fdd1 in Perl_pp_entersub () at pp_hot.c:5555 >#4 0x2a6a811c in Perl_runops_debug () at dump.c:2861 >#5 0x2a54b74f in Perl_call_sv (sv=0x565908b0, flags=13) at perl.c:3150 >#6 0x2a554431 in Perl_call_list (oldscope=6, paramList=0x565906f0) at perl.c:5247 >#7 0x2a52fc8b in S_process_special_blocks (floor=165, fullname=0x5657d8b4 "BEGIN", gv=0x56590850, cv=0x565908b0) at op.c:11147 >#8 0x2a52f302 in Perl_newATTRSUB_x (floor=165, o=0x565932e0, proto=0x0, attrs=0x0, block=0x565932c4, o_is_gv=false) at op.c:10984 >#9 0x2a521d8f in Perl_utilize (aver=1, floor=165, version=0x0, idop=0x56582f1c, arg=0x0) at op.c:7883 >#10 0x2a5c8ff7 in Perl_yyparse (gramtype=258) at /usr/src/debug/dev-lang/perl-5.38.2-r2/perl-5.38.2/perly.y:460 >#11 0x2a7af73e in S_doeval_compile (gimme=2 '\002', outside=0x0, seq=228, hh=0x0) at pp_ctl.c:3886 >#12 0x2a7b720a in S_require_file (sv=0x56572960) at pp_ctl.c:4966 >#13 0x2a7b7321 in Perl_pp_require () at pp_ctl.c:4998 >#14 0x2a6a811c in Perl_runops_debug () at dump.c:2861 >#15 0x2a54b74f in Perl_call_sv (sv=0x56572950, flags=13) at perl.c:3150 >#16 0x2a554431 in Perl_call_list (oldscope=2, paramList=0x56572940) at perl.c:5247 >#17 0x2a52fc8b in S_process_special_blocks (floor=59, fullname=0x5657d8b4 "BEGIN", gv=0x56572910, cv=0x56572950) at op.c:11147 >#18 0x2a52f302 in Perl_newATTRSUB_x (floor=59, o=0x5657d7c0, proto=0x0, attrs=0x0, block=0x5657d7a4, o_is_gv=false) at op.c:10984 >#19 0x2a521d8f in Perl_utilize (aver=1, floor=59, version=0x0, idop=0x5657d420, arg=0x0) at op.c:7883 >#20 0x2a5c8ff7 in Perl_yyparse (gramtype=258) at /usr/src/debug/dev-lang/perl-5.38.2-r2/perl-5.38.2/perly.y:460 >#21 0x2a548ee4 in S_parse_body (env=0x0, xsinit=0x5655640c <xs_init>) at perl.c:2619 >#22 0x2a54736e in perl_parse (my_perl=0x5655a1a0, xsinit=0x5655640c <xs_init>, argc=2, argv=0xffffd094, env=0x0) at perl.c:1921 >#23 0x56556337 in main (argc=2, argv=0xffffd094, env=0xffffd0a0) at perlmain.c:106 >+set $var = 0 >+while $var <= 23 >++frame $var >#0 0x2a6b66c5 in Perl_xs_handshake (key=146277735, v_my_perl=0x2aa51970, file=0x29cee363 "lib/SDL_perl.c") at util.c:5525 >5525 xs_spp = (SV***)CvHSCXT(cv); >++l >5520 unthreaded perl524.dll, since unthreadeds don't pass my_perl (a unique *) >5521 through pp_entersub, use a unique value (which is a pointer to PL_stack_sp's >5522 location in the unthreaded perl binary) stored in CV * to figure out if this >5523 Perl_xs_handshake was called by the same pp_entersub */ >5524 cv = (CV*)v_my_perl; >5525 xs_spp = (SV***)CvHSCXT(cv); >5526 got = xs_spp; >5527 need = &PL_stack_sp; >5528 #endif >5529 stage = "second"; >++set $var = $var + 1 >++frame $var >#1 0x29cecec3 in boot_SDL (cv=0x2aa51970) at lib/SDL_perl.c:660 >660 dVAR; dXSBOOTARGSXSAPIVERCHK; >++l >655 XS_EXTERNAL(boot_SDL) >656 { >657 #if PERL_VERSION_LE(5, 21, 5) >658 dVAR; dXSARGS; >659 #else >660 dVAR; dXSBOOTARGSXSAPIVERCHK; >661 #endif >662 #if PERL_VERSION_LE(5, 8, 999) /* PERL_VERSION_LT is 5.33+ */ >663 char* file = __FILE__; >664 #else >++set $var = $var + 1 >++frame $var >#2 0x29cebaaa in boot_SDL_perl (cv=0x568bd980) at lib/SDL_perl.xs:158 >158 boot_SDL(); >++l >153 #ifndef NOSIGCATCH >154 signal(SIGSEGV, handler); >155 #endif >156 PL_perl_destruct_level = 2; >157 GET_TLS_CONTEXT >158 boot_SDL(); >159 >160 #if defined WINDOWS || defined WIN32 >161 SDL_RegisterApp ("SDLPerl App", 0, GetModuleHandle (NULL)); >162 #endif >++set $var = $var + 1 >++frame $var >#3 0x2a70fdd1 in Perl_pp_entersub () at pp_hot.c:5555 >5555 CvXSUB(cv)(aTHX_ cv); >++l >5550 * restored until the LEAVE further down */ >5551 is_scalar = (GIMME_V == G_SCALAR); >5552 >5553 /* CvXSUB(cv) must not be NULL because newXS() refuses NULL xsub address */ >5554 assert(CvXSUB(cv)); >5555 CvXSUB(cv)(aTHX_ cv); >5556 >5557 #if defined DEBUGGING && !defined DEBUGGING_RE_ONLY >5558 /* This duplicates the check done in runops_debug(), but provides more >5559 * information in the common case of the fault being with an XSUB. >++set $var = $var + 1 >++frame $var >#4 0x2a6a811c in Perl_runops_debug () at dump.c:2861 >2861 } while ((PL_op = PL_op->op_ppaddr(aTHX))); >++l >2856 FREETMPS; >2857 LEAVE; >2858 } >2859 >2860 PERL_DTRACE_PROBE_OP(PL_op); >2861 } while ((PL_op = PL_op->op_ppaddr(aTHX))); >2862 DEBUG_l(Perl_deb(aTHX_ "leaving RUNOPS level\n")); >2863 PERL_ASYNC_CHECK(); >2864 >2865 #if defined DEBUGGING && !defined DEBUGGING_RE_ONLY >++set $var = $var + 1 >++frame $var >#5 0x2a54b74f in Perl_call_sv (sv=0x565908b0, flags=13) at perl.c:3150 >3150 CALLRUNOPS(aTHX); >++l >3145 JMPENV_PUSH(ret); >3146 >3147 switch (ret) { >3148 case 0: >3149 redo_body: >3150 CALLRUNOPS(aTHX); >3151 retval = PL_stack_sp - (PL_stack_base + oldmark); >3152 if (!(flags & G_KEEPERR)) { >3153 CLEAR_ERRSV(); >3154 } >++set $var = $var + 1 >++frame $var >#6 0x2a554431 in Perl_call_list (oldscope=6, paramList=0x565906f0) at perl.c:5247 >5247 CALL_LIST_BODY(cv); >++l >5242 SAVEFREESV(cv); >5243 } >5244 JMPENV_PUSH(ret); >5245 switch (ret) { >5246 case 0: >5247 CALL_LIST_BODY(cv); >5248 atsv = ERRSV; >5249 (void)SvPV_const(atsv, len); >5250 if (len) { >5251 PL_curcop = &PL_compiling; >++set $var = $var + 1 >++frame $var >#7 0x2a52fc8b in S_process_special_blocks (floor=165, fullname=0x5657d8b4 "BEGIN", gv=0x56590850, cv=0x565908b0) at op.c:11147 >11147 call_list(oldscope, PL_beginav); >++l >11142 SAVECOPLINE(&PL_compiling); >11143 >11144 DEBUG_x( dump_sub(gv) ); >11145 Perl_av_create_and_push(aTHX_ &PL_beginav, MUTABLE_SV(cv)); >11146 GvCV_set(gv,0); /* cv has been hijacked */ >11147 call_list(oldscope, PL_beginav); >11148 >11149 POPSTACK; >11150 LEAVE; >11151 return !PL_savebegin; >++set $var = $var + 1 >++frame $var >#8 0x2a52f302 in Perl_newATTRSUB_x (floor=165, o=0x565932e0, proto=0x0, attrs=0x0, block=0x565932c4, o_is_gv=false) at op.c:10984 >10984 process_special_blocks(floor, name, gv, cv); >++l >10979 if (name) { >10980 if (PL_parser && PL_parser->error_count) >10981 clear_special_blocks(name, gv, cv); >10982 else >10983 evanescent = >10984 process_special_blocks(floor, name, gv, cv); >10985 } >10986 } >10987 assert(cv); >10988 >++set $var = $var + 1 >++frame $var >#9 0x2a521d8f in Perl_utilize (aver=1, floor=165, version=0x0, idop=0x56582f1c, arg=0x0) at op.c:7883 >7883 newATTRSUB(floor, >++l >7878 newMETHOP_named(OP_METHOD_NAMED, 0, meth) >7879 )); >7880 } >7881 >7882 /* Fake up the BEGIN {}, which does its thing immediately. */ >7883 newATTRSUB(floor, >7884 newSVOP(OP_CONST, 0, newSVpvs_share("BEGIN")), >7885 NULL, >7886 NULL, >7887 op_append_elem(OP_LINESEQ, >++set $var = $var + 1 >++frame $var >#10 0x2a5c8ff7 in Perl_yyparse (gramtype=258) at /usr/src/debug/dev-lang/perl-5.38.2-r2/perl-5.38.2/perly.y:460 >460 utilize($KW_USE_or_NO, $startsub, $version, $module, $optlistexpr); >++l >455 BAREWORD[version] BAREWORD[module] optlistexpr PERLY_SEMICOLON >456 /* version and package appear in reverse order for the same reason as >457 * KW_PACKAGE; see comment above */ >458 { >459 SvREFCNT_inc_simple_void(PL_compcv); >460 utilize($KW_USE_or_NO, $startsub, $version, $module, $optlistexpr); >461 parser->parsed_sub = 1; >462 $$ = NULL; >463 } >464 | KW_IF PERLY_PAREN_OPEN remember mexpr PERLY_PAREN_CLOSE mblock else >++set $var = $var + 1 >++frame $var >#11 0x2a7af73e in S_doeval_compile (gimme=2 '\002', outside=0x0, seq=228, hh=0x0) at pp_ctl.c:3886 >3886 : yyparse(GRAMPROG); >++l >3881 /* compile the code */ >3882 >3883 >3884 yystatus = (!in_require) >3885 ? S_try_yyparse(aTHX_ GRAMPROG, saveop) >3886 : yyparse(GRAMPROG); >3887 >3888 if (yystatus || PL_parser->error_count || !PL_eval_root) { >3889 PERL_CONTEXT *cx; >3890 SV *errsv; >++set $var = $var + 1 >++frame $var >#12 0x2a7b720a in S_require_file (sv=0x56572960) at pp_ctl.c:4966 >4966 if (doeval_compile(gimme, NULL, PL_curcop->cop_seq, NULL)) >++l >4961 SAVECOPLINE(&PL_compiling); >4962 CopLINE_set(&PL_compiling, 0); >4963 >4964 PUTBACK; >4965 >4966 if (doeval_compile(gimme, NULL, PL_curcop->cop_seq, NULL)) >4967 op = PL_eval_start; >4968 else >4969 op = PL_op->op_next; >4970 >++set $var = $var + 1 >++frame $var >#13 0x2a7b7321 in Perl_pp_require () at pp_ctl.c:4998 >4998 : S_require_file(aTHX_ sv); >++l >4993 SV *sv = POPs; >4994 SvGETMAGIC(sv); >4995 PUTBACK; >4996 return ((SvNIOKp(sv) || SvVOK(sv)) && PL_op->op_type != OP_DOFILE) >4997 ? S_require_version(aTHX_ sv) >4998 : S_require_file(aTHX_ sv); >4999 } >5000 } >5001 >5002 >++set $var = $var + 1 >++frame $var >#14 0x2a6a811c in Perl_runops_debug () at dump.c:2861 >2861 } while ((PL_op = PL_op->op_ppaddr(aTHX))); >++l >2856 FREETMPS; >2857 LEAVE; >2858 } >2859 >2860 PERL_DTRACE_PROBE_OP(PL_op); >2861 } while ((PL_op = PL_op->op_ppaddr(aTHX))); >2862 DEBUG_l(Perl_deb(aTHX_ "leaving RUNOPS level\n")); >2863 PERL_ASYNC_CHECK(); >2864 >2865 #if defined DEBUGGING && !defined DEBUGGING_RE_ONLY >++set $var = $var + 1 >++frame $var >#15 0x2a54b74f in Perl_call_sv (sv=0x56572950, flags=13) at perl.c:3150 >3150 CALLRUNOPS(aTHX); >++l >3145 JMPENV_PUSH(ret); >3146 >3147 switch (ret) { >3148 case 0: >3149 redo_body: >3150 CALLRUNOPS(aTHX); >3151 retval = PL_stack_sp - (PL_stack_base + oldmark); >3152 if (!(flags & G_KEEPERR)) { >3153 CLEAR_ERRSV(); >3154 } >++set $var = $var + 1 >++frame $var >#16 0x2a554431 in Perl_call_list (oldscope=2, paramList=0x56572940) at perl.c:5247 >5247 CALL_LIST_BODY(cv); >++l >5242 SAVEFREESV(cv); >5243 } >5244 JMPENV_PUSH(ret); >5245 switch (ret) { >5246 case 0: >5247 CALL_LIST_BODY(cv); >5248 atsv = ERRSV; >5249 (void)SvPV_const(atsv, len); >5250 if (len) { >5251 PL_curcop = &PL_compiling; >++set $var = $var + 1 >++frame $var >#17 0x2a52fc8b in S_process_special_blocks (floor=59, fullname=0x5657d8b4 "BEGIN", gv=0x56572910, cv=0x56572950) at op.c:11147 >11147 call_list(oldscope, PL_beginav); >++l >11142 SAVECOPLINE(&PL_compiling); >11143 >11144 DEBUG_x( dump_sub(gv) ); >11145 Perl_av_create_and_push(aTHX_ &PL_beginav, MUTABLE_SV(cv)); >11146 GvCV_set(gv,0); /* cv has been hijacked */ >11147 call_list(oldscope, PL_beginav); >11148 >11149 POPSTACK; >11150 LEAVE; >11151 return !PL_savebegin; >++set $var = $var + 1 >++frame $var >#18 0x2a52f302 in Perl_newATTRSUB_x (floor=59, o=0x5657d7c0, proto=0x0, attrs=0x0, block=0x5657d7a4, o_is_gv=false) at op.c:10984 >10984 process_special_blocks(floor, name, gv, cv); >++l >10979 if (name) { >10980 if (PL_parser && PL_parser->error_count) >10981 clear_special_blocks(name, gv, cv); >10982 else >10983 evanescent = >10984 process_special_blocks(floor, name, gv, cv); >10985 } >10986 } >10987 assert(cv); >10988 >++set $var = $var + 1 >++frame $var >#19 0x2a521d8f in Perl_utilize (aver=1, floor=59, version=0x0, idop=0x5657d420, arg=0x0) at op.c:7883 >7883 newATTRSUB(floor, >++l >7878 newMETHOP_named(OP_METHOD_NAMED, 0, meth) >7879 )); >7880 } >7881 >7882 /* Fake up the BEGIN {}, which does its thing immediately. */ >7883 newATTRSUB(floor, >7884 newSVOP(OP_CONST, 0, newSVpvs_share("BEGIN")), >7885 NULL, >7886 NULL, >7887 op_append_elem(OP_LINESEQ, >++set $var = $var + 1 >++frame $var >#20 0x2a5c8ff7 in Perl_yyparse (gramtype=258) at /usr/src/debug/dev-lang/perl-5.38.2-r2/perl-5.38.2/perly.y:460 >460 utilize($KW_USE_or_NO, $startsub, $version, $module, $optlistexpr); >++l >455 BAREWORD[version] BAREWORD[module] optlistexpr PERLY_SEMICOLON >456 /* version and package appear in reverse order for the same reason as >457 * KW_PACKAGE; see comment above */ >458 { >459 SvREFCNT_inc_simple_void(PL_compcv); >460 utilize($KW_USE_or_NO, $startsub, $version, $module, $optlistexpr); >461 parser->parsed_sub = 1; >462 $$ = NULL; >463 } >464 | KW_IF PERLY_PAREN_OPEN remember mexpr PERLY_PAREN_CLOSE mblock else >++set $var = $var + 1 >++frame $var >#21 0x2a548ee4 in S_parse_body (env=0x0, xsinit=0x5655640c <xs_init>) at perl.c:2619 >2619 if (yyparse(GRAMPROG) || PL_parser->error_count) { >++l >2614 /* now parse the script */ >2615 if (minus_e == FALSE) >2616 PL_hints |= HINTS_DEFAULT; /* after init_main_stash ; need to be after init_predump_symbols */ >2617 >2618 SETERRNO(0,SS_NORMAL); >2619 if (yyparse(GRAMPROG) || PL_parser->error_count) { >2620 abort_execution(NULL, PL_origfilename); >2621 } >2622 CopLINE_set(PL_curcop, 0); >2623 SET_CURSTASH(PL_defstash); >++set $var = $var + 1 >++frame $var >#22 0x2a54736e in perl_parse (my_perl=0x5655a1a0, xsinit=0x5655640c <xs_init>, argc=2, argv=0xffffd094, env=0x0) at perl.c:1921 >1921 parse_body(env,xsinit); >++l >1916 PL_dowarn = G_WARN_OFF; >1917 >1918 JMPENV_PUSH(ret); >1919 switch (ret) { >1920 case 0: >1921 parse_body(env,xsinit); >1922 if (PL_unitcheckav) { >1923 call_list(oldscope, PL_unitcheckav); >1924 } >1925 if (PL_checkav) { >++set $var = $var + 1 >++frame $var >#23 0x56556337 in main (argc=2, argv=0xffffd094, env=0xffffd0a0) at perlmain.c:106 >106 if (!perl_parse(my_perl, xs_init, argc, argv, (char **)NULL)) { >++l >101 exit(1); >102 perl_construct(my_perl); >103 PL_perl_destruct_level = 0; >104 } >105 PL_exit_flags |= PERL_EXIT_DESTRUCT_END; >106 if (!perl_parse(my_perl, xs_init, argc, argv, (char **)NULL)) { >107 >108 /* perl_parse() may end up starting its own run loops, which >109 * might end up "leaking" PL_restartop from the parse phase into >110 * the run phase which then ends up confusing run_body(). This >++set $var = $var + 1 > >quit >+quit >EOF [assumed Y]
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Raw
Actions:
View
Attachments on
bug 907609
:
862997
|
882292
| 892139