Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

VideoPlayerRadioRDS: Revert ResetRDSCache on init #12274

Merged
merged 1 commit into from Jun 11, 2017

Conversation

Projects
None yet
4 participants
@popcornmix
Copy link
Member

commented Jun 9, 2017

Description

Since this change we have had random crashes on playback of videos.
I believe it is due to calling g_infoManager.SetCurrentItem with an uninitialised CurrentFileItem

Motivation and Context

How Has This Been Tested?

Screenshots (if appropriate):

Types of change

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)

Checklist:

  • My code follows the Code guidelines of this project
  • My change requires a change to the documentation, either Doxygen or wiki
  • I have updated the documentation accordingly
  • I have read the CONTRIBUTING document
  • I have added tests to cover my change
  • All new and existing tests passed
VideoPlayerRadioRDS: Revert ResetRDSCache on init
Since this change we have had random crashes on playback of videos.
I believe it is due to calling g_infoManager.SetCurrentItem with an uninitialised CurrentFileItem
@popcornmix

This comment has been minimized.

Copy link
Member Author

commented Jun 9, 2017

The crash is avoided with this line commented out:
https://github.com/popcornmix/xbmc/blob/f4b3dc56068b27922ca0bd6b55c355f11afc4917/xbmc/cores/VideoPlayer/VideoPlayerRadioRDS.cpp#L633

Seg faults like:

Thread 1 (Thread 0x6d0ff3a0 (LWP 1091)):
#0  0x751bc3e4 in std::string::swap(std::string&) () from /usr/lib/libstdc++.so.6
#1  0x00565908 in CVideoInfoTag::operator=(CVideoInfoTag&&) ()
#2  0x005a3180 in CVideoDatabase::GetEpisodeInfo(std::string const&, CVideoInfoTag&, int, int) ()
#3  0x005a516c in CVideoDatabase::LoadVideoInfo(std::string const&, CVideoInfoTag&, int) ()
#4  0x007de254 in CGUIInfoManager::SetCurrentMovie(CFileItem&) ()
#5  0x007de5b8 in CGUIInfoManager::SetCurrentItemJob(std::shared_ptr<CFileItem>) ()
#6  0x007df85c in CSetCurrentItemJob::DoWork() ()
#7  0x0061531c in CJobWorker::Process() ()
#8  0x0065c574 in CThread::Action() ()

and http://sprunge.us/WTiK have been observed.

Ping @FernetMenta @garbear

@FernetMenta

This comment has been minimized.

Copy link
Member

commented Jun 10, 2017

@AlwinEsch please review

@FernetMenta FernetMenta requested a review from AlwinEsch Jun 10, 2017

@AlwinEsch
Copy link
Member

left a comment

Is not a good way to prevent this crash, without the call is the RDS info not correct and can produce other problems.

Better search the reason inside this function and fix it there.

@AlwinEsch

This comment has been minimized.

Copy link
Member

commented Jun 10, 2017

Becomes this class now also created if a stream without RDS is started?

@popcornmix

This comment has been minimized.

Copy link
Member Author

commented Jun 10, 2017

Yes, this code is called on all files (even without RDS stream).

@AlwinEsch

This comment has been minimized.

Copy link
Member

commented Jun 10, 2017

Not sure think its wrong then, why need someone to open a RDS stream if it becomes never used.

@popcornmix

This comment has been minimized.

Copy link
Member Author

commented Jun 11, 2017

Master is currently broken with random crashes on playback start.
The addition of the ResetRDSCache call (#12084) didn't fix any actual problem (i.e. didn't solve any visible bug).
We should revert this now and any improved solution can come in later.

@FernetMenta

This comment has been minimized.

Copy link
Member

commented Jun 11, 2017

I wasn't awre that the problem came with #12084
+1 for this PR

@FernetMenta FernetMenta merged commit ddb7b19 into xbmc:master Jun 11, 2017

1 check passed

default You're awesome. Have a cookie
Details
@AlwinEsch

This comment has been minimized.

Copy link
Member

commented Jun 11, 2017

OK
then also for me +1, Maybe this was also the reason why I not added there on begin? :)

@popcornmix popcornmix deleted the popcornmix:revertrds branch Jun 12, 2017

@MartijnKaijser MartijnKaijser modified the milestone: L 18.0-alpha1 Jun 18, 2017

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.