Skip to content

fatal error when srt has several newlines at the end #2

@Yang-Xijie

Description

@Yang-Xijie

This is OK:

let str = """
1
00:00:00,720 --> 00:00:01,620
some text
"""

let result = try SubRip.parseFile(content: str)
print(result)
[Backend.SubRipNode(index: 1, interval: 1999-12-31 16:00:00 +0000 to 1999-12-31 16:00:01 +0000, text: "some text")]

This is also OK with only one newline:

let str = """
1
00:00:00,720 --> 00:00:01,620
some text

"""

let result = try SubRip.parseFile(content: str)
print(result)
[Backend.SubRipNode(index: 1, interval: 1999-12-31 16:00:00 +0000 to 1999-12-31 16:00:01 +0000, text: "some text\n")]

However, more than two newlines will cause a fatal error:

let str = """
1
00:00:00,720 --> 00:00:01,620
some text


"""

let result = try SubRip.parseFile(content: str)
print(result)

output

Swift/ErrorType.swift:200: Fatal error: Error raised at top level: Backend.SubRipParserError.notFullNodeDeclaration(column: 0, row: 1)
2022-06-20 03:06:58.901269+0800 SrtProcessing[74669:1300033] Swift/ErrorType.swift:200: Fatal error: Error raised at top level: Backend.SubRipParserError.notFullNodeDeclaration(column: 0, row: 1)

Xcode debug 0_swift_runtime_on_report: Thread 1: Fatal error: Error raised at top level: Backend.SubRipParserError.notFullNodeDeclaration(column: 0, row: 1)

libswiftCore.dylib`_swift_runtime_on_report:
->  0x7ff80fecda10 <+0>: pushq  %rbp
    0x7ff80fecda11 <+1>: movq   %rsp, %rbp
    0x7ff80fecda14 <+4>: popq   %rbp
    0x7ff80fecda15 <+5>: retq   
    0x7ff80fecda16 <+6>: nopw   %cs:(%rax,%rax)

macOS 12.4 Xcode 13.4.1

$ swift --version

swift-driver version: 1.45.2 Apple Swift version 5.6.1 (swiftlang-5.6.0.323.66 clang-1316.0.20.12)
Target: x86_64-apple-macosx12.0

SubtitleKit version: a4a97bc

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions