Skip to content

Broken with libFLAC 1.4.0 through 1.4.2 ("internal psf_fseek() failed") #488

Open
@bemoody

Description

@bemoody

Some versions of libFLAC report an error when we try to seek to particular sample numbers:

  • 1.3.3: working
  • 1.3.4: working
  • Broken by commit cbb039d2d629885a943a620f9828fdccec9cf28c
  • 1.4.0: broken
  • 1.4.1: broken
  • 1.4.2: broken
  • Fixed by commit 46bf04d0d74440a12be9508af508b4d373d696cf
  • 1.4.3: working

(All tested only on Linux amd64.)

In the case of wfdb-python, this manifests as an exception "internal psf_fseek() failed" (but see also issue #486, which appears to be something different.)

Some examples from mimic4wdb/0.1.0:

filename                                       sample     possible byte range
p100/p10079700/85594648/85594648_0003e.dat     18229140   16277832-16286024
p101/p10100546/83268087/83268087_0113p.dat     2288000    1049471-1057663
p110/p11013146/82432904/82432904_0011e.dat     1686714    2026933-2084277
p132/p13208026/82342224/82342224_0006e.dat     18576787   17925601-17950177
p132/p13240081/87706224/87706224_0102p.dat     363771     322161-330353
p142/p14285792/87867111/87867111_0009e.dat     4161139    5495737-5503929
p155/p15552902/85078610/85078610_0017r.dat     3313501    1682872-1691064
p158/p15857793/84686667/84686667_0004e.dat     13244922   12714501-12722693
p160/p16096029/87730914/87730914_0010e.dat     9319846    12328985-12337177
p160/p16096029/87730914/87730914_0045r.dat     3254418    1713774-1721966
p166/p16644640/84209926/84209926_0022e.dat     1012957    1128680-1136872
p171/p17107892/83439223/83439223_0001e.dat     2026051    1807349-1815541
p174/p17459141/80111237/80111237_0014e.dat     4904188    7866536-7882920
p179/p17973277/83801243/83801243_0016e.dat     25970274   33443196-33451388
p179/p17973277/83801243/83801243_0010r.dat     267184     126505-134697
p193/p19305085/87468061/87468061_0019e.dat     22393823   22401189-22409381
p193/p19313794/88537698/88537698_0016e.dat     8141191    11785911-11794103

It'd be good to figure out why these examples are broken, and find a minimal example that we can use as a test case (and also share with the upstream flac and soundfile developers.)

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