| Can you also check if there's anything posted to the console when you get the Host not found business?
S.
and that immediately brought back the startup derailment ;-)
just tested building with that, no luck:
NetAddr.localAddr.isLocal; // -> NetAddr best, adc
Can you try changing line 877 in OSCData.cpp (in the matchIP primitive) to
boost::asio::ip::udp::resolver::query query(boost::asio::ip::host_name(),"",boost::asio::ip::resolver_query_base::numeric_service);
Let me know if that sorts it.
S.
On 27 Dec 2013, at 13:44, adc <alberto.decampo@xxxxxxxxx> wrote:
hi scott :-)
it seems two things mix here - calls to NetAddr:isLocal (actually matchLangIP) being broken, and depending on the semi-random order of initClassTree, the Startup sequence sometimes tripping over that, leaving SC in mostly unusable state.
Reproducer for NetAddr:isLocal is trivial: // both of these returns the class NetAddr, not a boolean: Server.local.addr.isLocal; Server.internal.addr.isLocal;
The first returns true for me, the second false as it's 0.0.0.0, but I thought the internal server is dead anyway, or?
Reproducer for the long error resolve: Host not found (authoritative) ERROR: Non Boolean in test.
The Boolean test is a symptom of the unresolved host. I think I can solve that, but what is it that needs to be inited before isLocal is called? The fact that you get this even with your modification suggests a problem elsewhere, maybe in _GetHostByName
S.
is trickier: it depends on the the semi-random order in which Class.initClassTree inits classes. Sometimes it hangs there directly when starting SC 3.7.0a, sometimes after 5-10 recompiles while working on classes or help files, after installing more quarks, but I have no simple reproducer.
To track down where in the sequence it happens, I've added a post to initClassTree to see the actual order; and that order does seem to change when you change classes, install quarks etc.
*initClassTree { arg aClass; var implementsInitClass; // sometimes you need a class to be inited before another class // start the process: Class.initClassTree(Object) if(classesInited.isNil, { classesInited = IdentitySet.new }); if(classesInited.includes(aClass).not, { if(aClass.isMetaClass.not and: { aClass.class.findMethod(\initClass).notNil }, { ("-----> initClassTree: " + aClass + "...?").postln; aClass.initClass; ("-----> initClassTree: " + aClass + "OK.").postln; });
classesInited.add(aClass); if(aClass.subclasses.notNil,{ aClass.subclasses.do({ arg class; this.initClassTree(class); }); }); }); }
thanks for taking that up!
best, adc
On 27/12/2013, at 12:37 , Scott Wilson <i@xxxxxxxxxxxxxx> wrote:
I have an idea about this, but I don't see it myself. Can either of you suggest a reproducer?
S.
On 26 Dec 2013, at 21:47, adc <alberto.decampo@xxxxxxxxx> wrote:
Hi,
I am seeing this on OSX 10.8.5 as well, so it is not linux specific. Logging out and logging back in seems to help, but it keeps coming back after several recompiles.
I tried overwriting the NetAddr:isLocal like this:
*matchLangIP { |ipstring| ^ipstring == "127.0.0.1"; }
// *matchLangIP {|ipstring| // _MatchLangIP // }
but strangely, I still get the same error.
best, adc
On 26/12/2013, at 19:32 , Phil Thomson <supercollider@xxxxxxxxxxxxxx> wrote:
On Wed, 25 Dec 2013 08:45:45 +0800 James Harkins <jamshark70@xxxxxxxxx> wrote:
On Dec 25, 2013 4:12 AM, "Phil Thomson" <supercollider@xxxxxxxxxxxxxx> wrote:
compile done resolve: Host not found (authoritative) ERROR: Non Boolean in test. RECEIVER: class NetAddr (0x39fe700) {
I don't know the solution, but I think this is what's happening.
The test that's failing is here, in Server:
newScopeBufferAllocators { if (isLocal)
The isLocal variable gets set in Server's init method: "isLocal = inProcess || { addr.isLocal };" which leads to NetAddr:
isLocal { ^this.class.matchLangIP(this.ip) }
*matchLangIP {|ipstring| _MatchLangIP }
This primitive should return a boolean or throw a descriptive error, but instead, under this rare case, it simply returns the class itself, which is how NetAddr got into the "if" test.
If the SC code were fixed, though, you'd still have the "Host not found" problem, which depends on something in the OS. I'm afraid I haven't much time to look into that today, but I'm quite sure you'll have other problems with SC (maybe with networking in general) without dealing with this issue (and I don't believe it's an SC configuration problem).
hjh
Not sure what my next step is. Should I contact the CCRMA folks? Is this an OS bug?
_______________________________________________ sc-users mailing list
info (subscription, etc.): http://www.beast.bham.ac.uk/research/sc_mailing_lists.shtml archive: https://listarc.bham.ac.uk/marchives/sc-users/ search: https://listarc.bham.ac.uk/lists/sc-users/search/
_______________________________________________ sc-users mailing list
info (subscription, etc.): http://www.beast.bham.ac.uk/research/sc_mailing_lists.shtml archive: https://listarc.bham.ac.uk/marchives/sc-users/ search: https://listarc.bham.ac.uk/lists/sc-users/search/
_______________________________________________ sc-users mailing list
info (subscription, etc.): http://www.beast.bham.ac.uk/research/sc_mailing_lists.shtml archive: https://listarc.bham.ac.uk/marchives/sc-users/ search: https://listarc.bham.ac.uk/lists/sc-users/search/
_______________________________________________ sc-users mailing list
info (subscription, etc.): http://www.beast.bham.ac.uk/research/sc_mailing_lists.shtml archive: https://listarc.bham.ac.uk/marchives/sc-users/ search: https://listarc.bham.ac.uk/lists/sc-users/search/
_______________________________________________ sc-users mailing list
info (subscription, etc.): http://www.beast.bham.ac.uk/research/sc_mailing_lists.shtml archive: https://listarc.bham.ac.uk/marchives/sc-users/ search: https://listarc.bham.ac.uk/lists/sc-users/search/
|