Skip Menu |
Report information
Id: 125541
Status: resolved
Priority: 0/
Queue: perl5

Owner: Nobody
Requestors: brian.carpenter [at]

Operating System: (no value)
PatchStatus: (no value)
Severity: low
Type: unknown
Perl Version: (no value)
Fixed In: (no value)

Subject: S_gv_stashpvn_internal: Assertion `((svtype)((_gvgp)->sv_flags & 0xff)) == SVt_PVGV || ((svtype)((_gvgp)->sv_flags & 0xff)) == SVt_PVLV' failed (gv.c:1416)
Download (untitled) / with headers
text/plain 1.9k
The attached script causes an assertion failure in Perl v5.23.0-69-gf907dd3. Does not crash or cause any errors in Perl 5.21.6-602-ge9d2bd8. perl: gv.c:1416: S_gv_stashpvn_internal: Assertion `((svtype)((_gvgp)->sv_flags & 0xff)) == SVt_PVGV || ((svtype)((_gvgp)->sv_flags & 0xff)) == SVt_PVLV' failed. Program received signal SIGABRT, Aborted. 0x00007ffff6d90165 in *__GI_raise (sig=<optimized out>) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64 64 ../nptl/sysdeps/unix/sysv/linux/raise.c: No such file or directory. (gdb) bt #0 0x00007ffff6d90165 in *__GI_raise (sig=<optimized out>) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64 #1 0x00007ffff6d933e0 in *__GI_abort () at abort.c:92 #2 0x00007ffff6d89311 in *__GI___assert_fail ( assertion=0xeb4b30 "((svtype)((_gvgp)->sv_flags & 0xff)) == SVt_PVGV || ((svtype)((_gvgp)->sv_flags & 0xff)) == SVt_PVLV", file=<optimized out>, line=1416, function=0xef2580 "S_gv_stashpvn_internal") at assert.c:81 #3 0x0000000000562d15 in Perl_gv_stashsv () at gv.c:1416 #4 0x0000000000907453 in Perl_pp_method_redir () at pp_hot.c:3583 #5 0x00000000007cdfcf in Perl_runops_debug () at dump.c:2224 #6 0x000000000053c819 in perl_run () #7 0x000000000042af18 in main () at perlmain.c:116 (gdb) i r rax 0x0 0 rbx 0x7fffffffe624 140737488348708 rcx 0xffffffffffffffff -1 rdx 0x6 6 rsi 0xeead 61101 rdi 0xeead 61101 rbp 0x7ffff6ea9c67 0x7ffff6ea9c67 rsp 0x7fffffffde58 0x7fffffffde58 r8 0x7ffff7fdc700 140737353991936 r9 0x564c56505f745653 6218440088690644563 r10 0x8 8 r11 0x202 514 r12 0xeb4b30 15420208 r13 0xef2580 15672704 r14 0x7ffff6ea9c67 140737335958631 r15 0x588 1416 rip 0x7ffff6d90165 0x7ffff6d90165 <*__GI_raise+53> eflags 0x202 [ IF ] cs 0x33 51 ss 0x2b 43 ds 0x0 0 es 0x0 0 fs 0x0 0 gs 0x0 0
Subject: test28-min
Download test28-min
application/octet-stream 11b

Message body not shown because it is not plain text.

RT-Send-CC: perl5-porters [...]
Download (untitled) / with headers
text/plain 611b
On Fri Jul 03 10:03:56 2015, wrote: Show quoted text
> The attached script causes an assertion failure in Perl v5.23.0-69- > gf907dd3. Does not crash or cause any errors in Perl 5.21.6-602- > ge9d2bd8.
When I try bisecting, it crashes for all perls I can compile. Here is my one-liner version: $ ./miniperl -e '%::=(); J->${\"::"}' gv_fetchpvn_flags assumes that $::{"main::"} holds a GV. If it does not, things go awry. %::=() is what wipes $::{"main::"}. So the solution would be to restore *main:: somewhere, but I am not sure which would be the best place to do it. -- Father Chrysostomos
RT-Send-CC: perl5-porters [...]
Fixed in d2fcb1d. -- Father Chrysostomos

This service is sponsored and maintained by Best Practical Solutions and runs on infrastructure.

For issues related to this RT instance (aka "perlbug"), please contact perlbug-admin at