These are chat archives for akkadotnet/akka.net

5th
Aug 2015
jberzy
@jberzy
Aug 05 2015 01:59
@Aaronontheweb Have you tried listening on the loopback address?
i.e. can you bind to the loopback address and have the 'identifier' still be the instance ip with helios?
Kyle Gobel
@KyleGobel
Aug 05 2015 03:59
does akka.net have anything like this
expectOnce type thing
Joe Flood
@jfloodnet
Aug 05 2015 04:56
@Aaronontheweb the suspense is killing me now :)
Joe Flood
@jfloodnet
Aug 05 2015 05:35
"It is IMPORTANT to start the silo not in OnStart but in Run. Azure may not have the firewalls open yet (on the remote silos) at the OnStart phase."
jberzy
@jberzy
Aug 05 2015 05:37
@jfloodnet good info
interesting comment :
/// <summary>
/// The purpose of this class is to wrap the functionality provided
/// by Microsoft.WindowsAzure.ServiceRuntime.dll, so that we can access it via Reflection,
/// and not have a compile-time dependency on it.
/// Microsoft.WindowsAzure.ServiceRuntime.dll doesn't have an official NuGet package.
/// By loading it via Reflection we solve this problem, and do not need an assembly
/// binding redirect for it, as we can call any compatible version.
/// Microsoft.WindowsAzure.ServiceRuntime.dll hasn't changed in years, so the chance of a breaking change
/// is relatively low.
:)
jberzy
@jberzy
Aug 05 2015 06:13
yikes, I'm not soo sure I like this idea
the serviceruntimewrapper
Joe Flood
@jfloodnet
Aug 05 2015 06:13
lol
jberzy
@jberzy
Aug 05 2015 06:14
it's not like taking a direct dependency to that dll breaks anything...
but maybe I'm missing something?
Joe Flood
@jfloodnet
Aug 05 2015 06:17
i assume they don't want dependencies on things that don't have nuget packages or aren't in the core lib
but it's still a dependency isn't it
jberzy
@jberzy
Aug 05 2015 06:18
ahhhhh yes, the nuget package makes sense.
since it's part of the sdk install
Joe Flood
@jfloodnet
Aug 05 2015 06:19
yep
this way it will still compile - and if you never care for azure - then you won't need to have it installed
jberzy
@jberzy
Aug 05 2015 06:21
wouldn't it make sense to create some kind of shim for the ServiceRuntime.
?
Bartosz Sypytkowski
@Horusiath
Aug 05 2015 06:33
@aph5nt basically all F# actor functions always return state ;)
Bartosz Sypytkowski
@Horusiath
Aug 05 2015 06:53
you may just choose to return the same object, which has been send in param
Ryan Davis
@rdavisau
Aug 05 2015 07:28
hello hello, i am new to akka/fsharp/fsi/everything basically
Kamil Wojciechowski
@aph5nt
Aug 05 2015 07:28
@Horusiath if thats intended then ok, thx for getting me on a right track :smile:
Ryan Davis
@rdavisau
Aug 05 2015 07:30
i wanted to mix akka with vagabond, in fsi.. I am getting some MissingMethodExceptions in FsPickler calls inside Akka after bringing in Vagabond - I think in Akka.FSharp the dependency is on FsPickler 0.9.11, and in Vagabond the dependency is on 1.2.1, and maybe the API has changed.. am I stuck here?
Adding Vagabond updates FsPickler to 1.2.1, which is OK according to Akka.FSharp nuspec, but maybe not actually OK from an API compatability perspective. Or it could be some FSI idiosyncracy or such, does anyone have any experience here?
Bartosz Sypytkowski
@Horusiath
Aug 05 2015 07:39
@rdavisau I'm not sure, but maybe there are some API changes between FsPickler 0.9 and 1.2 versions
Ryan Davis
@rdavisau
Aug 05 2015 07:43
@Horusiath yes, that's my guess too. FsPickler is used by Akka.FSharp right? Not in the core Akka.NET
Bartosz Sypytkowski
@Horusiath
Aug 05 2015 07:43
yes
jberzy
@jberzy
Aug 05 2015 07:46
@rdavisau you can also try adding the #I directive to the vegabond packages directory...
Ryan Davis
@rdavisau
Aug 05 2015 07:46
Ok, I might take a look at whether/how the API has changed between versions and what impacts it might have. It might just be namespacing or small reorganisations that are not too hard to update
jberzy
@jberzy
Aug 05 2015 07:46
I thnk it has some dependency on mono.cecil. not sure if that has anything to do with it
Aaron Stannard
@Aaronontheweb
Aug 05 2015 07:47
@jberzy omfg I am a fucking idiot
I knew it
Ryan Davis
@rdavisau
Aug 05 2015 07:47
@jberzy yes, you're right about cecil.. so I will have a dig around and see if I can't get it up and running
Aaron Stannard
@Aaronontheweb
Aug 05 2015 07:47
I found the problem
about to deploy it to verify
jberzy
@jberzy
Aug 05 2015 07:47
@Aaronontheweb nice!!!
Aaron Stannard
@Aaronontheweb
Aug 05 2015 07:47
but 99s% sure this is it
also explains why this worked on localhost
var remoteConfig = ConfigurationFactory.ParseString(string.Format(@"akka.remote.helios.tcp.public-hostname = ""{0}""
my bootstrapper code binds the public-hostname
which is the virtual address the socket listens to
the physical address is hard coded into Web.config / App.config
I ASSUMED the physical address was 0.0.0.0
.... noooooooooooope
127.0.0.1
none of the nodes could ever accept local traffic
err, non-local traffic
socket was actually listening to the loopback interface this entire time
jberzy
@jberzy
Aug 05 2015 07:49
nice, hope that works!
Aaron Stannard
@Aaronontheweb
Aug 05 2015 07:49
forgot to change that setting after migrating this to an azure project
god I feel like an idiot lol
jberzy
@jberzy
Aug 05 2015 07:50
happens to the best of us
@rdavisau I would try adding this to the top of your fsx file #I "/path/to/monocecil"
I remember that being a problem before
not specifically with vegabond but with fsi.
Aaron Stannard
@Aaronontheweb
Aug 05 2015 07:59
woooooooooooooot
got it working!!!
jberzy
@jberzy
Aug 05 2015 07:59
since there is no bin directory when dealing with fsi you either have to include all the dependencies with #r or include search dirs with #I or sometimes it might load something from weird locations...
@Aaronontheweb Nice!
jberzy
@jberzy
Aug 05 2015 08:08
@rdavisau this might be related: nessos/FsPickler#16
Ryan Davis
@rdavisau
Aug 05 2015 08:44
@jberzy thanks! I read a little about the strange fsi reference resolution stuff and found this gist which is pretty cool - generates and loads an .fsx #r'ing your references. It looks like it uses relative paths though, which I also read might cause problems when on mono. I'll take a look at the issue you linked too!
Ryan Davis
@rdavisau
Aug 05 2015 09:31
Dumb question - how do I run the tests in Akka.FSharp.Tests?
Bartosz Sypytkowski
@Horusiath
Aug 05 2015 09:32
this project uses combo of FsCheck and XUnit
rdavisau @rdavisau googles
tstojecki
@tstojecki
Aug 05 2015 11:28
is there a list of akka.persistence plugins available?
google tells me there has been some work done on creating a service fabric persistence plugin and it looks @Horusiath did some work on sql server
is that accurate?
Bartosz Sypytkowski
@Horusiath
Aug 05 2015 11:31
@tstojecki most of the are available on nuget
I have a list of those I know about
tstojecki
@tstojecki
Aug 05 2015 11:32
ah, nice...thanks!
This message was deleted
jberzy
@jberzy
Aug 05 2015 15:52
@rdavisau If you're using VS I would recommend installing FS Power tools as they have a context menu that does something similar.
Roland Kuhn
@rkuhn
Aug 05 2015 15:57
@Aaronontheweb are you around?
Aaron Stannard
@Aaronontheweb
Aug 05 2015 15:57
yessir!
Roland Kuhn
@rkuhn
Aug 05 2015 15:58
can we have the meeting now and keep it short?
Aaron Stannard
@Aaronontheweb
Aug 05 2015 15:58
sure thing
Roland Kuhn
@rkuhn
Aug 05 2015 15:58
we’re heading out for dinner soon ;-)
(Akka team meeting in Frankfurt right now)
Weston
@ronnyek
Aug 05 2015 16:30
would it be completely inappropriate to have actors that handle tcp connections from the outside world?
Aaron Stannard
@Aaronontheweb
Aug 05 2015 16:30
@ronnyek not at all - Akka.IO (coming out in the new release this week) actually gives you the ability to do that out of the box
that's a perfectly fine thing to do
Aaron Stannard
@Aaronontheweb
Aug 05 2015 18:19
@bruinbrown how's work going on the distributed data library? I personally want to use that one :p
Bartosz Sypytkowski
@Horusiath
Aug 05 2015 18:25
I finally created a reliable test case for serializing F# DUs :)
bad news is that my hack for F# is not working :/ unfortunatelly JSON.NET is unable to parse integers inside DUs, because they are wrapped in kind of strange object
Aaron Stannard
@Aaronontheweb
Aug 05 2015 18:43
@Horusiath :(
Bartosz Sypytkowski
@Horusiath
Aug 05 2015 18:43
I've got another idea
Aaron Stannard
@Aaronontheweb
Aug 05 2015 18:43
in that case we should probably ship Akka.NET v1.0.4 without the DU fix then?
and wait until a future release?
Bartosz Sypytkowski
@Horusiath
Aug 05 2015 18:44
I don't want to hold you with this one
Aaron Stannard
@Aaronontheweb
Aug 05 2015 18:45
ok
Bartosz Sypytkowski
@Horusiath
Aug 05 2015 18:45
but maybe we should update fspickler used in akka.fsharp to the latest version
before the release
Aaron Stannard
@Aaronontheweb
Aug 05 2015 18:45
@Horusiath that's #1207 right?
Bartosz Sypytkowski
@Horusiath
Aug 05 2015 18:45
yep
Aaron Stannard
@Aaronontheweb
Aug 05 2015 18:45
could you review that one real quick?
passed the build server checks
I'm cool with shipping that
Weston
@ronnyek
Aug 05 2015 18:56
when is akka.io supposed to hit
or rather the akka with that
Bartosz Sypytkowski
@Horusiath
Aug 05 2015 18:56
@ronnyek next release (today or tomorrow)
Weston
@ronnyek
Aug 05 2015 19:01
nice... so now I can concievably also have akka act as a glorified socket servers handling connections processing client data, and have a nice exception kernel and messaging, all while being thread safe
?
Bartosz Sypytkowski
@Horusiath
Aug 05 2015 19:14
@ronnyek you can't be 100% sure for any new component in any framework. We have test suite for akka.io, but still this always needs to be battle tested. If I'm right @willieferguson (who developed Akka.IO) is using it on his own needs right now.
@Aaronontheweb I've PRed #1208 as solution on issue #1207
Bartosz Sypytkowski
@Horusiath
Aug 05 2015 19:19
also @rogeralsing the more I read about FsPickler the more I think it's a solution for the serialization problems - it's superior when compared to JSON.NET when it comes to both serializer speed and size (link) and I'm not 100% sure yet, but it has so many options that maybe it could work well with surrogates (checkout this)
Aaron Stannard
@Aaronontheweb
Aug 05 2015 19:23
@Horusiath #1207 is a PR :p
was there anything wrong with it?
Bartosz Sypytkowski
@Horusiath
Aug 05 2015 19:23
lol, didn't see that :P
I don't know yet, I need to fetch it and test
it looks ok :)
my code just doesn't preallocate memory stream
Aaron Stannard
@Aaronontheweb
Aug 05 2015 19:43
so which PR do you want to accept?
Bartosz Sypytkowski
@Horusiath
Aug 05 2015 19:45
I'm a side in that merge conflict, it's not fair :P
Aaron Stannard
@Aaronontheweb
Aug 05 2015 19:46
if there's nothing wrong with @rdavisau's PR, let's make this his first Akka.NET contribution :p
Bartosz Sypytkowski
@Horusiath
Aug 05 2015 19:46
ok
Ryan Davis
@rdavisau
Aug 05 2015 20:27
yahoo :tada:
Sean Gilliam
@sean-gilliam
Aug 05 2015 20:28
:clap:
Aaron Stannard
@Aaronontheweb
Aug 05 2015 20:28
@rdavisau :sparkles:
and a little bit of :shipit:
Ryan Davis
@rdavisau
Aug 05 2015 20:31
:shipit: for life!
I saw some conversation here earlier about Xamarin support; I haven't tried but I guess Akka probably works on iOS/Android under the full profiles.
But any view on PCL/WinRT/the new UWP? I guess those would be pretty significant changes
Aaron Stannard
@Aaronontheweb
Aug 05 2015 20:33
@rdavisau so we use a ton of reflection inside Akka.NET core
most of Akka.NET's extensibility comes from being able to specify inside the HOCON configuration the Fully Qualified Name of some external type that implements an IActorRefProvider, Transport, Serializer, etc...
Ryan Davis
@rdavisau
Aug 05 2015 20:34
Yeah
Aaron Stannard
@Aaronontheweb
Aug 05 2015 20:34
all of that reflection stuff is forbidden on WinRT
I don't know about the latest with Windows 10
so what we'd probably need to do to support all of those "thin client" profiles
is have a stripped down version of Akka.NET that, by design, doesn't make itself extensible
in those ways
so it can be wrapped into a PCL
and honestly, you don't want an iPhone inside an Akka.Remote association or an Akka.Cluster
and although you might want an iPhone app to use Akka.Persistence backed by SQLlite or something :p
Ryan Davis
@rdavisau
Aug 05 2015 20:37
Haha
Aaron Stannard
@Aaronontheweb
Aug 05 2015 20:37
a mobile profile for Akka.NET would probably support all of the core actor stuff, Akka.IO (client only), Akka.HTTP (client only)
and honestly, it would be bad ass if we could do Akka.Persistence for the embedded databases :p
but that probably also requires reflection :p
so there's a way of doing it I think, and I personally would use it!
but it'd require giving up a bunch of stuff that people use for server-side Akka.NET applications
Ryan Davis
@rdavisau
Aug 05 2015 20:39
Yeah I see
Aaron Stannard
@Aaronontheweb
Aug 05 2015 20:39
that's a project I'd like to see someone do though
Ryan Davis
@rdavisau
Aug 05 2015 20:39
Hum, it's like I don't want to exclude windows phone and friends, but every time including them makes life a lot harder
Aaron Stannard
@Aaronontheweb
Aug 05 2015 20:40
don't forget WinJS support!
:p
rdavisau @rdavisau jumps
Andrew Skotzko
@skotzko
Aug 05 2015 20:40
@/all community virtual meetup will be in one week (August 12)! RSVP here: https://plus.google.com/b/102500449679363367469/events/ci51e4led8lc7k36ucfdh1mtna4
Aaron Stannard
@Aaronontheweb
Aug 05 2015 20:42
@rdavisau I think you should go for it on Xamarin first
Ryan Davis
@rdavisau
Aug 05 2015 20:43
On WinRT/reflection, I'm fairly confident you do basic reflecting over types etc. but not Reflection.Emit style work or any kind of codegen. Not sure whether Akka's use of reflection falls into the former or the latter
Aaron Stannard
@Aaronontheweb
Aug 05 2015 20:43
show that it can be done
you might learn a bunch of stuff that we can do to make it easier
@rdavisau we do stuff like dynamic assembly loading
err, dynamic type loading
Ryan Davis
@rdavisau
Aug 05 2015 20:44
yeah I'll definitely have a play
Aaron Stannard
@Aaronontheweb
Aug 05 2015 20:44
and Activator.CreateInstance
and we use the Expression compiler inside the ReceiveActor
99% all three of those are off limits for Windows Phone
99% sure* rather
Ryan Davis
@rdavisau
Aug 05 2015 20:45
I think that's OK provided the .dlls are there at compile/build time
I assume (for example) JSON.NET has to do something like Activator.CreateInstance to when you Deserialize <T> something
I may be talking rubbish though
Aaron Stannard
@Aaronontheweb
Aug 05 2015 21:00
yeah, could be
might not be as bad as I expect
Ryan Davis
@rdavisau
Aug 05 2015 21:03
I'll have a fiddle at some stage, starting with plain Xamarin as you suggested, and see where I can get to :+1:
Aaron Stannard
@Aaronontheweb
Aug 05 2015 21:19
that's awesome @rdavisau - thanks for being a leader there!
Suhas Chatekar
@schatekar
Aug 05 2015 21:20
are all multinode tests failing at the moment? they fail for me when run locally
Is this my local problem?
Aaron Stannard
@Aaronontheweb
Aug 05 2015 21:20
@schatekar we have some occasional test failures on the build server
but otherwise they pass most of the time
what sort of errors are you getting right now?
we haven't been able to get the MultiNode test runner to work on Mono at all though, due to some issues with how Mono binds sockets differently than Windows. @stefansedich can tell you more about that
and some issues with XUnit2 and Mono 4
Suhas Chatekar
@schatekar
Aug 05 2015 21:22
I am not running on mono
I am seeing this in output [RUNNER][20:54]: FINAL RESULT: FAIL after 00:00:31.3017904.
almost for every test
Aaron Stannard
@Aaronontheweb
Aug 05 2015 21:23
ah, is anything else being logged on screen
does it look like the tests are running AT ALL, in other words?
Suhas Chatekar
@schatekar
Aug 05 2015 21:23
here is a detailed output for one of the specs
[RUNNER][20:54]: Results for Akka.MultiNodeTests.ClusterDeathWatchMultiNode.ClusterDeathWatchSpecTests [RUNNER][20:54]: Start time: 05/08/2015 20:54:00 [RUNNER][20:54]: --> Node 1: FAIL [00:00:31.2987902 elapsed] [RUNNER][20:54]: --> Node 2: FAIL [00:00:31.2987902 elapsed] [RUNNER][20:54]: --> Node 3: FAIL [00:00:31.2997902 elapsed] [RUNNER][20:54]: --> Node 4: FAIL [00:00:31.2987902 elapsed] [RUNNER][20:54]: --> Node 5: FAIL [00:00:31.2987902 elapsed] [RUNNER][20:54]: End time: 05/08/2015 20:54:31 [RUNNER][20:54]: FINAL RESULT: FAIL after 00:00:31.3017904. [RUNNER][20:54]: Failure messages by Node [RUNNER][20:54]: <----------- BEGIN NODE 1 -----------> [RUNNER][20:54]: [received no messages - SILENT FAILURE]. [RUNNER][20:54]: <----------- END NODE 1 -----------> [RUNNER][20:54]: <----------- BEGIN NODE 2 -----------> [RUNNER][20:54]: [received no messages - SILENT FAILURE]. [RUNNER][20:54]: <----------- END NODE 2 -----------> [RUNNER][20:54]: <----------- BEGIN NODE 3 -----------> [RUNNER][20:54]: [received no messages - SILENT FAILURE]. [RUNNER][20:54]: <----------- END NODE 3 -----------> [RUNNER][20:54]: <----------- BEGIN NODE 4 -----------> [RUNNER][20:54]: [received no messages - SILENT FAILURE]. [RUNNER][20:54]: <----------- END NODE 4 -----------> [RUNNER][20:54]: <----------- BEGIN NODE 5 -----------> [RUNNER][20:54]: [received no messages - SILENT FAILURE]. [RUNNER][20:54]: <----------- END NODE 5 ----------->
Aaron Stannard
@Aaronontheweb
Aug 05 2015 21:23
I've had an issue on one of my feature branches where I'm refactoring how our MultiNodeTests are structured (so we can break them up into separate assemblies more easily) and ran into that
@schatekar ah, ok, that's exactly what I saw in my test too
on my new branch
Suhas Chatekar
@schatekar
Aug 05 2015 21:24
how did you fix it?
Aaron Stannard
@Aaronontheweb
Aug 05 2015 21:24
so what that means is that the individual NodeTestRunner (the process launched by the MultiNodeTestRunner) wasn't able to find any tests
it's interesting that you ran into it on the current dev branch though
that's a first - wonder why that is
I haven't entirely solved it yet, but I know what the problem is
the working directory has to contain ALL of the xunit2 binaries
Suhas Chatekar
@schatekar
Aug 05 2015 21:25
not quite sure because somewhere in the log I see this as well
Aaron Stannard
@Aaronontheweb
Aug 05 2015 21:25
that the test runner needs to run its tests
Suhas Chatekar
@schatekar
Aug 05 2015 21:26
[RUNNER][20:54]: Results for Akka.MultiNodeTests.ClusterDeathWatchMultiNode.ClusterDeathWatchSpecTests
[RUNNER][20:54]: Start time: 05/08/2015 20:54:00
[RUNNER][20:54]:  --> Node 1: FAIL [00:00:31.2987902 elapsed]
[RUNNER][20:54]:  --> Node 2: FAIL [00:00:31.2987902 elapsed]
[RUNNER][20:54]:  --> Node 3: FAIL [00:00:31.2997902 elapsed]
[RUNNER][20:54]:  --> Node 4: FAIL [00:00:31.2987902 elapsed]
[RUNNER][20:54]:  --> Node 5: FAIL [00:00:31.2987902 elapsed]
[RUNNER][20:54]: End time: 05/08/2015 20:54:31
[RUNNER][20:54]: FINAL RESULT: FAIL after 00:00:31.3017904.
[RUNNER][20:54]: Failure messages by Node
[RUNNER][20:54]: <----------- BEGIN NODE 1 ----------->
[RUNNER][20:54]: [received no messages - SILENT FAILURE].
[RUNNER][20:54]: <----------- END NODE 1 ----------->
[RUNNER][20:54]: <----------- BEGIN NODE 2 ----------->
[RUNNER][20:54]: [received no messages - SILENT FAILURE].
[RUNNER][20:54]: <----------- END NODE 2 ----------->
[RUNNER][20:54]: <----------- BEGIN NODE 3 ----------->
[RUNNER][20:54]: [received no messages - SILENT FAILURE].
[RUNNER][20:54]: <----------- END NODE 3 ----------->
[RUNNER][20:54]: <----------- BEGIN NODE 4 ----------->
[RUNNER][20:54]: [received no messages - SILENT FAILURE].
[RUNNER][20:54]: <----------- END NODE 4 ----------->
[RUNNER][20:54]: <----------- BEGIN NODE 5 ----------->
[RUNNER][20:54]: [received no messages - SILENT FAILURE].
[RUNNER][20:54]: <----------- END NODE 5 ----------->
Aaron Stannard
@Aaronontheweb
Aug 05 2015 21:26
yep, that's it alright
XUnit isn't discovering any specs for the node test runner
it's a fun "working directory" mismatch issue
where it's looking for a DLL that's actually part of the test runner inside the same directory as the tests
Suhas Chatekar
@schatekar
Aug 05 2015 21:27

sorry, pasted wrong thing

```
[RUNNER][20:53]: <----------- BEGIN NODE 2 ----------->
[WARNING][05/08/2015 20:53:08][Thread 0007][LocalActorRefProvider(akka://TestRunnerLogging)] akka://TestRunnerLogging/temp trying to remove non-child U
[RUNNER][20:53]: [received no messages - SILENT FAILURE].
[WARNING][05/08/2015 20:53:08][Thread 0013][LocalActorRefProvider(akka://TestRunnerLogging)] akka://TestRunnerLogging/temp trying to remove non-child V
[RUNNER][20:53]: <----------- END NODE 2 ----------->
[WARNING][05/08/2015 20:53:08][Thread 0013][LocalActorRefProvider(akka://TestRunnerLogging)] akka://TestRunnerLogging/temp trying to remove non-child Z
[WARNING][05/08/2015 20:53:08][Thread 0013][LocalActorRefProvider(akka://TestRunnerLogging)] akka://TestRunnerLogging/temp trying to remove non-child 0
[WARNING][05/08/2015 20:53:08][Thread 0006][LocalActorRefProvider(akka://TestRunnerLogging)] akka://TestRunnerLogging/temp trying to remove non-child 1
[RUNNER][05/08/2015 20:53:08][INFO][Akka.MultiNodeTestRunner.Shared]: Started node 1 on pid 14916
[RUNNER][05/08/2015 20:53:09][INFO][Akka.MultiNodeTestRunner.Shared]: Started node 2 on pid 14928
[RUNNER][05/08/2015 20:53:09][INFO][Akka.MultiNodeTestRunner.Shared]: Started node 3 on pid 14960
[RUNNER][05/08/2015 20:53:09][INFO][Akka.MultiNodeTestRunner.Shared]: Started node 4 on pid 12328
[RUNNER][05/08/2015 20:53:31][INFO][Akka.MultiNodeTestRunner.Shared]: Waiting 3 seconds for all messages from all processes to be collected.
Writing test state to: E:\Source\akka.net\src\core\Akka.MultiNodeTests\bin\Debug\Akka.MultiNodeTests-635744047104131573.json
[RUNNER][20:53]: Spec completed.

Aaron Stannard
@Aaronontheweb
Aug 05 2015 21:28
so the way to fix it is to make sure that ALL of your tests run inside the same bin folder as the MulitNodeTestRunner.exe and the NodeTestRunner.exe
this message: [WARNING][05/08/2015 20:53:08][Thread 0006][LocalActorRefProvider(akka://TestRunnerLogging)] akka://TestRunnerLogging/temp trying to remove non-child 1
is part of the internal logging infrastructure of the multi-node test runner
Suhas Chatekar
@schatekar
Aug 05 2015 21:28
ok
Aaron Stannard
@Aaronontheweb
Aug 05 2015 21:29
so this is an issue of having all of the binaries in the right directory
Suhas Chatekar
@schatekar
Aug 05 2015 21:29
so you are saying that I should get MultiNodeTestRunner.exe, NodeTestRunner.exe and the test assembly all in one folder and run the tests?
Aaron Stannard
@Aaronontheweb
Aug 05 2015 21:29
or changing the NodeTestRunner to guarantee that it uses shadow copy
@schatekar yeah, that's the workaround for now
but, that's what it should already be doing in the dev branch
Suhas Chatekar
@schatekar
Aug 05 2015 21:30
let me check which branch I am on ;)
Aaron Stannard
@Aaronontheweb
Aug 05 2015 21:30
in my new branch I'm changing that so I can run the tests from anywhere but I don't have it working just yet
Suhas Chatekar
@schatekar
Aug 05 2015 21:30
I am on dev
let me try putting everything in the same folder
Aaron Stannard
@Aaronontheweb
Aug 05 2015 21:31
kk
@schatekar BTW, this is what it's like doing C++ programming for a living :p
"which folder is that DLL in?!!!!?"
Suhas Chatekar
@schatekar
Aug 05 2015 21:34
Everything is already copied into bin\debug of multinodetestrunner.exe
so running it from there now
I do see some passing tests now :sparkles:
Aaron Stannard
@Aaronontheweb
Aug 05 2015 21:35
TAKE THAT, DLLS!
Suhas Chatekar
@schatekar
Aug 05 2015 21:36
How are you fixing this?
Aaron Stannard
@Aaronontheweb
Aug 05 2015 21:36
@schatekar you know what I just realized? we can modify the AppDomain inside the NodeTestRunner to do a binding redirect
and always bind to the XUnit2 dlls inside its folder
that way if we want to run tests that are in a different directory
it should just work
dude, I think you just gave me the answer to solve this problem
because this is a big user experience problem for contributors right now
Suhas Chatekar
@schatekar
Aug 05 2015 21:39
I did not realise that I did
:)
next step for me is to debug a test and see how it works
how do I debug?
Aaron Stannard
@Aaronontheweb
Aug 05 2015 21:39
you should be able to launch the MultiNodeTestRunner project directly from visual studio
makes it possible to debug all of the child processes launched by the multi-node test runner
Suhas Chatekar
@schatekar
Aug 05 2015 21:40
right
Aaron Stannard
@Aaronontheweb
Aug 05 2015 21:40
... I should really include that in the documentation.
going to do that right now
Suhas Chatekar
@schatekar
Aug 05 2015 21:42
:+1:
Roger Johansson
@rogeralsing
Aug 05 2015 21:47
@Aaronontheweb doesnt PCL support reflection!? how can they possibly support things like json.net if not?
Aaron Stannard
@Aaronontheweb
Aug 05 2015 21:47
@rogeralsing a PCL's capabilities are determined by the lowest common denomination of the libraries they support
if you have three libraries that support Reflection.Emit and one that does not, Reflection.Emit can't be supported by the PCL
so it totally depends on what platforms they target
err, my bad - I meant "platforms"
not libraries
i.e. .NET 4.0, .NET 4.5, WinRT, Silverlight-based Windows Phone 8
the client platforms have a lot of sandboxing built into them
designed to prevent developers from doing things like being able to dynamically modify the app after it gets approved by the app store to do something malicious
so they put restrictions on APIs that could potentially allow developers to do that - reflection being one of them
Anthony Brown
@bruinbrown
Aug 05 2015 21:52
@Aaronontheweb I've mostly been working on the CRDTs at the minute and understanding the paper. Somebody was asking for an example of some CRDTs so I've put some up on GitHub for the moment https://github.com/bruinbrown/Eventual I might have to port them to C# though since @willieferguson had already done some of the replicator in C#
Suhas Chatekar
@schatekar
Aug 05 2015 21:53
I was the one asking for example and would love to see C# examples. "struggle" would not even describe my situation trying to understand F# code ;)
Aaron Stannard
@Aaronontheweb
Aug 05 2015 21:56
@bruinbrown that's awesome man - I would love to see you and @willieferguson team up on that
Anthony Brown
@bruinbrown
Aug 05 2015 21:58
@Aaronontheweb I've got a nearly done version of the older akka replicated data in F# but then I realised it had been deprecated
Aaron Stannard
@Aaronontheweb
Aug 05 2015 22:00
@rogeralsing akkadotnet/getakka.net#105 - just added a ton of stuff for Akka.Remote on the docs: remote messaging, deployment, deathwatch, and network security
Sean Gilliam
@sean-gilliam
Aug 05 2015 22:02
@schatekar yea F# takes a while to wrap your head around, but it's definitely worth learning to gain a different programming perspective.
of course if i tried to introduce around here at work in our main products, i'd probably be hung from the rafters and lit on fire.
jberzy
@jberzy
Aug 05 2015 22:10
@Aaronontheweb you can also do the bait and switch for PCLs so you're not necessary limited with API surface area.
It's a hack though
Ryan Davis
@rdavisau
Aug 05 2015 22:40
^ it's definitely a hack, pretty widely used particularly in the Xamarin ecosystem - basically all of these rely on the technique
I have sockets-for-pcl on there, need to work out how/whether all the new UWP, .NET core etx etc
affects it