Groups | Search | Server Info | Login | Register


Groups > perl.perl5.changes > #34408

[Perl/perl5] 9c9651: Add a test for GH #16854 assertion failure

Newsgroups perl.perl5.changes
Path csiph.com!fu-berlin.de!bofh.it!nntp.perl.org
Xref csiph.com perl.perl5.changes:34408
Return-Path <noreply@github.com>
Mailing-List contact perl5-changes-help@perl.org; run by ezmlm
Delivered-To mailing list perl5-changes@perl.org
DKIM-Signature v=1; a=rsa-sha256; c=relaxed/relaxed; d=perl.org; h=date :from:to:message-id:subject:mime-version:content-type :content-transfer-encoding:list-unsubscribe:reply-to; s=dr1; bh= bp09Jy5ufMnVOJ7aSzJPLAJ4jpj0oAJh3CCpaBQvRqo=; b=W+Y+gjk7kRG04a+K 2BMesRK/oGoUQrDOgIiRqy+DZncDJg+pYbKbsytfELqDSv+FO9S1KdsIAQzdxbze kP3GMmawS9lwXsXZGfurEh4+leQSvpRcpPYOXl8XA2y5gPk2Et+8/XNF1vBxCYRw 6qHdyL1OpL8izBUByfQQ/+wU5M9Lyuw9IWMxmvXTDA65s4XOTW+InuPdYfPyBlnV tKOy+LJQIhL5ho8HUfDWuxzDjxc5u6XzpCgNkJqZWRo+LlDR4xu59CPqLT+HFP6Y bzszuFEzYASadyEf4Py1Ax/u1EpS2rsfwa4T+t9uu2ZntRqBcWDJqC7O3uoLEIfU 6j6TdQ==
Received (qmail 22154 invoked from network); 25 Feb 2026 20:04:44 -0000
Received from xx1.develooper.com (147.75.38.233) by x6.develooper.com with SMTP; 25 Feb 2026 20:04:44 -0000
Received from inbound-egress-8.mailchannels.net (inbound-egress-8.mailchannels.net [23.83.223.254]) by xx1.develooper.com (Postfix) with ESMTP id E417A7C198 for <perl5-changes@perl.org>; Wed, 25 Feb 2026 12:04:43 -0800 (PST)
ARC-Seal i=1; a=rsa-sha256; d=mailchannels.net; s=arc-2022; cv=none; t=1772049881; b=P55hql1Ne7GeYVfiPRgyuCXI0H2fIwKeelhUYG3pKBs3gVjkmGNr7wcJLsuQ2AHFaKdBhx 2irtKm6dNHE8ZWCaLjDPJLXMV6TYzdWuO1LiuvgQhcFKQu3T4bNBxV9p5SqDB23RldMQ8f 9psh6ulHfeq+Z9t0jrZFjRjRidyCBLhtZTOvoehS4Xn1HUIJnA7s20JbluIXY42iQuab7l /OwekcUUNmdsiIxfcq7IqAewgJ5i4bC3RGTaHHvGdp4u6p814ulavNlF8Te/9ltP/42Be2 2RYklNo6exavZGg+qWj7ditUWCSC4palp/vUzzOaxmH2znx3hDogOS11upbwwg==
ARC-Message-Signature i=1; a=rsa-sha256; c=relaxed/relaxed; d=mailchannels.net; s=arc-2022; t=1772049881; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding:list-unsubscribe: dkim-signature; bh=bp09Jy5ufMnVOJ7aSzJPLAJ4jpj0oAJh3CCpaBQvRqo=; b=Qj+7RfJX2cb5hjn6ZcqcaJbEAAanIY24RC+2dPQ18xDihJLvbX+C+4PhMUbykVjf2iD6jy 8z3Jz4MsEHw7NsJK1hTR+2dwErNyFtsSuo0r66zC7nSWAOJeXcYZeYV054Pww3CdFEEVEJ 0KjgHYLeNGZkCuOyPljWjF+rTmw13rRFoYI8hW/zNcmyNFe7ghdfmKMooXPVmhjphxIf4/ ojOkDgT6WTstrQ2reyumfRAmPFjH2d+mTu9kuOWBBIZUz0yH1o1mbVas3bRQZr7gvEladJ 2+RwNPDoukIi//ey8L7favmmrKCxrSinHKj4QrNJWNfkOjvZEWLZoXD0xRwXiQ==
ARC-Authentication-Results i=1; inbound-rspamd-59f67b687b-gsxqd; none
X-Message-ID lUNRAM9aeJqUrW2rhl6O7YzT
Received from out-24.smtp.github.com (out-24.smtp.github.com [192.30.252.207]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384) by 100.105.174.242 (trex/7.1.3); Wed, 25 Feb 2026 20:04:42 +0000
Authentication-Results inbound.mailchannels.net; spf=pass smtp.mailfrom=noreply@github.com; dkim=pass header.d=github.com; dmarc=pass (policy=reject; pct=100; status=pass); arc=none
Received-SPF pass (dmarc-service-78968d7585-lhvjc: domain of github.com designates 192.30.252.207 as permitted sender) client-ip=192.30.252.207; envelope-from=noreply@github.com; helo=out-24.smtp.github.com;
Received from github.com (hubbernetes-node-82cb846.ac4-iad.github.net [10.52.84.33]) by smtp.github.com (Postfix) with ESMTPA id 13A156413A3 for <perl5-changes@perl.org>; Wed, 25 Feb 2026 12:04:41 -0800 (PST)
Date Wed, 25 Feb 2026 12:04:41 -0800
To perl5-changes@perl.org
Message-ID <Perl/perl5/push/refs/heads/blead/e6dfa9-9c9651@github.com> (permalink)
Subject [Perl/perl5] 9c9651: Add a test for GH #16854 assertion failure
Mime-Version 1.0
Content-Type text/plain; charset=UTF-8
Content-Transfer-Encoding quoted-printable
X-GitHub-Recipient-Address perl5-changes@perl.org
X-Auto-Response-Suppress All
Original-From Richard Leach <noreply@github.com>
Reply-To Richard Leach <noreply@github.com>,
Approved news@nntp.perl.org
From perl5-changes@perl.org (Richard Leach via perl5-changes)

Show key headers only | View raw


  Branch: refs/heads/blead
  Home:   https://github.com/Perl/perl5
  Commit: 9c9651bdfc0bf3e337e42ce9252164858de66866
      https://github.com/Perl/perl5/commit/9c9651bdfc0bf3e337e42ce9252164858de66866
  Author: Richard Leach <richardleach@users.noreply.github.com>
  Date:   2026-02-25 (Wed, 25 Feb 2026)

  Changed paths:
    M t/lib/croak/toke

  Log Message:
  -----------
  Add a test for GH #16854 assertion failure

The asserting fuzzed test case was:

    format=
    @
    .//
    .

The assertion triggered was:

    Perl_yylex​: Assertion `((char*)PL_scopestack_name[PL_scopestack_ix-1]
    == (char*)"lex_format") || strEQ(PL_scopestack_name[PL_scopestack_ix-1],
    "lex_format")' failed.

This was addressed by:
```
commit b1f87deab83933d92fc290fdecf45641100ff81d
Author: Yves Orton <demerphq@gmail.com>
Date:   Fri Aug 26 18:26:14 2022 +0200

    Stop parsing on first syntax error.

    We try to keep parsing after many types of errors, up to a (current)
    maximum of 10 errors. Continuing after a semantic error (like
    undeclared variables) can be helpful, for instance showing a set of
    common errors, but continuing after a syntax error isn't helpful
    most of the time as the internal state of the parser can get confused
    and is not reliably restored in between attempts. This can produce
    sometimes completely bizarre errors which just obscure the true error,
    and has resulted in security tickets being filed in the past.

    This patch makes the parser stop after the first syntax error, while
    preserving the current behavior for other errors. An error is considered
    a syntax error if the error message from our internals is the literal
    text "syntax error". This may not be a complete list of true syntax
    errors, we can iterate on that in the future.

    This fixes the segfaults reported in Issue #17397, and #16944 and
    likely fixes other "segfault due to compiler continuation after syntax
    error" bugs that we have on record, which has been a recurring issue
    over the years.
```



To unsubscribe from these emails, change your notification settings at https://github.com/Perl/perl5/settings/notifications

Back to perl.perl5.changes | Previous | Next | Find similar


Thread

[Perl/perl5] 9c9651: Add a test for GH #16854 assertion failure perl5-changes@perl.org (Richard Leach via perl5-changes) - 2026-02-25 12:04 -0800

csiph-web