Opened 9 years ago

Closed 9 years ago

Last modified 8 years ago

#5379 closed defect (cant-reproduce)

Crash upon adding an audio file

Reported by: kenrestivo Owned by:
Priority: major Milestone:
Component: programming Keywords: audio
Cc: Parent Tickets:

Description

I'm running the latest git 355d062dd4e35409af92e136666baf211161b7cb on an Ubuntu 14.04 server.

Uploading an audio file causes mediagoblin to crash. It appears to be crashing when generating the audiolab PNG. Here's the full stacktrace:

Using paster config: paste_local.ini
Using ./bin/paster
+ export CELERY_ALWAYS_EAGER=true
+ false
+ ./bin/paster serve paste_local.ini --server-name=broadcast --reload
/home/src/mediagoblin/local/lib/python2.7/site-packages/setuptools-3.3-py2.7.egg/pkg_resources.py:1031: UserWarning: /home/ken/.python-eggs is writable by group/others and vulnerable to attack when used with get_resource_filename. Consider a more secure location (set with .set_extraction_path or the PYTHON_EGG_CACHE environment variable).
2015-12-21 18:22:20,925 INFO [mediagoblin.app] GNU MediaGoblin 0.8.0 main server starting
2015-12-21 18:22:21,317 INFO [mediagoblin.app] Setting up plugins.
2015-12-21 18:22:21,318 INFO [mediagoblin.init.plugins] Importing plugin module: mediagoblin.plugins.geolocation
2015-12-21 18:22:21,318 INFO [mediagoblin.init.plugins] Importing plugin module: mediagoblin.plugins.basic_auth
2015-12-21 18:22:21,318 INFO [mediagoblin.init.plugins] Importing plugin module: mediagoblin.media_types.image
2015-12-21 18:22:21,319 INFO [mediagoblin.init.plugins] Importing plugin module: mediagoblin.media_types.video
2015-12-21 18:22:21,319 INFO [mediagoblin.init.plugins] Importing plugin module: mediagoblin.media_types.audio
2015-12-21 18:22:21,400 INFO [mediagoblin.init.celery] Setting celery configuration from object "mediagoblin.init.celery.dummy_settings_module"
/home/src/mediagoblin/local/lib/python2.7/site-packages/SQLAlchemy-0.8.7-py2.7-linux-x86_64.egg/sqlalchemy/engine/default.py:459: SAWarning: Unicode type received non-unicode bind param value.
2015-12-21 18:22:44,656 INFO [mediagoblin.media_types] No plugins handled extension .mp3
2015-12-21 18:22:44,657 INFO [mediagoblin.media_types] No plugins using two-step checking found
2015-12-21 18:22:44,797 DEBUG [mediagoblin.processing.task] Processing <MediaEntry 5: twang>
2015-12-21 18:22:44,798 INFO [mediagoblin.media_types.audio.transcoders] Initializing AudioTranscoder
2015-12-21 18:22:44,800 INFO [mediagoblin.media_types.audio.transcoders] Initializing AudioThumbnailer
2015-12-21 18:22:44,810 INFO [mediagoblin.media_types.audio.transcoders] Transcoding /home/src/mediagoblin/user_dev/media/queue/media_entries/51da0f06-8981-4a27-8c46-972a8ef1477b/08_Twang_64kb.mp3 into /home/src/mediagoblin/user_dev/media/workbench/tmp6Lrm7I/08_Twang_64kb.mp3
2015-12-21 18:22:47,724 INFO [mediagoblin.media_types.audio.transcoders] 100% done...
2015-12-21 18:22:47,725 INFO [mediagoblin.media_types.audio.transcoders] Done
2015-12-21 18:22:47,730 INFO [mediagoblin.media_types.audio.transcoders] Quitting MainLoop gracefully...
2015-12-21 18:22:47,821 INFO [mediagoblin.media_types.audio.processing] Creating OGG source for spectrogram
2015-12-21 18:22:47,822 INFO [mediagoblin.media_types.audio.transcoders] Transcoding /home/src/mediagoblin/user_dev/media/queue/media_entries/51da0f06-8981-4a27-8c46-972a8ef1477b/08_Twang_64kb.mp3 into /home/src/mediagoblin/user_dev/media/workbench/tmp6Lrm7I/08_Twang_64kb.ogg
2015-12-21 18:22:50,582 INFO [mediagoblin.media_types.audio.transcoders] 100% done...
2015-12-21 18:22:50,583 INFO [mediagoblin.media_types.audio.transcoders] Done
2015-12-21 18:22:50,585 INFO [mediagoblin.media_types.audio.transcoders] Quitting MainLoop gracefully...
2015-12-21 18:22:50,811 ERROR [mediagoblin.processing.task] An unhandled exception was raised while processing <MediaEntry 5: twang>
2015-12-21 18:22:50,813 WARNING [mediagoblin.processing] No idea what happened here, but it failed: IndexError('axis 1 out of bounds [0, 1)',)
2015-12-21 18:22:50,829 WARNING [mediagoblin.processing] No idea what happened here, but it failed: IndexError('axis 1 out of bounds [0, 1)',)
Error - <type 'exceptions.IndexError'>: axis 1 out of bounds [0, 1)
URL: http://hub.spaz.org:6543/submit/
File '/home/src/mediagoblin/local/lib/python2.7/site-packages/Paste-1.7.5.1-py2.7.egg/paste/exceptions/errormiddleware.py', line 144 in call

app_iter = self.application(environ, sr_checker)

File '/home/src/mediagoblin/mediagoblin/app.py', line 342 in call

return self.call_backend(environ, start_response)

File '/home/src/mediagoblin/local/lib/python2.7/site-packages/Werkzeug-0.11.3-py2.7.egg/werkzeug/wsgi.py', line 599 in call

return self.app(environ, start_response)

File '/home/src/mediagoblin/mediagoblin/app.py', line 276 in call_backend

return self._finish_call_backend(request, environ, start_response)

File '/home/src/mediagoblin/mediagoblin/app.py', line 318 in _finish_call_backend

response = controller(request)

File '/home/src/mediagoblin/mediagoblin/decorators.py', line 46 in wrapper

return controller(request, *args, kwargs)

File '/home/src/mediagoblin/mediagoblin/decorators.py', line 73 in new_controller_func

return controller(request, *args, kwargs)

File '/home/src/mediagoblin/mediagoblin/decorators.py', line 46 in wrapper

return controller(request, *args, kwargs)

File '/home/src/mediagoblin/mediagoblin/decorators.py', line 73 in new_controller_func

return controller(request, *args, kwargs)

File '/home/src/mediagoblin/mediagoblin/decorators.py', line 102 in wrapper

return controller(request, *args, kwargs)

File '/home/src/mediagoblin/mediagoblin/submit/views.py', line 68 in submit_start

urlgen=request.urlgen)

File '/home/src/mediagoblin/mediagoblin/submit/lib.py', line 208 in submit_media

run_process_media(entry, feed_url)

File '/home/src/mediagoblin/mediagoblin/submit/lib.py', line 257 in run_process_media

task_id=entry.queued_task_id)

File '/home/src/mediagoblin/local/lib/python2.7/site-packages/celery-3.1.19-py2.7.egg/celery/app/task.py', line 552 in apply_async

link=link, link_error=link_error, options)

File '/home/src/mediagoblin/local/lib/python2.7/site-packages/celery-3.1.19-py2.7.egg/celery/app/task.py', line 749 in apply

request=request, propagate=throw)

File '/home/src/mediagoblin/local/lib/python2.7/site-packages/celery-3.1.19-py2.7.egg/celery/app/trace.py', line 355 in eager_trace_task

uuid, args, kwargs, request)

File '/home/src/mediagoblin/local/lib/python2.7/site-packages/celery-3.1.19-py2.7.egg/celery/app/trace.py', line 253 in trace_task

I, R, state, retval = on_error(task_request, exc, uuid)

File '/home/src/mediagoblin/local/lib/python2.7/site-packages/celery-3.1.19-py2.7.egg/celery/app/trace.py', line 240 in trace_task

R = retval = fun(*args, kwargs)

File '/home/src/mediagoblin/mediagoblin/processing/task.py', line 101 in run

processor.process(reprocess_info)

File '/home/src/mediagoblin/mediagoblin/media_types/audio/processing.py', line 260 in process

self.create_spectrogram(max_width=medium_width, fft_size=fft_size)

File '/home/src/mediagoblin/mediagoblin/media_types/audio/processing.py', line 158 in create_spectrogram

fft_size=fft_size)

File '/home/src/mediagoblin/mediagoblin/media_types/audio/transcoders.py', line 76 in spectrogram

seek_point)

File '/home/src/mediagoblin/mediagoblin/media_types/audio/audioprocessing.py', line 180 in spectral_centroid

samples = self.read(seek_point - self.fft_size/2, self.fft_size, True)

File '/home/src/mediagoblin/mediagoblin/media_types/audio/audioprocessing.py', line 168 in read

samples = numpy.concatenate((numpy.zeros(add_to_start), samples), axis=1)

IndexError: axis 1 out of bounds [0, 1)

CGI Variables


CONTENT_LENGTH: '725435'
CONTENT_TYPE: 'multipart/form-data; boundary=----WebKitFormBoundaryMwJkoGtaHB3FAnk8'
CSRF_TOKEN: u'5878169815720531094'
HTTP_ACCEPT: 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8'
HTTP_ACCEPT_ENCODING: 'gzip,deflate'
HTTP_ACCEPT_LANGUAGE: 'en-US,en;q=0.8'
HTTP_CACHE_CONTROL: 'max-age=0'
HTTP_CONNECTION: 'keep-alive'
HTTP_COOKIE: 'mediagoblin_csrftoken=5878169815720531094; PHPSESSID=h1giqmmj8rsu94uln1m4mfeqc1; jsAvailable=1; MGSession=eyJzdGF5X2xvZ2dlZF9pbiI6dHJ1ZSwidXNlcl9pZCI6IjIifQ.CVldEw.cTjLyQFoWW-oR9SEWLdmwN4aCwQ; mediagoblin_csrftoken=5878169815720531094'
HTTP_HOST: 'hub.spaz.org:6543'
HTTP_ORIGIN: 'http://hub.spaz.org:6543'
HTTP_REFERER: 'http://hub.spaz.org:6543/submit/'
HTTP_USER_AGENT: 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2062.120 Safari/537.36'
PATH_INFO: '/submit/'
REMOTE_ADDR: '50.242.111.198'
REQUEST_METHOD: 'POST'
SERVER_NAME: '0.0.0.0'
SERVER_PORT: '6543'
SERVER_PROTOCOL: 'HTTP/1.1'

WSGI Variables


application: <mediagoblin.app.MediaGoblinApp object at 0x7fcf11bbf990>
paste.httpserver.thread_pool: <paste.httpserver.ThreadPool object at 0x7fcf023e3510>
paste.throw_errors: True
werkzeug.request: <Request 'http://hub.spaz.org:6543/submit/' [POST]>
wsgi process: 'Multithreaded'


Change History (7)

comment:1 by kenrestivo, 9 years ago

I should note, this error happens with every audio file I have tried; it doesn't seem to depend on the data.

comment:2 by Loic Dachary, 9 years ago

I was not able to reproduce the problem with 0.8.1 (installed using https://wiki.mediagoblin.org/EasyDeployment). Whatever the problem is, it probably comes from your environment. Did you figure it out ?

comment:3 by kenrestivo, 9 years ago

No, we ended up going with an old and simple PHP MP3 jukebox instead of MediaGoblin because it just worked.

comment:4 by Loic Dachary, 9 years ago

Resolution: worksforme
Status: newclosed

comment:5 by Jorge, 8 years ago

Please reopen - 0.9.0 is affected as well. I am willing to track this further to find a general solution.

$ /./bin/gmg addmedia user /home/user/media.mp3                                                    
/srv/mediagoblin.latest/mediagoblin/media_types/video/transcoders.py:37: PyGIWarning: GstPbutils was imported without specifying a version first. Use gi.require_version('
GstPbutils', '1.0') before import to ensure that the right version gets loaded.                                                                                           
  from gi.repository import GstPbutils
/srv/mediagoblin.latest/lib/python2.7/site-packages/SQLAlchemy-1.1.5-py2.7-linux-i686.egg/sqlalchemy/sql/sqltypes.py:219: SAWarning: Unicode type received non-unicode bin
d param value 'user'. (this warning may be suppressed after 10 occurrences)                                                                                             
/srv/mediagoblin.latest/lib/python2.7/site-packages/SQLAlchemy-1.1.5-py2.7-linux-i686.egg/sqlalchemy/sql/sqltypes.py:219: SAWarning: Unicode type received non-unicode bin
d param value 'mediagoblin.media_types.a...'. (this warning may be suppressed after 10 occurrences)                                                                       
/srv/mediagoblin.latest/lib/python2.7/site-packages/SQLAlchemy-1.1.5-py2.7-linux-i686.egg/sqlalchemy/sql/sqltypes.py:219: SAWarning: Unicode type received non-unicode bi$
d param value 'GNU MediaGoblin'. (this warning may be suppressed after 10 occurrences)
/srv/mediagoblin.latest/lib/python2.7/site-packages/SQLAlchemy-1.1.5-py2.7-linux-i686.egg/sqlalchemy/sql/sqltypes.py:219: SAWarning: Unicode type received non-unicode bi$
d param value 'core__media_entries'. (this warning may be suppressed after 10 occurrences)
/srv/mediagoblin.latest/lib/python2.7/site-packages/SQLAlchemy-1.1.5-py2.7-linux-i686.egg/sqlalchemy/sql/sqltypes.py:219: SAWarning: Unicode type received non-unicode bi$
d param value 'post'. (this warning may be suppressed after 10 occurrences)
DEBUG:mediagoblin.processing.task:Processing <MediaEntry 33:...>                                                
/srv/mediagoblin.latest/lib/python2.7/site-packages/SQLAlchemy-1.1.5-py2.7-linux-i686.egg/sqlalchemy/sql/sqltypes.py:219: SAWarning: Unicode type received non-unicode bin
d param value 'webm_audio'. (this warning may be suppressed after 10 occurrences)                                                
ERROR:mediagoblin.processing.task:An unhandled exception was raised while processing <MediaEntry 33: ...>
WARNING:mediagoblin.processing:No idea what happened here, but it failed: IndexError('axis 1 out of bounds [0, 1)',)
WARNING:mediagoblin.processing:No idea what happened here, but it failed: IndexError('axis 1 out of bounds [0, 1)',)
Traceback (most recent call last):                                                                
  File "/srv/mediagoblin/bin/gmg", line 11, in <module>               
    load_entry_point('mediagoblin', 'console_scripts', 'gmg')()                                              
  File "/srv/mediagoblin.latest/mediagoblin/gmg_commands/__init__.py", line 148, inmain_cli
    args.func(args)                                                                                  
  File "/srv/mediagoblin.latest/mediagoblin/gmg_commands/addmedia.py", line 110, inaddmedia
    tags_string=maybe_unicodeify(args.tags) or u"")                                                              
  File "/srv/mediagoblin.latest/mediagoblin/submit/lib.py", line 219, in submit_media
    run_process_media(entry, feed_url)                                                              
  File "/srv/mediagoblin.latest/mediagoblin/submit/lib.py", line 268, in run_process_media
    task_id=entry.queued_task_id)
  File "/srv/mediagoblin.latest/lib/python2.7/site-packages/celery-3.1.25-py2.7.egg/celery/app/task.py", line 565, in apply_async
    link=link, link_error=link_error, **options)
  File "/srv/mediagoblin.latest/lib/python2.7/site-packages/celery-3.1.25-py2.7.egg/celery/app/task.py", line 763, in apply
    request=request, propagate=throw)
  File "/srv/mediagoblin.latest/lib/python2.7/site-packages/celery-3.1.25-py2.7.egg/celery/app/trace.py", line 355, in eager_trace_task
    uuid, args, kwargs, request)
  File "/srv/mediagoblin.latest/lib/python2.7/site-packages/celery-3.1.25-py2.7.egg/celery/app/trace.py", line 253, in trace_task
    I, R, state, retval = on_error(task_request, exc, uuid)
  File "/srv/mediagoblin.latest/lib/python2.7/site-packages/celery-3.1.25-py2.7.egg/celery/app/trace.py", line 240, in trace_task
    R = retval = fun(*args, **kwargs)
  File "/srv/mediagoblin.latest/mediagoblin/processing/task.py", line 101, in run
    processor.process(**reprocess_info)
  File "/srv/mediagoblin.latest/mediagoblin/media_types/audio/processing.py", line 260, in process
    self.create_spectrogram(max_width=medium_width, fft_size=fft_size)
  File "/srv/mediagoblin.latest/mediagoblin/media_types/audio/processing.py", line 158, in create_spectrogram
    fft_size=fft_size)
  File "/srv/mediagoblin.latest/mediagoblin/media_types/audio/transcoders.py", line76, in spectrogram
    seek_point)
  File "/srv/mediagoblin.latest/mediagoblin/media_types/audio/audioprocessing.py", line 180, in spectral_centroid
    samples = self.read(seek_point - self.fft_size/2, self.fft_size, True)
  File "/srv/mediagoblin.latest/mediagoblin/media_types/audio/audioprocessing.py", line 168, in read
    samples = numpy.concatenate((numpy.zeros(add_to_start), samples), axis=1)
IndexError: axis 1 out of bounds [0, 1)

comment:6 by ayleph, 8 years ago

Please try installing specific version of numpy and scikits.audiolab as mentioned in comment 12 of #5457. If that does not fix your issue, then please make a note saying so in that issue. Since that ticket is still open, let's leave this one closed.

comment:7 by Jorge, 8 years ago

admin comes to you asking for the reason ..

DEBUG output uploading mp3 via lazyserver.sh (selective output .. solution below)

0:03:42.413651788  8461 0x81d844f0 WARN            audioencoder gstaudioencoder.c:985:gst_audio_encoder_finish_frame:<enc> Can't copy metadata because input buffer disapp
eared  
...
0:04:15.901886228  8461 0x81d84980 WARN                 basesrc gstbasesrc.c:2400:gst_base_src_update_length:<filesrc> processing at or past EOS
...
2017-02-10 05:19:12,316 INFO    [mediagoblin.media_types.audio.transcoders] 100% done...                                                                                  
2017-02-10 05:19:12,317 DEBUG   [mediagoblin.media_types.audio.transcoders] <flags GST_MESSAGE_ELEMENT of type Gst.MessageType>                                           
2017-02-10 05:19:12,349 INFO    [mediagoblin.media_types.audio.transcoders] 100% done...
2017-02-10 05:19:12,351 DEBUG   [mediagoblin.media_types.audio.transcoders] <flags GST_MESSAGE_EOS of type Gst.MessageType>
2017-02-10 05:19:12,352 INFO    [mediagoblin.media_types.audio.transcoders] Done
...
2017-02-10 05:19:12,503 INFO    [mediagoblin.media_types.audio.transcoders] Quitting MainLoop gracefully... 
...
2017-02-10 05:19:12,602 DEBUG   [mediagoblin.media_types.audio.processing] Saving medium...
/srv/mediagoblin.latest/lib/python2.7/site-packages/SQLAlchemy-1.1.5-py2.7-linux-i686.egg/sqlalchemy/sql/sqltypes.py:219: SAWarning: Unicode type received non-unicode bin
d param value 'webm_audio'. (this warning may be suppressed after 10 occurrences)
2017-02-10 05:19:12,866 INFO    [mediagoblin.media_types.audio.processing] Creating OGG source for spectrogram
2017-02-10 05:19:12,867 INFO    [mediagoblin.media_types.audio.transcoders] Transcoding /media/public/mgoblin/media/queue/media_entries/555c6ffa-7239-4022-ab5c-1f6105a61a
e8/20150706-focuseuropan-w2575.mp3 into /srv/mediagoblin/user_dev/media/workbench/tmpgY2Avv/20150706..ogg
...
0:04:17.542465655  8461 0x81ee03c0 INFO                 filesrc gstfilesrc.c:465:gst_file_src_start:<filesrc> opening file /media/public/mgoblin/media/queue/media_entries
/555c6ffa-7239-4022-ab5c-1f6105a61ae8..mp3
0:04:17.542644098  8461 0x81ee03c0 WARN                 basesrc gstbasesrc.c:3491:gst_base_src_start_complete:<filesrc> pad not activated yet
0:04:17.542771208  8461 0x81ee03c0 INFO                 filesrc gstfilesrc.c:465:gst_file_src_start:<filesrc> opening file /media/public/mgoblin/media/queue/media_entries
/555c6ffa-7239-4022-ab5c-1f6105a61ae8.mp3
0:04:17.542914940  8461 0x81ee03c0 INFO                    task gsttask.c:456:gst_task_set_lock: setting stream lock 0xace7c8bc on task 0xace8ca48
0
...
2017-02-10 05:19:13,221 DEBUG   [mediagoblin.media_types.audio.transcoders] <flags GST_MESSAGE_TAG of type Gst.MessageType>
0:04:17.754148124  8461 0x81d844f0 FIXME               basesink gstbasesink.c:3077:gst_base_sink_default_event:<sink> stream-start event without group-id. Consider implem
enting group-id handling in the upstream elements
2017-02-10 05:19:13,222 DEBUG   [mediagoblin.media_types.audio.transcoders] <flags GST_MESSAGE_STREAM_START of type Gst.MessageType>
                          
...
0:04:17.840180701  8461 0x81d844f0 INFO                oggdemux gstoggstream.c:2678:gst_ogg_stream_setup_map_from_caps_headers: Found headers on caps, using those to determine type
0:04:17.840372344  8461 0x81d844f0 WARN            audioencoder gstaudioencoder.c:985:gst_audio_encoder_finish_frame:<enc> Can't copy metadata because input buffer disappeared
0:04:17.758349604  8461 0x81d85030 INFO            audiodecoder gstaudiodecoder.c:2320:gst_audio_decoder_sink_eventfunc:<mad1> upstream stream tags: taglist, has-crc=(boo
lean)false, channel-mode=(string)joint-stereo, audio-codec=(string)"MPEG-1\ Layer\ 3\ \(MP3\)", nominal-bitrate=(uint)128000, minimum-bitrate=(uint)127706, maximum-bitrat
e=(uint)128012, bitrate=(uint)127986;                                                                                        ...
0:04:15.901886228  8461 0x81d84980 WARN                 basesrc gstbasesrc.c:2400:gst_base_src_update_length:<filesrc> processing at or past EOS                          
2017-02-10 05:19:38,035 INFO    [mediagoblin.media_types.audio.transcoders] 87% done...                                                                                   
0:04:45.789429989  8461 0x81d85030 WARN                 basesrc gstbasesrc.c:2400:gst_base_src_update_length:<filesrc> processing at or past EOS                          
2017-02-10 05:19:13,221 DEBUG   [mediagoblin.media_types.audio.transcoders] <flags GST_MESSAGE_TAG of type Gst.MessageType>
0:04:17.754148124  8461 0x81d844f0 FIXME               basesink gstbasesink.c:3077:gst_base_sink_default_event:<sink> stream-start event without group-id. Consider implem
enting group-id handling in the upstream elements
2017-02-10 05:19:13,222 DEBUG   [mediagoblin.media_types.audio.transcoders] <flags GST_MESSAGE_STREAM_START of type Gst.MessageType>
...

...              
2017-02-10 05:19:41,405 DEBUG   [mediagoblin.media_types.audio.transcoders] <flags GST_MESSAGE_ELEMENT of type Gst.MessageType>
2017-02-10 05:19:41,405 INFO    [mediagoblin.media_types.audio.transcoders] 100% done...
2017-02-10 05:19:41,406 DEBUG   [mediagoblin.media_types.audio.transcoders] <flags GST_MESSAGE_EOS of type Gst.MessageType>
2017-02-10 05:19:41,406 INFO    [mediagoblin.media_types.audio.transcoders] Done                                                                    
0:07:18.514617756  8461 0x81ee03c0 INFO        GST_ELEMENT_PADS gstpad.c:2071:gst_pad_unlink: unlinking mpegaudioparse1:src(0xacee0bc8) and mad1:sink(0xb5f9d1d8)
0:07:18.514735089  8461 0x81ee03c0 INFO        GST_ELEMENT_PADS gstpad.c:2125:gst_pad_unlink: unlinked mpegaudioparse1:src and mad1:sink
0:07:18.514895444  8461 0x81ee03c0 INFO        GST_ELEMENT_PADS gstpad.c:2071:gst_pad_unlink: unlinking mad1:src(0xb5f9d318) and src_0:proxypad3(0xace70978)
0:07:18.515024021  8461 0x81ee03c0 INFO        GST_ELEMENT_PADS gstpad.c:2125:gst_pad_unlink: unlinked mad1:src and src_0:proxypad3
0:07:18.515141354  8461 0x81ee03c0 INFO           GST_PARENTAGE gstbin.c:1816:gst_bin_remove_func:<decodebin> removed child "mad1"
0:07:18.515339842  8461 0x81ee03c0 INFO        GST_ELEMENT_PADS gstpad.c:2071:gst_pad_unlink: unlinking typefind:src(0xace7c9b8) and mpegaudioparse1:sink(0xace7cd78)
0:07:18.515471352  8461 0x81ee03c0 INFO        GST_ELEMENT_PADS gstpad.c:2125:gst_pad_unlink: unlinked typefind:src and mpegaudioparse1:sink
0:07:18.515606285  8461 0x81ee03c0 INFO           GST_PARENTAGE gstbin.c:1816:gst_bin_remove_func:<decodebin> removed child "mpegaudioparse1"
0:07:18.515712862  8461 0x81ee03c0 INFO        GST_ELEMENT_PADS gstelement.c:785:gst_element_remove_pad:<decodebin> removing pad 'src_0'
0:07:18.515837039  8461 0x81ee03c0 INFO        GST_ELEMENT_PADS gstpad.c:2071:gst_pad_unlink: unlinking decodebin:src_0(0x810a9480) and queue:sink(0x810842e8)
0:07:18.515963661  8461 0x81ee03c0 INFO        GST_ELEMENT_PADS gstpad.c:2125:gst_pad_unlink: unlinked decodebin:src_0 and queue:sink
...
0:07:18.586227429  8461 0x81ee03c0 INFO              GST_STATES gstbin.c:2963:gst_bin_change_state_func:<pipeline1> child 'filesrc' changed state to 1(NULL) successfully
0:07:18.586445961  8461 0x81ee03c0 INFO         GST_REFCOUNTING gstelement.c:2994:gst_element_dispose:<mpegaudioparse1> 0xb5f781f8 dispose
0:07:18.586483116  8461 0x81ee03c0 INFO        GST_ELEMENT_PADS gstelement.c:785:gst_element_remove_pad:<mpegaudioparse1> removing pad 'sink'
0:07:18.586534450  8461 0x81ee03c0 INFO        GST_ELEMENT_PADS gstelement.c:785:gst_element_remove_pad:<mpegaudioparse1> removing pad 'src'
0:07:18.586581383  8461 0x81ee03c0 INFO         GST_REFCOUNTING gstelement.c:3040:gst_element_dispose:<mpegaudioparse1> 0xb5f781f8 parent class dispose
0:07:18.588930972  8461 0x81ee03c0 INFO         GST_REFCOUNTING gstelement.c:3071:gst_element_finalize:<mpegaudioparse1> 0xb5f781f8 finalize
0:07:18.589075682  8461 0x81ee03c0 INFO         GST_REFCOUNTING gstelement.c:3077:gst_element_finalize:<mpegaudioparse1> 0xb5f781f8 finalize parent
0:07:18.589188126  8461 0x81ee03c0 INFO         GST_REFCOUNTING gstelement.c:2994:gst_element_dispose:<mad1> 0x810a0f08 dispose
0:07:18.589298615  8461 0x81ee03c0 INFO        GST_ELEMENT_PADS gstelement.c:785:gst_element_remove_pad:<mad1> removing pad 'sink'
0:07:18.589413992  8461 0x81ee03c0 INFO        GST_ELEMENT_PADS gstelement.c:785:gst_element_remove_pad:<mad1> removing pad 'src'
0:07:18.589517636  8461 0x81ee03c0 INFO         GST_REFCOUNTING gstelement.c:3040:gst_element_dispose:<mad1> 0x810a0f08 parent class dispose
0:07:18.589623235  8461 0x81ee03c0 INFO         GST_REFCOUNTING gstelement.c:3071:gst_element_finalize:<mad1> 0x810a0f08 finalize
0:07:18.589815368  8461 0x81ee03c0 INFO         GST_REFCOUNTING gstelement.c:3077:gst_element_finalize:<mad1> 0x810a0f08 finalize parent
0:07:18.590644031  8461 0x81ee03c0 INFO              GST_STATES gstelement.c:2419:gst_element_continue_state:<pipeline1> completed state change to NULL
2017-02-10 05:22:14,059 INFO    [mediagoblin.media_types.audio.transcoders] Quitting MainLoop gracefully...
[skipped gst output]
2017-02-10 05:22:17,321 ERROR   [mediagoblin.processing.task] An unhandled exception was raised while processing <MediaEntry 34: 20150706-focuseuropan-w2575>
2017-02-10 05:22:17,323 WARNING [mediagoblin.processing] No idea what happened here, but it failed: IndexError('axis 1 out of bounds [0, 1)',)
2017-02-10 05:22:17,370 DEBUG   [mediagoblin.tools.processing] No processing callback URL for <MediaEntry 34: 20150706-focuseuropan-w2575>
2017-02-10 05:22:17,373 WARNING [mediagoblin.processing] No idea what happened here, but it failed: IndexError('axis 1 out of bounds [0, 1)',)
194:def halt(self):
        if getattr(self, 'pipeline', False):
            self.pipeline.set_state(Gst.State.NULL)
            del self.pipeline
198:        _log.info('Quitting MainLoop gracefully...')
        GObject.idle_add(self._loop.quit)

mediagoblin/processing/task.py

class ProcessMedia(celery.Task):
...
       # Try to process, and handle expected errors.
        try:
            processor_class = manager.get_processor(reprocess_action, entry)

            with processor_class(manager, entry) as processor:
                # Initial state change has to be here because
                # the entry.state gets recorded on processor_class init
                entry.state = u'processing'
                entry.save()

                _log.debug('Processing {0}'.format(entry))

                try:
                    processor.process(**reprocess_info)
                except Exception as exc:
                    if processor.entry_orig_state == 'processed':
                        _log.error(
                            'Entry {0} failed to process due to the following'
                            ' error: {1}'.format(entry.id, exc))
                        _log.info(
                            'Setting entry.state back to "processed"')
                        pass
                    else:
                        raise

            # We set the state to processed and save the entry here so there's
            # no need to save at the end of the processing stage, probably ;)
            entry.state = u'processed'
            entry.save()

            # Notify the PuSH servers as async task
            if mgg.app_config["push_urls"] and feed_url:
                handle_push_urls.subtask().delay(feed_url)

            json_processing_callback(entry)
        except BaseProcessingFail as exc:
            mark_entry_failed(entry.id, exc)
            json_processing_callback(entry)
            return

        except ImportError as exc:
            _log.error(
                'Entry {0} failed to process due to an import error: {1}'\
                    .format(
                    entry.title,
                    exc))

            mark_entry_failed(entry.id, exc)
            json_processing_callback(entry)

        except Exception as exc:
133:            _log.error('An unhandled exception was raised while'
                    + ' processing {0}'.format(
                        entry))

            mark_entry_failed(entry.id, exc)
            json_processing_callback(entry)
            raise

mediagoblin/tools/processing

ef json_processing_callback(entry):
    '''
    Send an HTTP post to the registered callback url, if any.
    '''
    if not entry.processing_metadata:
        _log.debug('No processing callback URL for {0}'.format(entry))
        return

mediagoblin/processing/init.py

def mark_entry_failed(entry_id, exc):
    """
    Mark a media entry as having failed in its conversion.

    Uses the exception that was raised to mark more information.  If
    the exception is a derivative of BaseProcessingFail then we can
    store extra information that can be useful for users telling them
    why their media failed to process.

    :param entry_id: The id of the media entry
    :param exc: An instance of BaseProcessingFail

    """
    # Was this a BaseProcessingFail?  In other words, was this a
    # type of error that we know how to handle?
    if isinstance(exc, BaseProcessingFail):
        # Looks like yes, so record information about that failure and any
        # metadata the user might have supplied.
        atomic_update(mgg.database.MediaEntry,
            {'id': entry_id},
            {u'state': u'failed',
             u'fail_error': six.text_type(exc.exception_path),
             u'fail_metadata': exc.metadata})
    else:
        _log.warn("No idea what happened here, but it failed: %r", exc)
        # Looks like no, let's record it so that admin could ask us about the
        # reason
        atomic_update(mgg.database.MediaEntry,
            {'id': entry_id},
            {u'state': u'failed',
             u'fail_error': u'Unhandled exception: {0}'.format(
                 six.text_type(exc)),
             u'fail_metadata': {}})

According to ticket:5457#comment:12 Numpy 1.11.2 and AudioLab 0.11.0 are incompatible (here numpy==1.12.0, scikits.audiolab==0.11.0). The proposed fix

./bin/pip install numpy==1.9.1
./bin/pip install scikits.audiolab==0.10.2

solves this issue for me as well.

Possible explanation from chat: the actual issue is that numpy deprecated some code, but the third-party freesound audio processing file that we imported as an external library hasn't been updated to work with the more recent code.

Version 0, edited 8 years ago by Jorge (next)
Note: See TracTickets for help on using tickets.