Syntax::Kamelon t/01-Kamelon.t stalls while enumerating syntaxes

Open
#1,370 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
35/100
Issue type
Bug
Clarity
Needs clarification
Activity status
Active
Tech stack
java, perl

Research direction

Start with t/01-Kamelon.t and reproduce the 30-second stall under both the JVM and interpreter commands described in the issue. Compare the paths reached while enumerating AvailableSyntaxes and calling GetLexer, then add a focused regression test after identifying the cause. Done means the test completes promptly on both backends and the full suite can proceed.

Written by the indexing model from the issue text.

Description

area:backend area:cpan-port area:performance bug

Summary

Syntax::Kamelon v0.26 does not complete t/01-Kamelon.t under PerlOnJava. The test stalls while iterating AvailableSyntaxes and calling GetLexer for each syntax. This affects both execution backends and prevents the CPAN test harness from reaching the remaining test files.

Reproduction

Distribution: Syntax-Kamelon v0.26
CPAN run: 20260913-205737-64746
Test: t/01-Kamelon.t

From the unpacked distribution, with XML::TokeParser v0.05 available:

PERL5LIB="inc:blib/lib:blib/arch:...XML-TokeParser.../blib/lib:...XML-TokeParser.../blib/arch" timeout 30 jperl t/01-Kamelon.t

The JVM backend emits successful checks through the syntax named CubeScript and then does not complete before the 30-second bound. It exits with timeout status 124.

The interpreter backend shows the same behavior, progressing farther to Email before the same 30-second bound:

timeout 30 jperl --interpreter t/01-Kamelon.t

It also exits with timeout status 124.

The archived CPAN run stopped during make test after:

t/00-KamTest.t ....... ok

No subsequent harness summary was produced.

Oracle comparison

After installing the declared Template Toolkit v3.106 prerequisite into an isolated temporary library, system Perl completed t/01-Kamelon.t successfully. The complete system-Perl suite ran all 13 test files; its only failures were two ANSI golden-file comparisons in t/08-Format-ANSI.t, unrelated to t/01-Kamelon.t.

XML::TokeParser v0.05 is pure Perl. The C-file warning emitted by the PerlOnJava build refers to t/Bench/samples/highlight_lpc.c, a benchmark sample rather than module XS code.

Expected behavior

The test should finish promptly and report all syntax checks as it does under system Perl.

Investigation requested

Please investigate the performance or nontermination path reached while Syntax::Kamelon enumerates its syntax definitions and constructs lexers. Compare the JVM and interpreter implementations, and add a focused regression test once the root cause is identified.

Dominant language
Perl
Stars
64
Forks
6
Avg merge
5h 25m
Merged PRs (30d)
157

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from fglock/PerlOnJava

All issues in fglock/PerlOnJava

Similar issues

More Perl issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.