These are chat archives for akkadotnet/akka.net

20th
Feb 2015
Bartosz Sypytkowski
@Horusiath
Feb 20 2015 07:04

My problem is, that I've creates an test case inside ActorRefSpec:

Shutdown();
Intercept<ActorInitializationException>(() =>
{
    var b = new BlackHoleActor();
});

It's not passing, because after shutdown ActorCell.Current still exists.

Even without Shutdown() invoked, this should throw an exception
Roger Johansson
@rogeralsing
Feb 20 2015 07:06
Ill have a look at it
Ah i know why it doesnt throw when you new up, the testkit has an explicit context going
Bartosz Sypytkowski
@Horusiath
Feb 20 2015 07:08
can I kill it somehow?
Roger Johansson
@rogeralsing
Feb 20 2015 07:08
I think you can turn that off by adding some interface to the test class, Inoimplicitsender or something like that, Håkan made that support
Search for implicit sender, that should find something i think
Bartosz Sypytkowski
@Horusiath
Feb 20 2015 07:15
ActorBase throws standard Exception instead of ActorInitializationException if ActorCell is not initialized ;)
Roger Johansson
@rogeralsing
Feb 20 2015 07:15
Oh.. Thats no good :)
Bartosz Sypytkowski
@Horusiath
Feb 20 2015 07:15
I'll fix it
Roger Johansson
@rogeralsing
Feb 20 2015 07:16
:+1:
Bartosz Sypytkowski
@Horusiath
Feb 20 2015 07:20
also my proposition: lets change ActorCell.AutoReceiveMessage and ActorCell.SystemInvoke to use standard conditionals instead of Match.With<>() expression
Roger Johansson
@rogeralsing
Feb 20 2015 07:24
Im all for that
Roger Johansson
@rogeralsing
Feb 20 2015 13:18
akkapageviews.png
@skotzko see the image I uploaded above.. those are the most viewed pages, so content should be focused on those I guess
Bartosz Sypytkowski
@Horusiath
Feb 20 2015 17:37
I see, we still have some tests failing
Roger Johansson
@rogeralsing
Feb 20 2015 17:40
yes, I talked to Aaron about it yesterday, we think that atleast the receivetimeout failure might be due to saturated threadpool, that there are so many tasks queued up that the message doesn't arrive in time
Roger Johansson
@rogeralsing
Feb 20 2015 18:25
timeoutbug.png
@Aaronontheweb se the screenshot, its the poison pill test that makes the receive timeout bug out... fails every time when those two run together
Shared mutable state <3 :)
Roger Johansson
@rogeralsing
Feb 20 2015 18:32
test test
Roger Johansson
@rogeralsing
Feb 20 2015 18:50
    private void VerifyActorTermination(ActorRef actorRef)
    {
        var watcher = CreateTestProbe();

        //watcher.Watch(actorRef);
        //watcher.ExpectTerminated(actorRef, TimeSpan.FromSeconds(20));
    }
Commenting out those two lines that is called from the poisonpill test makes receivetimeout test work
So I take it that there is something iffy in the testprobes
Aaron Stannard
@Aaronontheweb
Feb 20 2015 20:12
@rogeralsing DOH
what state are they sharing?
Roger Johansson
@rogeralsing
Feb 20 2015 20:13
no idea, but running those two together makes the receivetimeout fail
and commenting out those two lines makes it pass
Aaron Stannard
@Aaronontheweb
Feb 20 2015 20:13
wonder if it's the same thing for TailChoppingROUTER
that spec's been failing for not apparent reason
Roger Johansson
@rogeralsing
Feb 20 2015 20:14
It seems to be related to the testprobe and possibly the lestlatch together
Aaron Stannard
@Aaronontheweb
Feb 20 2015 20:14
interesting
yeah that could be it
it was the TestLatch.Ready method that kept failing
Roger Johansson
@rogeralsing
Feb 20 2015 20:15
can you verify if you see the same behavior? running those two together, or did you somehow fix receivetimeout?
Aaron Stannard
@Aaronontheweb
Feb 20 2015 20:15
my most recent PR undid those mailbox changes
which caused the .HasMessages to evaluate to true when system messages were processed
Roger Johansson
@rogeralsing
Feb 20 2015 20:17
there are also other tests that cause the receivetimeout to fail, but poisonpill test and receivetimeout seems to generate a 100% fail rate for receivetimeout on my machine.. so it seems to be deterministic atleast
Aaron Stannard
@Aaronontheweb
Feb 20 2015 20:18
doesn't fail for me using the latest PR I sent
those two tests together
the only stuff that fails consistently for me now is inside Akka.Persistence.Tests
and sometimes the InboxSpec or TailChoppingSpec
Roger Johansson
@rogeralsing
Feb 20 2015 20:20
ye it passes on my machine too now, fetched your changes
Aaron Stannard
@Aaronontheweb
Feb 20 2015 20:48
these race conditions man
making us crazy!