summaryrefslogtreecommitdiffstats
path: root/lib/Spreadsheet/ParseXLSX.pm
diff options
context:
space:
mode:
authorJesse Luehrs <doy@tozt.net>2014-04-03 10:19:42 -0400
committerJesse Luehrs <doy@tozt.net>2014-04-03 10:19:42 -0400
commita2d2c0c6152b92f315ae5ebfe2f4aa025323a576 (patch)
treeb5ecb73691580baedbb1b07e13ccce83e8e9a50f /lib/Spreadsheet/ParseXLSX.pm
parent30daf8b7d777faf5814a53c2e0501c0f0966a4a7 (diff)
downloadspreadsheet-parsexlsx-a2d2c0c6152b92f315ae5ebfe2f4aa025323a576.tar.gz
spreadsheet-parsexlsx-a2d2c0c6152b92f315ae5ebfe2f4aa025323a576.zip
note the XML::Twig bug (fixes #20)
Diffstat (limited to 'lib/Spreadsheet/ParseXLSX.pm')
-rw-r--r--lib/Spreadsheet/ParseXLSX.pm12
1 files changed, 12 insertions, 0 deletions
diff --git a/lib/Spreadsheet/ParseXLSX.pm b/lib/Spreadsheet/ParseXLSX.pm
index ccdfd5d..d5f7781 100644
--- a/lib/Spreadsheet/ParseXLSX.pm
+++ b/lib/Spreadsheet/ParseXLSX.pm
@@ -752,6 +752,18 @@ were explicitly provided when the spreadsheet was written.
=over 4
+=item Large spreadsheets may cause segfaults on perl 5.14 and earlier
+
+This module internally uses XML::Twig, which makes it potentially subject to
+L<Bug #71636 for XML-Twig: Segfault with medium-sized document|https://rt.cpan.org/Public/Bug/Display.html?id=71636>
+on perl versions 5.14 and below (the underlying bug with perl weak references
+was fixed in perl 5.15.5). The larger and more complex the spreadsheet, the
+more likely to be affected, but the actual size at which it segfaults is
+platform dependent. On a 64-bit perl with 7.6gb memory, it was seen on
+spreadsheets about 300mb and above. You can work around this adding
+C<XML::Twig::_set_weakrefs(0)> to your code before parsing the spreadsheet,
+although this may have other consequences such as memory leaks.
+
=item Worksheets without the C<dimension> tag are not supported
=item Intra-cell formatting is discarded