GithubHelp home page GithubHelp logo

Comments (14)

ibc avatar ibc commented on May 31, 2024 2

Honestly there is no change since 3.12.12 that could have fix this issue. Let me reopen to not forget. I think we need a fuzzer test for this class.

from mediasoup.

jmillan avatar jmillan commented on May 31, 2024

@gitamirp,

  • Which mediasoup version are you using?
  • Can you repro? can you provide an STR?
  • Please provide as much context info as you can.

from mediasoup.

gitamirp avatar gitamirp commented on May 31, 2024

@jmillan thanks for looking into it.
We are using version 3.12.12.
Unfortunately, it happens in a production environment therefore its harder to get detailed logs or STR for it.
It rarely happens but I can try to get some more info around it.

from mediasoup.

nazar-pc avatar nazar-pc commented on May 31, 2024

You should upgrade to latest release first, 3.12.12 is very old and the issue you are hitting might have been long fixed

from mediasoup.

jmillan avatar jmillan commented on May 31, 2024

Yes please, you're using quite an old version. Upgrade it as soon as you can.

Don't hesitate to reopen the issue if it comes out in the future.

from mediasoup.

gitamirp avatar gitamirp commented on May 31, 2024

thanks, fwiw there were no significant changes to RateCalculator.cpp over the last 2 years.

https://github.com/versatica/mediasoup/commits/v3/worker/src/RTC/RateCalculator.cpp

I suspect it might occur when

https://github.com/versatica/mediasoup/blob/v3/worker/src/RTC/RateCalculator.cpp#L27

nowMs - this->newestItemStartTime >= this->itemSizeMs

and

https://github.com/versatica/mediasoup/blob/v3/worker/src/RTC/RateCalculator.cpp#L32

this->newestItemIndex >= this->windowItems

and

this->oldestItemIndex == 0

probably just logging an error and resting the RateCalculator will be more appropriate error handling

from mediasoup.

ibc avatar ibc commented on May 31, 2024

probably just logging an error and resting the RateCalculator will be more appropriate error handling

Defensive programming hides real bugs. We don't do that. If something should never happen then it must never happen, otherwise it's a bug that needs to be fixed.

from mediasoup.

nazar-pc avatar nazar-pc commented on May 31, 2024

If there was a memory corruption somewhere, side-effects might be unexpected. This needs to be confirmed on latest version first.

from mediasoup.

gitamirp avatar gitamirp commented on May 31, 2024

probably just logging an error and resting the RateCalculator will be more appropriate error handling

Defensive programming hides real bugs. We don't do that. If something should never happen then it must never happen, otherwise it's a bug that needs to be fixed.

also true

from mediasoup.

gitamirp avatar gitamirp commented on May 31, 2024

If there was a memory corruption somewhere, side-effects might be unexpected. This needs to be confirmed on latest version first.

I am not sure how fast we can get these hosts on latest release. for now I will just patch it to suit our needs.

I'll let you know if I find more about this condition.

thanks

from mediasoup.

ibc avatar ibc commented on May 31, 2024

@gitamirp any news? I assumed you patched version 3.12.12 so it's not a problem for you anymore but perhaps you updated to latest version (without patching it)?

from mediasoup.

gitamirp avatar gitamirp commented on May 31, 2024

We patched 3.12.12 by using

MS_ASSERT( this->newestItemIndex != this->oldestItemIndex || this->oldestItemIndex == -1 || this->newestItemIndex, "newest index overlaps with the oldest one");

I will let you know if we run into this ASSERT again with this patch.
If you are interested we can add some logs when

this->newestItemIndex == this->oldestItemIndex

I believe that in 3.12.12 both newest && oldest can be zero at the same time but I don't have logs to support it.

from mediasoup.

ibc avatar ibc commented on May 31, 2024

Yes please. Add those logs and comment here when you get something. We will investigate this next week. Too busy these days.

from mediasoup.

gitamirp avatar gitamirp commented on May 31, 2024

Sure, we'll do. thanks

from mediasoup.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.