nayakgi / perl-compiler

Automatically exported from code.google.com/p/perl-compiler
Other
0 stars 0 forks source link

Threaded Errno::ECHILD + lexwarn1 CV SEGV #313

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
threaded perl: t/testc.sh -O3 185
=> SEGV at do_clean_named_objs of &Errno::ECHILD

caused by this:

    gv_list[130] = gv_fetchpv("Errno::ECHILD", GV_ADD, SVt_PV);
    GvCV_set(gv_list[130], (CV*)(lexwarn1));

Original issue reported on code.google.com by reini.urban on 5 May 2014 at 10:00

GoogleCodeExporter commented 9 years ago
Fixed with commit 69a93c5d1d0d78e0a934728fb849d8e4dfc9b3ad
Author: Reini Urban <rurban@cpanel.net>
Date:   Mon May 5 17:14:43 2014 -0500

    C: Do not store invalid GvCV, only cv or &sv_list entries

    Fixes #313, where Errno::ECHILD stored lexwarn1 as GvCV, which
    subsequently could not be globally destructed and SEGV with -O3

Original comment by reini.urban on 5 May 2014 at 10:15

GoogleCodeExporter commented 9 years ago
This change also fixed the failing threaded cases on 5.14.4d:
t/issue185.t .. ok                                                      
t/issue273.t .. ok                                                      
t/issue245.t .. ok                                                      
t/issue242.t .. ok                                                      
t/issue31.t ... ok   

Original comment by reini.urban on 5 May 2014 at 10:17