tomahawk-player / tomahawk

Tomahawk, the multi-source music player
http://tomahawk-player.org
GNU General Public License v3.0
2.95k stars 367 forks source link

Crash when playing music from youtube #584

Open arnosk opened 7 years ago

arnosk commented 7 years ago

Sometimes Tomahawks crashes when playing from youtube. The logging says (vlc-log.txt): core error: cannot pre fill buffer I am using 0.8.99, build it from the latest source on odroid c2 I don't know yet when this exactly occurs.

muesli commented 7 years ago

Can you retrieve a backtrace? Would be nice to know if it crashes within libvlc or Tomahawk itself.

arnosk commented 7 years ago

Sorry for the delay, here is the console output when clicking next, the application crashes:

09:20:48 [5]: void AudioEngine::next() 09:20:48 [5]: void AudioEngine::loadNextTrack() 09:20:48 [1]: virtual void PlayableProxyModel::setCurrentIndex(const QModelIndex&) 09:20:48 [1]: virtual void PlayableProxyModel::setCurrentIndex(const QModelIndex&) 09:20:48 [1]: void GridItemDelegate::onCurrentIndexChanged() QModelIndex(6,0,0x38e5520,PlayableProxyModel(0x38a17f0)) 09:20:48 [1]: void AudioEngine::onPlaylistNextTrackAvailable() 09:20:48 [1]: void AudioControls::onControlStateChanged() 09:20:48 [5]: void AudioEngine::loadTrack(const result_ptr&) "youtube://track/sNEnt85DAf0" 09:20:48 [1]: void AudioOutput::stop() 09:20:48 [1]: void AudioOutput::setState(AudioOutput::AudioState) 09:20:48 [1]: void Tomahawk::Pipeline::checkQIDState(const query_ptr&) "585fe362-9659-4529-a7b0-ade39e2d5e9e" 1 09:20:48 [1]: void Tomahawk::Pipeline::checkQIDState(const query_ptr&) "eb09d762-2651-4b5a-8e3e-1606dfcf7980" 1 09:20:48 [1]: void Tomahawk::Pipeline::checkQIDState(const query_ptr&) "ad9a8f53-f3f7-49b4-ba07-b3e3c89f1012" 1 09:20:48 [1]: void Tomahawk::Pipeline::checkQIDState(const query_ptr&) "47414929-3191-4d1a-80d7-531a87a40587" 1 09:20:48 [1]: void Tomahawk::Pipeline::checkQIDState(const query_ptr&) "de5d8f6d-69ab-421e-bc19-431b41731120" 1 09:20:48 [1]: void Tomahawk::Pipeline::checkQIDState(const query_ptr&) "a7dd5a9a-5215-4b54-a71d-037ee6fc7671" 1 09:20:48 [1]: void Tomahawk::Pipeline::checkQIDState(const query_ptr&) "ae5b87c8-0edf-47dc-ba86-cbec74d3080a" 1 09:20:48 [1]: void Tomahawk::Pipeline::checkQIDState(const query_ptr&) "50975755-7d98-4886-b0dd-90c81b5059c2" 1 09:20:48 [0]: JAVASCRIPT: "/home/odroid/.local/share/Tomahawk/atticaresolvers/youtube/contents/code/youtube.js" : "Found MPEG-DASH, just letting VLC handle it" 09:20:48 [5]: void AudioEngine::performLoadIODevice(const result_ptr&, const QString&) "https://manifest.googlevideo.com/api/manifest/dash/upn/5F9ZU7pl4xA/key/yt6/requiressl/yes/ipbits/0/sparams/as%2Cei%2Chfr%2Cid%2Cinitcwndbps%2Cip%2Cipbits%2Citag%2Cmm%2Cmn%2Cms%2Cmv%2Cnh%2Cpl%2Cplayback_host%2Crequiressl%2Csource%2Cexpire/source/youtube/ei/YCRiWNifGsy91gLGkqvIBg/itag/0/signature/05A06C9C2720E08C218B88A68B2D95F80F9D9627.D8A3EB74953A8E751B23DC19B14E23AA2A48E9CC/playback_host/r1---sn-5hnednee.googlevideo.com/initcwndbps/1311250/ip/89.98.255.217/pl/16/mn/sn-5hnednee/mm/31/hfr/1/ms/au/id/o-AEbuRaVqyNhZJ3NyBj414ozTNFGsKQ3_QccHH_31DXBi/mv/m/nh/IgpwcjAyLmFtczE2Kgw3NC4xMjUuNTEuNTM/mt/1482826604/expire/1482848448/as/fmp4_audio_clear%2Cwebm_audio_clear%2Cwebm2_audio_clear%2Cfmp4_sd_hd_clear%2Cwebm2_sd_hd_clear" 09:20:49 [0]: void HttpIODeviceReadyHandler::called() QNetworkReplyHttpImpl(0x410bb50) 09:20:49 [5]: void AudioEngine::performLoadTrack(Tomahawk::result_ptr, const QString&, QSharedPointer) "youtube://track/sNEnt85DAf0" 09:20:49 [0]: void AudioEngine::performLoadTrack(Tomahawk::result_ptr, const QString&, QSharedPointer) Starting new song: "https://manifest.googlevideo.com/api/manifest/dash/upn/5F9ZU7pl4xA/key/yt6/requiressl/yes/ipbits/0/sparams/as%2Cei%2Chfr%2Cid%2Cinitcwndbps%2Cip%2Cipbits%2Citag%2Cmm%2Cmn%2Cms%2Cmv%2Cnh%2Cpl%2Cplayback_host%2Crequiressl%2Csource%2Cexpire/source/youtube/ei/YCRiWNifGsy91gLGkqvIBg/itag/0/signature/05A06C9C2720E08C218B88A68B2D95F80F9D9627.D8A3EB74953A8E751B23DC19B14E23AA2A48E9CC/playback_host/r1---sn-5hnednee.googlevideo.com/initcwndbps/1311250/ip/89.98.255.217/pl/16/mn/sn-5hnednee/mm/31/hfr/1/ms/au/id/o-AEbuRaVqyNhZJ3NyBj414ozTNFGsKQ3_QccHH_31DXBi/mv/m/nh/IgpwcjAyLmFtczE2Kgw3NC4xMjUuNTEuNTM/mt/1482826604/expire/1482848448/as/fmp4_audio_clear%2Cwebm_audio_clear%2Cwebm2_audio_clear%2Cfmp4_sd_hd_clear%2Cwebm2_sd_hd_clear" 09:20:49 [1]: void AudioControls::onControlStateChanged() 09:20:49 [5]: bool AudioEngine::canGoNext() Catch up, but same track or can't move on because don't have next track or it wasn't resolved 09:20:49 [1]: void AudioOutput::setCurrentSource(MediaStream) 09:20:49 [1]: void AudioOutput::setState(AudioOutput::AudioState) 09:20:49 [1]: void AudioEnginePrivate::onStateChanged(AudioOutput::AudioState, AudioOutput::AudioState) 0 4 4 09:20:49 [1]: void AudioOutput::setCurrentSource(MediaStream) MediaStream::Final Url: "imem://" 09:20:49 [1]: void AudioOutput::play() 4 09:20:49 [1]: void AudioOutput::setState(AudioOutput::AudioState) 09:20:49 [1]: void AudioEnginePrivate::onStateChanged(AudioOutput::AudioState, AudioOutput::AudioState) 4 4 4 09:20:49 [1]: void AudioEngine::onNowPlayingInfoReady(Tomahawk::InfoSystem::InfoType) Saving cover image to: "/tmp/Roos Jonker__tomahawk_cover.png.t22320" 09:20:49 [1]: void Tomahawk::Pipeline::checkQIDState(const query_ptr&) "dcb01654-a164-4497-8384-a62dcd756c62" 1 terminate called after throwing an instance of 'std::out_of_range' what(): basic_string::at: __n (which is 18446744073709551615) >= this->size() (which is 0) Aborted

arnosk commented 7 years ago

Can it be because I am missing a decoder on my system? (MPEG-4 AAC)

muesli commented 7 years ago

@theli-ua Sounds like something you may have introduced with your recent Pipeline changes?

arnosk commented 7 years ago

Sorry don't know what you mean with pipeline. Is that a plugin? Or is it because my local NAS is offline?

arnosk commented 7 years ago

This is the console output, same crash after selecting next song. Now without the pipeline in the log...

21:39:02 [1]: void AudioControls::onControlStateChanged() 21:39:02 [1]: void AudioOutput::setCurrentSource(MediaStream) 21:39:02 [1]: void AudioOutput::setState(AudioOutput::AudioState) 21:39:02 [1]: void AudioEnginePrivate::onStateChanged(AudioOutput::AudioState, AudioOutput::AudioState) 0 4 4 21:39:02 [1]: void AudioOutput::setCurrentSource(MediaStream) MediaStream::Final Url: "imem://" 21:39:02 [1]: void AudioOutput::play() 4 21:39:02 [1]: void AudioOutput::setState(AudioOutput::AudioState) 21:39:02 [1]: void AudioEnginePrivate::onStateChanged(AudioOutput::AudioState, AudioOutput::AudioState) 4 4 4 21:39:03 [1]: void AudioEngine::onNowPlayingInfoReady(Tomahawk::InfoSystem::InfoType) Saving cover image to: "/tmp/New Cool Collective Big Bandtomahawk_cover.png.o26497" terminate called after throwing an instance of 'std::out_of_range' what(): basic_string::at: n (which is 18446744073709551615) >= this->size() (which is 0) Aborted

muesli commented 7 years ago

@arnosk Sorry, I was referencing @theli-ua (another Tomahawk dev), who might have a bit more insight. It wasn't meant as a direct answer directed at you :-)