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

Fixes #290 (deadlock under 2.12 during property initialization) #294

Merged
merged 2 commits into from Nov 1, 2016

Conversation

Projects
None yet
5 participants
@mpilquist
Contributor

mpilquist commented Oct 31, 2016

Fixes #290 by making property registration lazy.

Mima passes against 1.13.1 so this is safe to release in 1.13.4.

Review by @rickynils.

@non

This comment has been minimized.

Show comment
Hide comment
@non

non Oct 31, 2016

Collaborator

@mpilquist I'm assuming this change fixes the issue in @larsrh's repo?

If so, big 👍. Thanks!

Collaborator

non commented Oct 31, 2016

@mpilquist I'm assuming this change fixes the issue in @larsrh's repo?

If so, big 👍. Thanks!

@mpilquist

This comment has been minimized.

Show comment
Hide comment
@mpilquist

mpilquist Oct 31, 2016

Contributor

Yep:

› sbt
[info] Loading global plugins from /Users/mpilquist/.sbt/0.13/plugins
[info] Loading project definition from /private/tmp/scalacheck-futures-deadlock-2.12/project
[info] Set current project to scalacheck-futures-deadlock-2-12 (in build file:/private/tmp/scalacheck-futures-deadlock-2.12/)
> testOnly remotely.ResponseSpec
[info] + Response.stack safety: OK, proved property.
[info] ScalaCheck
[info] Passed: Total 1, Failed 0, Errors 0, Passed 1
[info] ScalaTest
[info] Run completed in 219 milliseconds.
[info] Total number of tests run: 0
[info] Suites: completed 0, aborted 0
[info] Tests: succeeded 0, failed 0, canceled 0, ignored 0, pending 0
[info] No tests were executed.
[info] Passed: Total 1, Failed 0, Errors 0, Passed 1
[success] Total time: 1 s, completed Oct 31, 2016 4:21:52 PM
Contributor

mpilquist commented Oct 31, 2016

Yep:

› sbt
[info] Loading global plugins from /Users/mpilquist/.sbt/0.13/plugins
[info] Loading project definition from /private/tmp/scalacheck-futures-deadlock-2.12/project
[info] Set current project to scalacheck-futures-deadlock-2-12 (in build file:/private/tmp/scalacheck-futures-deadlock-2.12/)
> testOnly remotely.ResponseSpec
[info] + Response.stack safety: OK, proved property.
[info] ScalaCheck
[info] Passed: Total 1, Failed 0, Errors 0, Passed 1
[info] ScalaTest
[info] Run completed in 219 milliseconds.
[info] Total number of tests run: 0
[info] Suites: completed 0, aborted 0
[info] Tests: succeeded 0, failed 0, canceled 0, ignored 0, pending 0
[info] No tests were executed.
[info] Passed: Total 1, Failed 0, Errors 0, Passed 1
[success] Total time: 1 s, completed Oct 31, 2016 4:21:52 PM
@dwijnand

This comment has been minimized.

Show comment
Hide comment
@dwijnand

dwijnand Oct 31, 2016

Contributor

Does mima pass against 1.13.3?

I assume 1.13.3 was mima tested against 1.13.2, 1.13.2 against 1.13.1, etc. If not it might be good to make sure it is in the future, as scalacheck is extremely cornerstone to the Scala ecosystem dependency graph.

Contributor

dwijnand commented Oct 31, 2016

Does mima pass against 1.13.3?

I assume 1.13.3 was mima tested against 1.13.2, 1.13.2 against 1.13.1, etc. If not it might be good to make sure it is in the future, as scalacheck is extremely cornerstone to the Scala ecosystem dependency graph.

@mpilquist

This comment has been minimized.

Show comment
Hide comment
@mpilquist

mpilquist Oct 31, 2016

Contributor

@dwijnand Good idea. I've run mima a bunch more. Now I've run mima against 1.13.0, 1.13.1, 1.13.2, and 1.13.3. All pass. :)

› sbt
[info] Loading global plugins from /Users/mpilquist/.sbt/0.13/plugins
[info] Loading project definition from /Users/mpilquist/Development/oss/third-party/scalacheck/project
[info] Set current project to scalacheck (in build file:/Users/mpilquist/Development/oss/third-party/scalacheck/)
> project jvm
[info] Set current project to scalacheck (in build file:/Users/mpilquist/Development/oss/third-party/scalacheck/)
> mimaReportBinaryIssues
[info] Resolving org.scala-sbt#test-interface;1.0 ...
[info] scalacheck: found 0 potential binary incompatibilities while checking against org.scalacheck:scalacheck_2.11:1.13.3
Contributor

mpilquist commented Oct 31, 2016

@dwijnand Good idea. I've run mima a bunch more. Now I've run mima against 1.13.0, 1.13.1, 1.13.2, and 1.13.3. All pass. :)

› sbt
[info] Loading global plugins from /Users/mpilquist/.sbt/0.13/plugins
[info] Loading project definition from /Users/mpilquist/Development/oss/third-party/scalacheck/project
[info] Set current project to scalacheck (in build file:/Users/mpilquist/Development/oss/third-party/scalacheck/)
> project jvm
[info] Set current project to scalacheck (in build file:/Users/mpilquist/Development/oss/third-party/scalacheck/)
> mimaReportBinaryIssues
[info] Resolving org.scala-sbt#test-interface;1.0 ...
[info] scalacheck: found 0 potential binary incompatibilities while checking against org.scalacheck:scalacheck_2.11:1.13.3
@mpilquist

This comment has been minimized.

Show comment
Hide comment
@mpilquist

mpilquist Oct 31, 2016

Contributor

Oh and 1 final test just to double check MIMA... I compiled the following with ScalaCheck 1.13.3 and then confirmed it ran successfully when launched with a JAR containing this change.

import org.scalacheck._

object Foo extends Properties("Foo") {
  property("foo") = {
    println("Ran")
    true
  }
}
Contributor

mpilquist commented Oct 31, 2016

Oh and 1 final test just to double check MIMA... I compiled the following with ScalaCheck 1.13.3 and then confirmed it ran successfully when launched with a JAR containing this change.

import org.scalacheck._

object Foo extends Properties("Foo") {
  property("foo") = {
    println("Ran")
    true
  }
}
@non

This comment has been minimized.

Show comment
Hide comment
@non

non Oct 31, 2016

Collaborator

Looks like a transient Travis failure. I'm still 👍 on this.

Collaborator

non commented Oct 31, 2016

Looks like a transient Travis failure. I'm still 👍 on this.

@rickynils rickynils referenced this pull request Nov 1, 2016

Closed

Release for Scala 2.12.0 #291

@rickynils

This comment has been minimized.

Show comment
Hide comment
@rickynils

rickynils Nov 1, 2016

Owner

@mpilquist I have created a branch named 1.13.x for handling the 1.13.4 release (since master has bben bumped to 1.14). I don't know if it is possible to switch target branch for a PR in github. If not, I can merge this one manually.

Owner

rickynils commented Nov 1, 2016

@mpilquist I have created a branch named 1.13.x for handling the 1.13.4 release (since master has bben bumped to 1.14). I don't know if it is possible to switch target branch for a PR in github. If not, I can merge this one manually.

@xuwei-k

This comment has been minimized.

Show comment
Hide comment
@xuwei-k

xuwei-k Nov 1, 2016

Contributor

I don't know if it is possible to switch target branch for a PR in github

https://github.com/blog/2224-change-the-base-branch-of-a-pull-request

Contributor

xuwei-k commented Nov 1, 2016

I don't know if it is possible to switch target branch for a PR in github

https://github.com/blog/2224-change-the-base-branch-of-a-pull-request

@rickynils

This comment has been minimized.

Show comment
Hide comment
@rickynils

rickynils Nov 1, 2016

Owner

Ah, thanks @xuwei-k

Owner

rickynils commented Nov 1, 2016

Ah, thanks @xuwei-k

@mpilquist mpilquist changed the base branch from master to 1.13.x Nov 1, 2016

@rickynils rickynils merged commit 1a7a582 into rickynils:1.13.x Nov 1, 2016

@eed3si9n eed3si9n referenced this pull request Dec 22, 2016

Closed

2.12 compatibility #64

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment