MIT-LCP / MIT-LCP/wfdb-python

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

Open
#488 11 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Jupyter Notebook
Stars
853
Forks
322
PR merge metrics
No merged PRs in 30d

Description

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.)

Contributor guide

No contributing guide indexed for this repository

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.

Research direction

Reproduce the failures using the listed mimic4wdb/0.1.0 files and sample numbers, comparing libFLAC 1.3.3–1.4.3 and the referenced commits cbb039d2d629885a943a620f9828fdccec9cf28c and 46bf04d0d74440a12be9508af508b4d373d696cf. Done means identifying why the examples fail and reducing one to a minimal wfdb-python test case suitable for sharing with the upstream flac and soundfile developers.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
audio-video-rtc
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.