Subject: | 'no autovivification' breaks Lingua::EN::Inflect from a distance. |
There's an annoying bug with 'no autovivification' causing perl to enter a perpetual deadlock requiring a ^C to break, that is resistant to inspection wtih perl debugger.
Attached is the test that replicates this behaviour on
Summary of my perl5 (revision 5 version 21 subversion 3) configuration:
Snapshot of: 640eedb9ffcac7a9c2793689044e84bfd9af3045
Subject: | fup.pl |
#!/usr/bin/env perl
BEGIN {
# the following is to make sure these are loaded before autovivification
# to rule the problem to being somewhere in Lingua::EN::Inflect's scope
# and makes the problem more obvious under strace
require Exporter;
require Carp;
require Tie::Array;
require Config;
require Env;
}
no autovivification;
# And it deadspins somewhere in here somewhere after 'use Env';
# and you have to use either strace or gdb to debug anything because perl debugger stops responding
# to ^C
#
# strace simply says
# read(3, "package Lingua::EN::Inflect;\n\nus"..., 8192) = 8192
# brk(0x21dd000)
# <hang>
#
# And gdb always breaks in autovivification.xs
# and stepping steps from line 1022 to 1011 and back again
require Lingua::EN::Inflect;