beetbox / beetbox/audioread

ffdec: Dynamic linker errors are misreported as "file not found" errors

Open
#60 9 comments 0 reactions 0 assignees View on GitHub
Dominant language
Python
Stars
538
Forks
112
PR merge metrics
No merged PRs in 30d

Description

When reading mp3 files I get the following output:
```
Traceback (most recent call last):
2017-12-11T06:09:20.901633+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.6/site-packages/flask/app.py", line 1982, in wsgi_app
2017-12-11T06:09:20.901634+00:00 app[web.1]: response = self.full_dispatch_request()
2017-12-11T06:09:20.901635+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.6/site-packages/flask/app.py", line 1614, in full_dispatch_request
2017-12-11T06:09:20.901635+00:00 app[web.1]: rv = self.handle_user_exception(e)
2017-12-11T06:09:20.901640+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.6/site-packages/flask/app.py", line 1517, in handle_user_exception
2017-12-11T06:09:20.901641+00:00 app[web.1]: reraise(exc_type, exc_value, tb)
2017-12-11T06:09:20.901641+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.6/site-packages/flask/_compat.py", line 33, in reraise
2017-12-11T06:09:20.901642+00:00 app[web.1]: raise value
2017-12-11T06:09:20.901643+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.6/site-packages/flask/app.py", line 1612, in full_dispatch_request
2017-12-11T06:09:20.901644+00:00 app[web.1]: rv = self.dispatch_request()
2017-12-11T06:09:20.901644+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.6/site-packages/flask/app.py", line 1598, in dispatch_request
2017-12-11T06:09:20.901645+00:00 app[web.1]: return self.view_functions[rule.endpoint](**req.view_args)
2017-12-11T06:09:20.901646+00:00 app[web.1]: File "/app/flask_app.py", line 27, in display_drum
2017-12-11T06:09:20.901646+00:00 app[web.1]: song, sr = librosa.core.load(path)
2017-12-11T06:09:20.901647+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.6/site-packages/librosa/core/audio.py", line 107, in load
2017-12-11T06:09:20.901648+00:00 app[web.1]: with audioread.audio_open(os.path.realpath(path)) as input_file:
2017-12-11T06:09:20.901648+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.6/site-packages/audioread/__init__.py", line 111, in audio_open
2017-12-11T06:09:20.901649+00:00 app[web.1]: return ffdec.FFmpegAudioFile(path)
2017-12-11T06:09:20.901650+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.6/site-packages/audioread/ffdec.py", line 150, in __init__
2017-12-11T06:09:20.901651+00:00 app[web.1]: self._get_info()
2017-12-11T06:09:20.901651+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.6/site-packages/audioread/ffdec.py", line 206, in _get_info
2017-12-11T06:09:20.901652+00:00 app[web.1]: raise IOError('file not found')
2017-12-11T06:09:20.901658+00:00 app[web.1]: OSError: file not found
```

I have the following packages:
```
audioread==2.1.5
certifi==2017.11.5
chardet==3.0.4
click==6.7
cycler==0.10.0
decorator==4.1.2
Flask==0.12.2
gunicorn==19.7.1
idna==2.6
itsdangerous==0.24
Jinja2==2.10
joblib==0.11
librosa==0.5.1
llvmlite==0.21.0
MarkupSafe==1.0
matplotlib==2.1.0
numba==0.36.1
numpy==1.13.3
pyparsing==2.2.0
python-dateutil==2.6.1
pytz==2017.3
requests==2.18.4
resampy==0.2.0
scikit-learn==0.19.1
scipy==1.0.0
six==1.11.0
tabulate==0.8.2
urllib3==1.22
Werkzeug==0.13
```

ffmpeg is installed

Contributor guide

No contributing guide indexed for this repository

Research direction

Start in audioread/ffdec.py at _get_info(), especially the IOError raised after FFmpeg output is examined. Reproduce the MP3-loading failure with the reported FFmpeg setup and trace how dynamic-linker errors are classified. Done means linker failures are reported distinctly instead of as "file not found".

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
audio-video-rtc
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.