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

Problems with Strand.park (minimal example) (jdk1.8.0_121, quasar-0.7.7) #255

Closed
fab1an opened this issue Mar 18, 2017 · 6 comments
Closed
Assignees
Labels

Comments

@fab1an
Copy link

fab1an commented Mar 18, 2017

The following minimal snippet produces the uninstrumented warning at Strand.park:

public static void main(String[] args) throws InterruptedException, ExecutionException, TimeoutException {
    
    new Fiber<>(() -> Channels.newIntChannel(1).receive())
       .start()
       .join(1, TimeUnit.SECONDS);
}
@fab1an fab1an changed the title Problems with Strand.park (minimal example) Problems with Strand.park (minimal example) (jdk1.8.0_121, quasar-0.7.7) Mar 18, 2017
@fab1an
Copy link
Author

fab1an commented Mar 20, 2017

Okay, this just came up with 0.7.7, when using 0.7.6 there is no warning.

@pron
Copy link
Contributor

pron commented Mar 21, 2017

0.7.7 introduced some problems in verifyInstrumentation that were hopefully addressed in 0.7.8. Can you try 0.7.8-SNAPSHOT?

@jasons2000
Copy link

jasons2000 commented Mar 21, 2017 via email

@fab1an
Copy link
Author

fab1an commented Mar 21, 2017

I tried 0.7.8-SNAPSHOT two days ago. It still gives the error, but on another line.

@circlespainter
Copy link
Member

The problem seems to be here, the call site is IntChannel::receive (as in the bytecode) while the callee according to ExtendedStackTraceElement (hotspot-optimized) is QueueChannel::receive. Neither is assignable to the other one but the receive method is declared in the common ancestor ReceivePort.

A fix should probably check that the relevant method (.receive()Ljava/lang/Object; in this case) is declared in a common ancestor.

@circlespainter circlespainter mentioned this issue Apr 3, 2017
@jan-zajic
Copy link

We have also many false positive warnings in 0.7.7, so we downgraded to 0.7.6. I try current 0.7.8 today and it's same, still totally useless for us, we can't find real problems in tons of false alarms.

@pron pron closed this as completed in a3a3702 Apr 12, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

5 participants