about summary refs log tree commit homepage
path: root/lib/PublicInbox/OverIdx.pm
diff options
authorEric Wong <e@80x24.org>2021-02-06 12:18:38 +0000
committerEric Wong <e@80x24.org>2021-02-07 03:34:32 +0000
commita2bae6437eeb8147736812eca95e85e5642c97cc (patch)
tree9aba5ac1c9f07f090a8788755f6e30c6ad371270 /lib/PublicInbox/OverIdx.pm
parent7f43cdaf0e46c1d99bf5834f414dc8f36407e8cc (diff)
The PublicInbox::Eml (and previously Email::MIME) use of confess
was the primary (or only) culprit behind the lei2mail segfaults
fixed by commit 0795b0906cc81f40.
("ds: guard against stack-not-refcounted quirk of Perl 5").

We never care about a backtrace when dealing with Eml objects
anyways, so it was just a worthless waste of CPU cycles.

We can also drop confess in a few other places.  Since we only
use Perl and Inline::C, users will never be without source
and can replace s/croak/Carp::confess/ on a per-callsite basis
to help report problems.

It's also possible to use PERL5OPT=-MCarp=verbose in the
environment though still potentially risky.

Link: https://public-inbox.org/meta/20210201082833.3293-1-e@80x24.org/
Diffstat (limited to 'lib/PublicInbox/OverIdx.pm')
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/PublicInbox/OverIdx.pm b/lib/PublicInbox/OverIdx.pm
index 985c5473..9013ae23 100644
--- a/lib/PublicInbox/OverIdx.pm
+++ b/lib/PublicInbox/OverIdx.pm
@@ -456,7 +456,7 @@ sub dbh_close {
 sub create {
         my ($self) = @_;
         my $fn = $self->{filename} // do {
-                Carp::confess('BUG: no {filename}') unless $self->{dbh};
+                croak('BUG: no {filename}') unless $self->{dbh};
         unless (-r $fn) {