[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [sc-users] 'Host not found' after OS upgrade



and that immediately brought back the startup derailment ;-) 


On 27/12/2013, at 19:50 , adc <alberto.decampo@xxxxxxxxx> wrote:

just tested building with that, no luck: 

NetAddr.localAddr.isLocal; // -> NetAddr

best, adc


On 27/12/2013, at 16:32 , Scott Wilson <i@xxxxxxxxxxxxxx> wrote:

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 15:15, Scott Wilson <i@xxxxxxxxxxxxxx> wrote:


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/