Scala Programming Language
  1. Scala Programming Language
  2. SI-5734

Scala actors can block on TcpService if socket connection to a specific destination blocks

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: Scala 2.9.2, Scala 2.10.1
    • Fix Version/s: Scala 2.10.2
    • Component/s: Actors Library
    • Labels:
      None

      Description

      In the attached file, the ForkJoinPool-worker 4 thread has locked the TcpService and is trying to establish a connection (which, for whatever reason), is blocking. This means that no other remote communication can occur - in particular ForkJoinPool-1-Worker-0 is blocked on sending a response to a separate actor.

      This essentially takes down an entire actor-based system.

        Activity

        Hide
        Chris Marshall added a comment -

        This may be related to another issue I reported: https://issues.scala-lang.org/browse/SI-4942

        Show
        Chris Marshall added a comment - This may be related to another issue I reported: https://issues.scala-lang.org/browse/SI-4942
        Hide
        Adriaan Moors added a comment -

        Philipp, please re-assign if this is out of scope for you.

        Show
        Adriaan Moors added a comment - Philipp, please re-assign if this is out of scope for you.
        Hide
        Martin McNulty added a comment -

        Workaround for this bug: https://github.com/scala/scala/pull/2468

        Allows setting of the timeout to use when making Socket connections, which should alleviate the problem, if not entirely eliminate it.

        Show
        Martin McNulty added a comment - Workaround for this bug: https://github.com/scala/scala/pull/2468 Allows setting of the timeout to use when making Socket connections, which should alleviate the problem, if not entirely eliminate it.
        Hide
        Jason Zaugg added a comment -

        Closing based on Martin's patch. Scala actors are deprecated in favour of Akka actors, so we don't plan to refine this any further.

        Show
        Jason Zaugg added a comment - Closing based on Martin's patch. Scala actors are deprecated in favour of Akka actors, so we don't plan to refine this any further.

          People

          • Assignee:
            Philipp Haller
            Reporter:
            Chris Marshall
          • Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development