Skip to content

Pipeline 2 jhyphen crashes #779

@PaulRambags

Description

@PaulRambags

Expected Behavior

I expect the Pipeline 2 with our Dedicon module to run without crashing.

Actual Behavior

The Pipeline 2 crashes. Sometimes there is a stack trace in daisy-pipeline.log. Also sometimes the JVM generates an exception report because of an EXCEPTION_ACCESS_VIOLATION which has a stack trace. Often the Pipeline just stops working without any stack trace. When I inspect the stack trace, the problem seems to be in jhyphen. Whether the pipeline crashes depends on various aspects: The version of the JVM that is used, the input (the DTBook), and how long the Pipeline has already been running / how many books it has processed since the last restart.

Steps to Reproduce

Provide a list of steps taken to reproduce the problem.

  1. Use pipeline-assembly commit ed3ac2d (‘Release Notes of 1.14.14’) to create a version with our Dedicon module. To include this module, add the following in pom.xml at line 2519: <artifactItem><groupId>nl.dedicon.pipeline</groupId><artifactId>braille-module</artifactId><version>2.0.1</version></artifactItem>
  2. Run make.exe zip-win in a command prompt. This will create a assembly-1.14.15-SNAPSHOT-win.zip file in the target folder.
  3. Unzip that file. This will give a daisy-pipeline folder.
  4. Run pipeline2.bat in the bin subfolder to start the Pipeline.
  5. Let the Pipeline process a DTBook. I have several examples of books that result in crashes, but I can't publish those publicly. Processing can be done via the Web UI or by invoking dp2.exe dedicon:dtbook-to-pef --source {source.xml} --output {target-folder} in the cli subfolder.

Details

Crashes started to occur more frequently after I added the following in the style sheet:

/* --------------------------------------------------------------------------------
 * Use Dutch as language for interpolation
 *
 * If $braille-notation-code == "nl", capital signs etc. are formatted in Dutch.
 * Hyphenation rules remain unchanged, i.e. hyphenation follows the language of
 * the dtbook.
 */
@if $braille-notation-code == "nl" {
    @text-transform {
        system: braille;
        language: nl;
        type: literary;
    }
}

Environment

  • Operating system: Windows Server 2022 Standard version 21H2, 64-bit
  • DAISY Pipeline 2 version: 1.14.14
  • Interface: command line interface, and web UI
  • JVM: Java(TM) SE Runtime Environment (build 1.8.0_411-b09)

Logs

https://gist.github.com/PaulRambags/e9e0b00638a026735a48d101d93a76c2

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions