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
sv.c:6545: void Perl_sv_clear(SV *const): Assertion `SvTYPE(sv) != (svtype)SVTYPEMASK' failed #15847
Comments
From @dur-randirCreated by @dur-randirWhile fuzzing perl v5.25.9-35-g32207c637b built with afl and run a{%0=local$0,%0=0} to cause an assertion failure on debugging builds and crash on regular builds. 8b0c337 is the first bad commit Better optimise array and hash assignment [perl #127999] Slowdown in split + list assign GDB info about the crash location: (gdb) bt Perl Info
|
From @iabynOn Sun, Jan 29, 2017 at 03:16:24AM -0800, Sergey Aleynikov wrote:
Its a stack-not-refcounted issue. The code can be simplified to @a = (((%h) = ("k",1)), %h = ("k",2)); at the start of the second assignment to %h, %h is cleared, leaving the [k 2 k 2] which shows that the SV gets reallocated and has '2' assigned to it; on [k k 2] meaning it hasn't been reallocated because the newer pp_assign() code -- |
The RT System itself - Status changed from 'new' to 'open' |
Migrated from rt.perl.org#130667 (status was 'open')
Searchable as RT130667$
The text was updated successfully, but these errors were encountered: