Skip to content

BBC: Sereal-Dclone-0.003 segfaults since perl 5.31.2 #17255

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
eserte opened this issue Nov 4, 2019 · 6 comments
Closed

BBC: Sereal-Dclone-0.003 segfaults since perl 5.31.2 #17255

eserte opened this issue Nov 4, 2019 · 6 comments
Labels
BBC Blead Breaks CPAN - changes in blead broke a cpan module(s)

Comments

@eserte
Copy link
Contributor

eserte commented Nov 4, 2019

Description
t/dclone.t within Sereal-Dclone-0.003 dies with a segmentation fault since 5.31.2:
http://fast-matrix.cpantesters.org/?dist=Sereal-Dclone-0.003

A gdb backtrace shows the following:

perl5.31.5 -Mblib t/dclone.t
...
Program received signal SIGSEGV, Segmentation fault.
0x0000000000429c8c in Perl_scalar ()
(gdb) bt
#0  0x0000000000429c8c in Perl_scalar ()
#1  0x0000000000435417 in Perl_ck_entersub_args_proto ()
#2  0x00007ffff5d2195a in THX_ck_entersub_args_sereal_decoder ()
   from /opt/perl-5.31.5/lib/site_perl/5.31.5/x86_64-linux/auto/Sereal/Decoder/Decoder.so
#3  0x0000000000432627 in Perl_ck_subr ()
#4  0x000000000042c8be in Perl_newUNOP ()
#5  0x000000000046e2c4 in Perl_yyparse ()
#6  0x0000000000500fac in S_doeval_compile ()
#7  0x0000000000502495 in Perl_pp_require ()
#8  0x00000000004c3753 in Perl_runops_standard ()
#9  0x00000000004405a8 in Perl_call_sv ()
#10 0x00000000004429c2 in Perl_call_list ()
#11 0x0000000000424cca in S_process_special_blocks.isra.10 ()
#12 0x000000000043a39b in Perl_newATTRSUB_x ()
#13 0x000000000043d3d9 in Perl_utilize ()
#14 0x000000000046fe2d in Perl_yyparse ()
#15 0x0000000000445de0 in perl_parse ()
#16 0x0000000000421f00 in main ()

I see that there are a couple of other BBCs where Sereal is involved or possibly involved --- however, the stacktrace here looks somewhat different than in #17245.

@eserte eserte added Needs Triage affects-5.31 BBC Blead Breaks CPAN - changes in blead broke a cpan module(s) labels Nov 4, 2019
@tonycoz
Copy link
Contributor

tonycoz commented Nov 6, 2019

I'm pretty sure it's Sereal Encoder/Decoder not handling the new world order of PERL_OP_PARENT.

In #17245 it breaks the linearization of the op tree.

Here it breaks processing the op tree in a different way, possibly ending up with a bad pointer in the final sibling.

@jkeenan
Copy link
Contributor

jkeenan commented Feb 3, 2020

This BBC ticket for Sub-Quote is one to which we should pay special attention. Sub-Quote's revdeps include Dancer2, Specio, et. al. And Specio sits atop the DateTime universe. So that means that a lot of CPAN is not currently installable against blead.

Thank you very much.
Jim Keenan

@tonycoz
Copy link
Contributor

tonycoz commented Feb 6, 2020

This appears to be fixed by Sereal::Decoder/Encoder 4.011.

The darwin tests in the matrix are both 4.011 (despite one being an older perl), while the failing freebsd and linux tests are all pre 4.011.

@demerphq
Copy link
Collaborator

demerphq commented Feb 6, 2020 via email

@eserte
Copy link
Contributor Author

eserte commented Feb 6, 2020

This appears to be fixed by Sereal::Decoder/Encoder 4.011.

The darwin tests in the matrix are both 4.011 (despite one being an older perl), while the failing freebsd and linux tests are all pre 4.011.

Now there are also pass reports for freebsd and linux.

@demerphq
Copy link
Collaborator

demerphq commented Feb 6, 2020

Thanks Slaven! I will close the ticket then. Cheers! Yves

@demerphq demerphq closed this as completed Feb 6, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
BBC Blead Breaks CPAN - changes in blead broke a cpan module(s)
Projects
None yet
Development

No branches or pull requests

4 participants