Giter Club home page Giter Club logo

Comments (7)

ghik avatar ghik commented on June 9, 2024

Yes, this is because StackOverflowError is considered fatal and unrecoverable.

Traditionally, all Errors are considered fatal (as opposed to Exceptions). Scala has a slightly refined definition of what is fatal (see scala.util.control.NonFatal extractor) but StackOverflowError falls into both definitions so Monix will not try to catch and recover from it.

from monix.

GrigorievNick avatar GrigorievNick commented on June 9, 2024

OK, but still I expect to fail observable, rather then just silently stuck.
Or I miss understand something?

from monix.

ghik avatar ghik commented on June 9, 2024

For an Observable to fail on StackOverflowError, it would have to catch it at some point. But fatal errors should never be caught. They should be allowed to crash the process.

Although I remember that at some point NonFatal did not recognize StackOverflowError as fatal so it may be somewhere in a gray area.

from monix.

GrigorievNick avatar GrigorievNick commented on June 9, 2024

I am not sure that problem on Observable side, look like Task is never complete with fail or success - no matter.

from monix.

ghik avatar ghik commented on June 9, 2024

Yes, but Task doesn't catch it for exactly the same reason.

from monix.

GrigorievNick avatar GrigorievNick commented on June 9, 2024

OK, so what is way to deal with this issue: improve error handling on Monix side, or always wrapp code inside Task with try-catch, or add timeout to every Task?

from monix.

GrigorievNick avatar GrigorievNick commented on June 9, 2024

Do you happen to have any news on this?
Code must throw an exception and not be silently stuck even without logs.

from monix.

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.